How to Dye Yarn with Onions and Tea

Since I started knitting, I’ve been awestruck by the multitude of shades that can be achieved at home. Carrot tops, avocado peels and pomegranate seeds are all next on my list, but for my first experiment, I choose simple onion skins and tea. Both ingredients are kitchen waste and in abundance in our household. Read on to find out how my first hand dyeing experiment turned out! Or check out my Youtube video below to follow the whole process.

There is also a fab course by A Verb for Keeping Warm on Creative Bug about natural dyeing. You can sign-up for a free trial to watch it here!

Don’t forget to subscribe for more knitting chat!

Why Onions + Tea?

The beauty of dyeing with both onions and tea is that they are full of natural tannins. These tannins ensure that my yarn should not require a mordant to achieve a colour with is rich and fairly long lasting. A mordant is a substance which acts as a fixative for dyes – a commonly used one is alum. Due to onions and tea not requiring a mordant, this is an easy and low commitment way to try natural dyes.

These dyes are also fantastic because they produce a stunning brown hue that looks earthy and unique each time. My first round of dyeing was only using onions skins, but I followed up with a bath of tea to deepen the orange/brown hue. More about the process below!

Tools & Notions

  • Plain white or undyed yarn (I used 2 skeins of Drops Flora)
  • A large bag of onion skins (Approximately 10 onions worth, but if you want a more intense shade I recommend more)
  • 10 black tea bags
  • A large pasta/cooking pot (you can use a normal cooking pot for this dye as it is completely natural and food-based)
  • Tongs (or another utensil with which you can manipulate the yarn gently)
  • Somewhere to dry your yarn
Yarn naturally dyed with onion skins and tea
The finished colour after two dye baths: onion skins + tea


  1. Pre-soak your plain yarn in a room temperature water bath for approximately one hour. Pre-soaking yarn allows the fibres to more uniformly accept the dye.
  2. While your yarn is pre-soaking, prepare a pot for your onion skins or tea bags. Fill the pot up with water to a point that you think will cover the yarn (you can add more later). I did two baths to achieve the colour I wanted: the first with onion skins and the second with the tea.
  3. Add your dye material and bring to the boil. Once boiling, continue to simmer for one to two hours (or until your water looks sufficiently dark).
  4. When you are happy with the shade of your dye bath, reduce the heat and allow it to cool. This will ensure that your yarn will not be ‘shocked’ by a sudden temperature change.
  5. Add your soaked yarn to the now cooled dye bath. Ensure that it is completely submerged, but try not to irritate the yarn too much as this can cause felting.
  6. Allow the yarn to simmer in the dye for approximately one hour (longer for a deeper colour). After this the water will appear clearer as the yarn will have absorbed some of the dye.
  7. Rinse the yarn in room temperature water to remove excess dye – remember not to ‘shock’ the yarn.
  8. Hang to until dry.
  9. (Optional) Repeat the process if you desire a deeper colour. As previously mentioned, I achieved my colour by dyeing my yarn twice: the first time with onion skins and then again with tea. To see the colour changes, watch my video.
  10. Enjoy your unique and naturally dyed yarn. Happy knitting!
Yarn naturally dyed with onion skins and tea
My dyed yarn basking in the sunlight!

Have you ever tried hand dyeing yarn? Do you have any other materials you recommend I try? Let me know! Or check out my ‘how to make sock blockers’.

Leave a Reply