In this post I’ll show you how to dye yarn with food coloring.
Food coloring is great for dyeing yarn. It’s inexpensive, accessible and allows you to use existing pots and utensils since it’s food-safe.
What’s more, the whole yarn dyeing process is incredibly easy and fun!
Below you’ll find a step-by-step photo tutorial, helpful tips and tricks, and a short tutorial video. Let’s get started!
Dye Yarn with Food Coloring Video
Watch the whole yarn dyeing process in the video above.
Materials to Dye Yarn


Most of the materials you’ll need for dyeing yarn are regular household objects. To dye yarn with food colouring, you’ll need:
- pot
- food colouring
- white vinegar
- un-dyed or white/cream yarn made of animal fibre (ie. wool, alpaca)
- large bowl
- detergent
- gloves (optional)
- coated wire (optional)
Where Do You Buy Un-Dyed Yarn?
My favourite place to buy un-dyed yarns is the online retailer Knit Picks. They have a huge selection of un-dyed yarns at great prices, from sock weight to bulky weight, from wool to alpaca, nylon, cotton and more.
Preparing the Yarn
First, the yarn must be rolled into a hank. This helps the food colouring penetrate the yarn evenly.
1. Soak the hank or hanks into a bowl of room temperature water for at least 30 minutes
2. Fill a pot with enough water to cover the hanks you will dye

3. To the pot, add one tablespoon of vinegar for every cup of water. For example, if you have 4.5 cups of water in the pot, then add 4.5 tablespoons of white vinegar.
4. Add the food coloring to the pot. You can add as much or little as you like. The strength of color for each food colouring brand varies, so you’ll need to experiment. I used about 20 drops of food colouring for my hank of yarn.
You can also mix different food colorings together to create your own unique colors!
5. Bring the pot to a boil and then lower the temperature to a gentle simmer. Remove the hank of yarn from its soaking bowl. Squeeze out excess water and drop the hank into the pot.
6. Allow the hank to gently simmer in the pot for 15-20 minutes or until the water is clear. This indicates that the yarn has soaked up all the food colouring. Stir occasionally to prevent the hank from sticking to the bottom of the pot.
At any time, you can add more food coloring for a darker ore more saturated shade.

7. Take the pot off the heat and allow the water to gradually cool to room temperature.
8. Gently rinse the yarn with detergent until the water runs clear.
9. Gently squeeze the water from the hank and hang to dry.

9. Once dried, the yarn is ready to be rolled into a ball and used for knitting!

When I did color test strips on cotton, it worked fine. When I put the wool yarn in, all the color soaked in immediately leaving it very unevenly colored. I wanted a very light pink. Can’t figure out what I did wrong.
You can try to put the wool into the pot before it boils and then heat up the pot gradually while stirring the yarn gently. This will allow the yarn to gradually soak up the dye, making it more even.