How to Dye at Home with Onion Skins | Natural Dyes | Botanical Colors

How to natural dye fabric at home with onion skins? 

Natural dyeing with onion skins is a great way to add unique colors to your fabrics. Both red and orange onions can be used to create beautiful hues. Unlike many other natural dyes, onion skin dye does not require a mordant to be used in order to achieve good results. However, the use of a mordant can improve the light and wash fastness of the dye.

When dyeing with onion skins, the color obtained can range from orange to purple, and the shade can vary depending on the type of onion skin and fabric used. To achieve soft green colors, dip the dyed fibers into a weak solution of iron sulphate.

Do you need a mordant to dye with onion skins?

Most natural dyes need a mordant to help them stay light/wash fast. Some are not very fast even with a mordant. 

Although the color will fade over time, dyeing with onion skin doesn't need a mordant as the onion skin dye is absorbed well by the fibers.  

The light and wash fastness of many natural dyes is improved with the use of a mordant.  For example, to obtain strong red or pink colors with madder, you definitely need to mordant your fabric to help the dye stay on the fabric. Many dyers use oak gallnut tannin followed by an aluminium mordant before they start to dye. If you like to know how to mordant your fabric please read this article.

What Colour dye does onion skin make?

Onion skins can produce an orange or purple hue. Different coloured onion skins and different fabrics will result in different shades. That is the beauty of natural dyes. A dip in a weak solution of iron sulphate after dyeing with onion skin will give soft green colours.

Onion Skin Dye

What is Wash Fastness (colorfast) in Natural Dye?

Washfast is when you wash the fiber and the colour stays. Wash Fastness means dyes do not bleed or run from the fabric after it is dyed. 

What is Light Fastness in Natural Dye? 

Light fastness in natural dye refers to the ability of the dye to resist fading or changing color when exposed to light over time. Some natural dyes are more lightfast than others and will retain their color even after prolonged exposure to sunlight or artificial light sources. Light fastness is an important factor to consider when choosing a natural dye for a project, especially if the dyed item will be exposed to light frequently.

How to dye with onion skins?

Ensure your fiber/fabric has been properly scoured before use. 

You can read our blog on scouring and mordanting.

Here is a detailed step-by-step guide on how to natural dye fabric at home with onion skins:


  • Onion skins (red or orange)
  • Fabric or fiber (cotton, linen, wool, silk)
  • Large pot
  • Water
  • Stirring spoon
  • Strainer
  • Gloves (optional)
  • Iron sulfate (optional)

Step 1: Preparing the fabric/fiber Before dyeing, the fabric or fiber needs to be properly scoured to remove any oils, dirt or residue that may prevent the dye from penetrating evenly. To scour the fabric, wash it with hot water and a small amount of detergent. Rinse the fabric thoroughly until the water runs clear.

Step 2: Collecting the onion skins Collect onion skins from red or orange onions. The more onion skins you have, the stronger the color will be. Collect at least two good handfuls of onion skins for each 100g of fiber/fabric.

Step 3: Preparing the dyebath Fill a large pot with enough water to submerge the fabric/fiber. Add the onion skins to the pot and stir well. Bring the dyebath to a boil and let it simmer for about 30 minutes.

Step 4: Dyeing the fabric/fiber Add the wet/damp fabric or fiber to the dyebath and stir occasionally to ensure even dye uptake. Let it simmer for another 30 minutes.

Step 5: Cooling and rinsing Turn off the heat and let the dyebath cool for several hours or overnight. Stir the mixture occasionally. Once the dyebath has cooled down, remove the fabric/fiber and rinse it thoroughly under running water until the water runs clear.

Step 6: Optional iron dip If you want to achieve soft olive green colors, dip the dyed fabric/fiber into an iron solution. To make an iron solution, mix 30g of iron sulfate into a liter of water until dissolved. Alternatively, you can use rusty metal soaked in 50:50 water for a week or so. Dip the fabric/fiber into the iron solution for a few seconds and rinse it thoroughly under running water.

Step 7: Reusing the dyebath The dyebath can be used again to dye more fabric/fiber. The resulting colors will be paler than the first batch. Simply reheat the dyebath, add more fabric/fiber and simmer for another 30 minutes.


  • The color obtained from onion skins depends on the type of onion and the type of fabric used. Experiment with different types of onions and fabrics to achieve a range of colors.
  • Wear gloves when handling the onion skins and dyebath to avoid staining your skin.
  • To increase the color fastness of the dye, use a mordant such as alum or iron before dyeing.
  • Always wash dyed fabric/fiber separately from other clothes to avoid color bleeding.

Natural dyeing with onion skins is an easy and rewarding way to add color to your textiles while also reducing waste. With this step-by-step guide, you can easily dye fabric/fiber with onion skins in the comfort of your own home.

Back to blog

1 comment

That was so interesting, especially as I have a saucepan of onion skins simmering right next to me. I am new to natural dyeing and like the way you are not over bothered about amounts and timings. I guess one learns to know how to do it by trial and error. Thank you.

Janet Bridge

Leave a comment

Please note, comments need to be approved before they are published.