Yes this really works!
I absolutely love how easy it is to dye wool yarn with food color.
All you need is a skein of wool yarn, vinegar, food color of choice, and a pot.
I fill the pot most way with water, then add about a cup of vinegar. Then the dye I want this time I used two different colors to get a pretty purple.
Give it a swish so all the dye and water mixes up, and then add your yarn. I only wanted half of my yarn dyed purple, and to leave the other side natural. If you want the whole skein one color, put that whole sucker in there! You could also drape the yarn into two pots of two different colors. Totally up to you!
Boil until the water comes clear, I use a white spoon to see.
I like to pull it up every now and then to see the color. But you don't have to.
(As you can see no dye bleeding off)
Once the water goes clear I let it sit for a few minutes to cool so I don't burn myself. Then I pull it out and give it a cold water rinse. A tiny bit of dye will run off, but really you shouldn't see much dye rinsing off. Once I rinse it off, I give the entire skein a cold water soapy soak. I use Dawn dish soap normally. Nothing special. After a nice soak I let it dry!
There you go, this is completely wash-able. I always hand wash when its a hand-spun 100% wool yarn, but Im sure you could machine wash it... I just wouldn't, hate felting! I've never had any trouble with color bleeding, and I use this method to dye very often.