How to Change Colors in Crochet
Changing colors is one of the most satisfying techniques in crochet. Whether you're making stripes, color blocks, or amigurumi with different sections, a clean color change makes all the difference.
The trick is to introduce the new color on the last pull-through of the stitch before you want the new color to appear. This sounds backwards, but it's what gives you a crisp, clean line.
How to change colors in single crochet
Work your single crochet stitches in the first color as normal until you reach the stitch where you want the color to change. On the last single crochet before the change, insert your hook and pull up a loop — you'll have two loops on your hook, both in the old color.

Now, instead of yarning over with the old color, drop it and yarn over with the new color. Pull the new color through both loops.

The new color is now on your hook and ready to go. Continue stitching with the new color. The change should look clean and sharp from the front.

If you're carrying the old color along (for stripes), just leave it hanging and pick it up again when needed. If you're done with a color, cut the yarn leaving a 6-inch tail and weave it in later.
Tip: For the cleanest results, always change on the last pull-through. This works the same way for double crochet, half double crochet, and other stitches.