Skip to content

How to dye yarn with food colouring

Have you heard? The Tour de Fleece started on Saturday! It’s a world-wide spinning event and there are contests, teams, and prizes! The group is here on Ravelry and I’m a part of Team Rookies and Team Canada.

On the first day of the TDF, I finished spinning some white fibre and then I dyed it. A popular method for dying yarn is using Kool-Aid, which I saw on Pinterest and had planned to do. Planned, that is, until I discovered that Kool-Aid only comes in a half-dozen flavours (aka colours) in Canada. To get the really awesome colours, you have to go to the USA. So in order to use what I had around the house, I dyed my yarn with food colouring, and I thought I’d share how I did it. (I’m not the first one to come up with this and this certainly isn’t the only way of doing it).

Warnings before we begin:
-This will only work on animal fibres. Not plant fibres (like cotton) and not acrylic. They won’t “take” the dye and it will just wash out.
-If you don’t want rainbow hands and countertops, cover them. Use gloves. I didn’t. My hands are still kind of blue.

For the sake of this tutorial (and the TDF), I’m dyeing a handspun mini skein that is pure wool.

In order for the dye to actually set, you will need to use an acid. We’ll be using vinegar. I mixed 1 cup of water to a 1/4 cup vinegar and put it in a container just big enough for my yarn. If you want to dye more yarn than this, just increase the quantity of each. Submerge your yarn into the vinegar/ water and let it sit for about an hour.

Next, to prepare the dye, re-use the vinegar/ water solution. You can use all of it to make one colour or split it to make several. I split mine into three colours (but only ended up using two). I used liquid food colouring (about 15 drops) for my blue colour and gel colour (about 1/8 tsp) for my yellow colour. Both the liquid and the gel colours worked fine, but mixing them did not. (The other colour I made was a purple, using liquid blue and gel red. The red wouldn’t mix in after adding the blue colour).

Untie your skein and lay it out. I laid mine out in a big tupperware but you could also use a sheet of plastic wrap for a larger skein.

Spoon the dye onto the skein, alternating colours as you wish. Keep in mind that the colours will likely mix unless you use very little dye (hence my mostly green skein).

When you’re done, you need to heat your yarn to set your dye. Often people use a stovetop or microwave for this, but since it’s summer and beautifully sunny, place your yarn in a container and cover it with plastic wrap. Set this out in the sun for about 4-6 hours, or until the yarn has absorbed all of the dye and no colour comes out when you squeeze it.

Bring your yarn inside and rinse it with water until it no longer smells like vinegar (if it has been out in the sun for long enough, no colour should run out). Hang it to dry with a weight on the bottom. Once it’s dry, you can re-skein it and knit with it!

You can find my yarn on Ravelry here. Happy Monday!

(I’ll be linking this post with Nicole’s KCCO and Ginny’s Knit-Along this week.)


  1. Thanks for this! I bought some white lumpy bumpy yarn a year ago at a fiber fest, wanting to dye it, but afraid to mess it up… this doesn’t look too scarey!!

Leave a Reply

Your email address will not be published. Required fields are marked *