Natural dyeing is an art as old as civilization, but for beginners the natural dyeing process can feel a little overwhelming. With so many steps, fabrics, and materials involved, it’s hard to know where to start. That’s why I created this beginner-friendly series, where we’ve already explored how natural dyes work, which fabrics give the best results, and the essential tools every dyer needs. If you haven’t read those posts yet, I recommend checking them out first. They’ll give you a strong foundation before you dive into this stage.
In this part, we’ll walk step by step through the natural dyeing process and create a beautiful onion skin dye bath together. Onion skins are one of the easiest and most rewarding dyestuffs for newcomers. They’re inexpensive, widely available, and surprisingly colorfast when paired with proper fabric prep and mordanting.
By the end of this post, you’ll feel more confident about dyeing fabric naturally. Let’s dive into the essential steps of the natural dyeing process.
What exactly does the natural dyeing process look like?
We’ll start with an overview of each step in the process. These are the basic steps for plant dyes, and each one can be adapted to a specific fabric type or dyestuff.
1. Preparing the Fabric
The first step in any dyeing project is preparing your fabric. Washing and scouring is essential to remove any oils, dirt, or chemicals that could interfere with the dyeing process.
2. Mordanting (and tanning) the Fabric
Mordants are essential for fixing the dye to the fabric. Different mordants can alter the final color of your project, so it’s important to choose the right one. For beginners, alum is a great starting point. For cellulose fabrics, this step often produces the best results using a two-step approach with tannin and mordant. This is the method we’ll be using here.
3. Preparing the Dye Bath
The dye bath is where the magic happens! This is the solution you make with the dyeing material (like onion skins) and water.
4. Dyeing the Fabric
Immerse the fabric into the dye bath, where it takes on the color. You’ll monitor the fabric in the dye bath, adjusting the time spent to achieve the shade you desire.
5. Modifying the Fabric (Optional)
This is where you’ll add modifiers to get new colors and shades. Completely optional.
6. Finishing the Fabric
Once you’ve dyed your fabric, it’s important to rinse and dry it properly. The dye must set, and you’ll need to remove any excess dye to prevent bleeding later.
In this post, I’m focusing on the process for cellulose fabric, specifically cotton, and leaving silk and wool for another time. Cotton is one of the most common fabrics to start with. I’ve chosen onion skins as the dyestuff because they’re widely available, inexpensive, easy to extract colour from, and relatively colourfast when the fabric is properly prepared and mordanted.
Want to explore beyond this onion-skin dye bath? Dyeing with Kitchen Scraps expands this process into a complete 184-page guide to natural dyeing on cellulose fabrics, with 11 kitchen-scrap dye materials and more than 130 photographed colours and hues. Explore the ebook →

STEP 1: Preparing Your Fabric for the Natural Dyeing Process
It can be tempting to skip this step and go straight to mordants and dye. Resist the urge. This step is absolutely crucial for a good result. Proper fabric preparation ensures that the fabric is clean, free of contaminants, and ready to absorb the dye evenly. These step-by-step instructions are specifically for cellulose fabric.
Remember to weigh your fabric before you start wetting and washing it, you will need that number to calculate %WOF!
Pre-Washing and Scouring
Pre-Washing: Use a gentle detergent, free from fabric softeners and fragrances, as these can leave residues that interfere with dye uptake. Washing removes any oils, dirt, or sizing that may interfere with the dyeing process. Make sure that your detergent is pH-neutral. Soap at this step should be avoided as it can leave a residue, preventing proper mordanting. Pre-washing is not necessary before scouring, I usually do this with completely new fabrics, second-hand fabrics fresh from the thrift shop, or visibly dirty fabrics.
Scouring: Scouring is a more intensive cleaning process that removes natural waxes and impurities from the fabric, especially important for plant-based fibers like cotton and linen. This can be done using a solution of washing soda (sodium carbonate) and a neutral detergent or dish soap.
How to pre-wash and scour your fabric (Cellulose Fabric):
Pre-wash fabric if needed. You can dry your fabric and save it for later or you can start scouring straight away.
Ingredients:
2% WOF Soda ash (Washing soda)
2% WOF Neutral detergent or dish soap (Synthrapol detergent is made specifically for this)
You can reduce these ratios to 1% if you have pre-washed the fabric or it is relatively clean.
- Fill a non-reactive pot (stainless steel or enamel) with enough water to cover the fabric and so that it can move freely. If your pot is too crowded, it’s better to do two batches than cramming too much fabric into the pot (this might lead to uneven scouring and dyeing).
- Add the soda ash and detergent, the pH should be around 8 (use pH strips to check).
- Add wetted out fabric. If you are going straight from pre-washing to scouring your fabric is already wetted out (all the fibers are saturated with water). If your fabric is dry, make sure it’s completely wet before adding to the scouring solution.
- To wet out fabric: place it in a bucket with water completely covering it for 10-20 min. The time in the water depends on the weight and weave of the fabric, heavier and tightly woven fabric needs more time.
- Bring the the temperature up to a boil and keep it simmering for 2 hours. You can move it around a bit and add more water if needed. Try to push out all the bubbles that keep it above the surface and keep the fabric immersed.
- After 2 hours of boiling, the water will be properly gross and brown (if the fabric was dirty). Make sure the pot and fabric is cooled down before removing the fabric from the water and rinsing. I usually dump the whole thing into the shower or bathtub before using the shower head to give it a rinse.
Now you can either hang your fabric up to dry and store for later or you can move on to the next step. I like doing it all in one go while the fabric is still wet. If you store it for later, mark it so you know that it’s been scoured.

STEP 2: Mordanting
2.1: Tannin
The first step is to apply tannin to fabric. Remember, cellulose fibres have relatively little natural affinity for many natural dyes and mordants, we need this base so that the Alum (and in turn dye) has something to attach to. Tannin comes in the form of extract, tannic acid, or ground plant material. Here, I`ve used tannic acid. You`ll need different % WOF for the different types of tannin – Extract is around 10% WOF, Tannic acid is around 20% WOF, and ground plant material around 40% WOF. You can of course do your own experiments and try out different ratios.
Ingredients:
20% WOF Tannic acid
Enough water so that the fabric can move around freely
- Get a bucket or pot big enough to hold the correct amount of water, fill it up with hot water and dissolve the tannin.
Note: If you are using ground plant material, like oak galls, soak it in the bucket for 2-3 days before straining out the plant material, leaving a dark tannin bath.
- Take your wetted-out fabric and fully immerse in the tannin bath. Make sure to wear gloves as tannin stains and can irritate your skin. Move it around and let it soak for 24 hours or overnight. Full disclosure: I have forgotten all about tannin and mordant baths on several occasions, letting them stew for days. For me 24 hours is what works best, longer than that has not made a significant difference. Just make sure the fabric is fully immersed at all times so that the tannin settles evenly.
- After the soak, remove the fabric from the tannin bath and rinse it thoroughly straight away in clean running water. Rinse until the water is running clear. Do not let it sit around or dry between the tannin bath and a rinse. The unattached tannin will settle in fabric creases and make uneven tannin stains.
Now you can either dry the fabric to continue the process later or jump straight to the next step.

2.2: Alum (Potassium Aluminium Sulfate)
The second step is the alum mordant.
Ingredients:
12-15% WOF Alum
1.5% WOF Soda Ash
- In a glass jar or any non-reactive container (1 liter or so), dissolve the alum in warm water. Do the same with soda ash in another recipient.
- Mix the two solutions in a big bucket with enough space for your fabric to be fully submerged and move freely. Make sure both the solutions are properly dissolved before mixing. This mix will create a reaction and it will slightly foam and sizzle before settling down. Fill the bucket up with water.
- Immerse the wetted out fabric and soak the fabric for 24 hours.
2.3: Soy Milk (Optional)
If you`ve read my blog post on mordants and modifiers, you know that soy milk by itself is not a mordant, but might serve as a protein binder for colour. I like to use soy milk in addition to tannin and alum as it enhances the colors a bit. In my practice this has been a valuable step, but the difference is not huge and it`s not necessary for good results. You can try it if you want or just stick to the basic approach.
Ingredients:
1:5 Soy milk/water mix (1 part soy milk to 5 parts water), You are going to do two rounds of soaking. You might need more soy milk – depending on the temperature (see step 3)
- Mix soy milk and water in a bucket with enough space for your fabric to move freely. Make sure the soy milk is just plain soy milk and that it doesn’t have any additives, calcium, or sugar.
- Immerse your wetted out fabric and let it soak for 12 hours.
- After first soak, remove the fabric and wring out the excess liquid. Dry the fabric before soaking it again for another 12 hours. During the winter I can reuse the soy milk/water mix from the first soak, in the summer I make a new mix to avoid curdling. If the soy milk curdles with your fabric inside, remove your fabric immediately and rinse thoroughly. Curdled soy milk might lead to uneven dyeing.
- After the second soak, rinse the fabric, dry completely, and let it cure for a week before using (fold it and put away somewhere dark and dry).

STEP 3: Preparing the dye bath
We have properly cleaned and pre-treated our fabric, now it’s time to extract the colour from the dyestuff. First we need to decide how much fabric we are going to use and weigh the dyestuff accordingly. The ratio of dyestuff to fabric depends on how much the dyestuff is broken down, see my post on dyestuff. Here, I’m using 150 g cotton fabric and 225 g onion skins, which makes it 150% WOF. This is an amount I`ve had good results with when it comes to onion skins.
Ingredients:
225 g yellow onion skins
- Place the onion skins in the pot (I`m using a 5 liter pot here). It helps to crush the skins to reduce the volume.
- Fill the pot up with water, enough to cover all the skins completely. Heat up the pot until it`s boiling. Let it simmer on medium to low heat for 1-2 hours. Onion skins are not sensitive to temperature and tolerate high heat well.
- After 1-2 hours, take the pot off the stove and let it rest 24 hours or overnight. Top off the pot if necessary.
- After the long soak, strain out the onion skins, leaving the dark dye liquid. Put a cheese cloth or cotton gauze into the sieve, so you catch all the smallest particles. Your dye bath is now ready!

STEP 4: Dyeing
Now everything comes together, and you finally get to dye your fabric.
Ingredients:
150 g cotton fabric (tannin + mordant + soy milk)
- Wet out your clean, prepared fabric and add it to the dye bath. Make sure it’s completely immersed, without any part above the surface.
- Heat up the dye bath with your fabric until it’s boiling. Let it simmer for 1-2 hours. Check on it from time to time, make sure the fabric stays underwater. If it keeps popping up, lower the temperature to decrease bubbling.
- After 1-2 hours, let it rest another 24 hours or overnight.
- After the long soak, remove the fabric from the dye bath and rinse.
The next step is to modify the colour using iron and soda ash. This step is optional, you can just leave the fabric as it is. If you want to try some modifiers, continue to the next step.

STEP 5: Modifying Colors After the Natural Dyeing Process
At this stage, your fabric has been dyed, but to fully unlock the richness of the color, there are several techniques you can use to enhance and refine the final result. Check out my blog post on modifiers if you want to learn more. Here, we`ll use iron and soda ash to change and adjust the colors of the onion dyed fabric.
Ingredients:
2% WOF iron (ferrous sulphate)
2% WOF Soda ash
- Cut up your wet fabric into three pieces (one for iron, one for soda ash, and one unmodified).
- Fill two small buckets or big jars with water and dissolve the iron in one of the containers, soda ash in the other.
- Take a piece of fabric and immerse it in the iron bucket/jar. I usually use a big chopstick to stir and agitate the fabric so it`s evenly modified. Remember to wear gloves to protect your fingers and skin. The iron works quickly, usually a couple of minutes is enough with smaller pieces of fabric. You don’t want to keep the fabric in the iron solution too long as it can damage fibers.
- Remove the fabric from the container and rinse the fabric thoroughly.
- Repeat steps 2-4 with the soda ash.
After you’ve finished modifying the fabric, try to wash the containers with dish soap to remove any trace of iron and soda ash. If you are planning on doing this on a regular basis, it’s best to get dedicated jars/buckets for different modifiers. Traces of any modifier can impact future dye batches and lead to patchy results.
Yay! You’ve now dyed something naturally! All you have to do now is to clean your fabric to set the colors and finish the process.

STEP 6: Finishing the natural dye process
The last step is to finish the fabric. I usually just wash cotton by hand with neutral detergent. This last wash is important to remove any dye that has not been taken up by the fiber. Washing improves rub fastness and prevents bleeding of dye. Hang the fabric to dry out of direct sunlight.
What to Do with Spent Dye Materials and Solutions
You can dispose of everything easily and safely or you can reuse most of it. Mordants can be topped off and reused, tannin baths as well. Onion skins can be dried and reused, just double the ratio of dyestuff to fabric (in this case 300%WOF spent onion skin). You can also just compost the dyestuff. To learn more, see my posts on preparing dyestuffs and mordanting natural fibres.
Hopefully, you now have a clearer idea of the steps involved in starting your natural dyeing practice. The process can seem elaborate at first, but much of it is passive time. You can also prepare and mordant larger batches of fabric at once, then store them for future dyeing projects rather than repeating the entire preparation process every time.

READY TO START DYEING?
Dyeing with Kitchen Scraps
Turn what you’ve learned into your first dye experiments. Dyeing with Kitchen Scraps is my 184-page beginner’s guide to natural dyeing on cellulose fabrics, using 11 accessible dye materials you can collect from your own kitchen.
184 PAGES · 11 DYE MATERIALS · 130+ COLOURS


