
Where natural dye colours come from, what a mordant does, why cotton needs tannin first, how modifiers shift shades, and what to honestly expect from fastness and batch-to-batch variation.
At a glance
AlumMost common, safest home mordant
Tannin firstNeeded before mordanting cotton
IronModifier that darkens and saddens
TurmericBright yellow, but fades fast in light
Quick answer: Natural dyes are colours taken from plants, insects and a few minerals. Most of them do not hold onto fabric well by themselves, so dyers use a mordant, usually alum, which is a metal salt that acts as a bridge between the fibre and the dye. Scour the fabric first, mordant it the right way for its fibre type, and accept that natural colours fade faster and vary more than synthetic ones.
Natural dyes behave very differently from the ready-made packet dyes most people know. They need more preparation, give softer and less predictable shades, and reward a little chemistry. This article explains that chemistry in plain words: where the colours come from, what a mordant does, why cotton needs extra help, how modifiers change a colour, and what to expect from fastness. For the bigger picture, see our home dyeing section.
What natural dyes are
A natural dye is a colourant taken from a living or mineral source with little or no chemical change. The dye is usually extracted by soaking or simmering the raw material in water, and the coloured liquid becomes the dye bath. There are three broad sources.
- Plants. By far the largest group: roots (madder), leaves (indigo, tea), flowers (marigold), rhizomes (turmeric), fruit rinds (pomegranate), avocado skins and stones, and outer onion skins.
- Insects. Cochineal, from a small scale insect that lives on certain cacti, is the best known. It gives strong crimsons and pinks.
- Minerals. Iron rust, ochres and clays can stain fabric, but they act more like surface pigments than true dyes. To a natural dyer, minerals matter more as mordants and modifiers than as colours.
One important point for beginners: a natural dye is rarely a single pure compound. Madder root contains several red colourants. Onion skins contain a mix of yellow flavonoids. Tea, pomegranate and avocado are rich in tannins, which are brownish compounds that also help fix other dyes. Because each source is a mixture, the colour you get depends on which parts of that mixture dissolve and stick in your particular bath. This is one reason natural dyeing is less predictable than synthetic dyeing.

Common examples and what they give
- Indigo gives blue. It is a special case, a vat dye: it is chemically reduced to a soluble form, soaked into the fibre, then re-oxidised by air. It needs no mordant.
- Madder gives reds, oranges and brick. Too much heat dulls it towards brown, so baths are kept below a boil.
- Turmeric gives vivid yellow even without a mordant, but it is one of the least lightfast natural dyes.
- Onion skins give golds, oranges and rusts. Cheap, easy and a favourite first project.
- Tea gives beige and tan; its tannin also helps other colours stick to cotton.
- Cochineal gives crimson, pink and, with modifiers, purple.
- Pomegranate rind gives khaki yellows, and olive with iron. It is also a strong tannin source.
- Marigold gives warm yellows; avocado gives soft pinks, mostly from its tannins.
For a wider view of how natural dyes fit beside reactive, direct, acid and other dye classes, see dye classes and which dye suits which fibre.
Why most natural dyes need a mordant
The word mordant comes from a Latin word meaning “to bite”. It is a good image. A mordant is a substance, almost always a metal salt, that helps the dye bite into the fibre and stay there.
Here is the problem it solves. Most natural colourants are small molecules with only weak attraction to fibre. Put a piece of wool or cotton into an onion skin bath and it will take some colour, but much of that colour will rinse out, bleed in the wash and fade quickly. The dye simply has no strong hook to hold on with.
A metal ion such as aluminium can form bonds with two partners at the same time. On one side it binds to chemical groups in the fibre. On the other side it binds to groups in the dye molecule, typically hydroxyl (–OH) and carbonyl (C=O) groups sitting next to each other. The result is a fibre–metal–dye complex. This complex is larger and much less soluble in water than the dye alone, so it stays in the fibre during washing. Chemists call this kind of multi-point bond a chelate or coordination complex. For a dyer, the simple picture is a bridge.

The mordant also changes the colour itself. The same dye can give quite different shades with aluminium, iron or other metals, because the metal becomes part of the coloured complex. So the mordant is not just glue. It is part of the colour recipe.
Not every natural dye needs a mordant. Indigo works by a different route. Tannin-rich dyes such as tea, pomegranate and avocado give fairly durable colour on their own, and turmeric stains fibre without help. Dyes like these are called substantive dyes. Most bright yellows, reds and pinks, however, are mordant dyes, and they need the bridge.
A mordant is not the same as the “fixer” sold with packet direct dyes. That fixative is a cationic agent added after dyeing; a mordant usually goes on before dyeing and becomes part of the colour complex. See what a dye fixative is and how it works.
Alum: the most common and safest mordant
Alum (potassium aluminium sulphate) is the standard mordant for home and craft dyeing. It is cheap, easy to buy and among the least hazardous options when handled sensibly. Aluminium adds little colour of its own, so yellows stay yellow and reds stay red.
For cellulose fibres, many dyers prefer aluminium acetate, or alum with a little soda ash, because both bind better to cellulose. More alum is not better: beyond a point it adds no colour, makes wool feel sticky or harsh, and the excess goes down the drain.
Iron: the modifier that saddens
Iron, usually as ferrous sulphate, is the second key metal. Dyers say iron “saddens” colour. It shifts shades darker, greyer and more muted: yellows turn olive or khaki, reds turn plum or brown, and tannins turn grey to near-black. Iron is useful, but it should be used in small amounts. Too much iron makes wool harsh and can weaken cotton and silk over time, so the fabric becomes tender and tears more easily. Iron is often used as a short after-bath (a modifier) rather than as a full mordant.
Mordants to avoid at home
Older books mention chrome (potassium dichromate), copper sulphate and tin (stannous chloride). Chrome is toxic and a known carcinogen. Copper salts are harmful if swallowed and very toxic to aquatic life. Tin is hard on fibres. None of them belongs in a home kitchen. Alum and a little iron already give a very wide range of colours.
Common mistake: assuming that “natural” means “safe”. A plant dye is natural, but a chrome or copper mordant is a heavy-metal chemical. Some dye plants are also poisonous if eaten. Judge each ingredient on its own hazard, not on the label “natural”.
Protein fibres versus cellulose fibres
Natural dyeing divides fibres into two families, and they need different preparation.
Protein fibres are wool, silk, alpaca and other animal fibres. Proteins carry amino and carboxyl groups that bind metal ions directly, so wool and silk take alum easily and give the brightest, deepest natural colours. They need gentle handling: wool felts if shocked by sudden temperature changes or rubbed while hot and wet, and silk loses lustre if boiled hard.
Cellulose fibres are cotton, linen, hemp and regenerated cellulose such as viscose. Cellulose offers almost only hydroxyl groups, which are weak partners for a metal ion. Put cotton straight into alum and little aluminium stays on it, so the dye washes out: a lovely colour in the pot turns pale and patchy after the first wash.
The answer is a tannin pre-treatment. Tannins are large plant molecules that have good affinity for cellulose and also bind metal ions strongly. The cotton is soaked in a tannin bath (oak galls, sumac, myrobalan, pomegranate rind or tea), then mordanted with an aluminium salt. Tannin anchors to the fibre, aluminium sits on the tannin, and dye sits on the aluminium. Tannins add their own beige tint, so pure pale colours need a light-coloured tannin.

Blends follow the weaker partner. A cotton–wool blend should be treated with the cellulose route if you want both fibres coloured, and you should expect the two fibres to take different depths of shade. Polyester takes almost no natural dye. Nylon behaves a little like a protein fibre and takes some colour, but usually paler. Check the fibre content label before you start.
Scouring first: the step people skip
Scouring means washing the fabric thoroughly to remove everything that is not fibre: natural waxes and oils, knitting lubricants, sizes, softeners, finishes, body oils and detergent residue. These form a barrier. Where it is thicker, less mordant goes in, less dye bonds, and you get blotches and pale patches.
Cotton and linen can take a hot scour with detergent and soda ash. Wool and silk need a gentle, warm scour with a mild pH-neutral soap. Rinse well, and put the fabric into the mordant bath still wet, because wet fibre takes up liquid more evenly. Easy-care finishes on shop-bought garments can block dye in ways home scouring cannot fix, so fabric sold as “prepared for dyeing” is the safest start.
Colour modifiers: changing the shade after dyeing
One of the joys of natural dyeing is that a single dye bath can give a whole family of colours. Modifiers are short after-baths that shift the shade after dyeing. They work because many natural colourants change colour with pH, and because a new metal can join the dye complex.
- Iron after-bath. Darkens and dulls. Yellows go olive, reds go plum or brown, tannins go grey. The change is usually lasting because the iron becomes part of the complex.
- Acid (vinegar or another mild acid). Often makes colours brighter and shifts them towards yellow or orange-red. Cochineal moves from crimson towards scarlet.
- Alkali (soda ash or a little washing soda). Often deepens and shifts towards orange, rust, purple or blue. Cochineal moves towards purple; onion skins move towards rust.

Modifiers are best tested on small samples first. Keep a notebook and tag every sample with what you did. That record becomes your own colour library.
Worked example. You dye three scoured, alum-mordanted wool samples together in one onion skin bath and all come out gold. You leave one as it is, dip the second briefly in a weak vinegar solution, and dip the third briefly in a weak iron solution. You now have gold, a brighter yellow-gold and an olive green from one pot. If you later wash the vinegar sample in an alkaline detergent and it drifts back towards gold, that is the pH effect reversing; the iron sample stays olive.
Fastness: what to really expect
Fastness is how well a colour resists fading or bleeding. There are several kinds: fastness to washing, to light, to rubbing and to perspiration. Natural dyes vary a lot, and honesty here saves disappointment.
Light fastness is often the weak point. Sunlight, especially its ultraviolet part, breaks down the colourant molecules over time. In testing labs, light fastness is graded against a set of standard blue wool references on a scale from 1 (very poor) to 8 (excellent). Some natural dyes do well: indigo and madder have a long record of good light fastness, which is why they survive in very old textiles. Many yellows from flowers and leaves are weaker. Turmeric is the classic poor performer; a turmeric yellow can visibly fade in a sunny window within weeks.

Wash fastness depends a great deal on good mordanting. On well-mordanted wool, many natural dyes wash reasonably well. On cotton without a tannin step, they often wash poorly. Natural colours are also sensitive to pH, so a strong alkaline detergent can shift or strip them. Wash naturally dyed items in cool water with a pH-neutral detergent, avoid detergents with optical brighteners or bleach, and dry them out of direct sun. If you want to check a result properly, the method in how to test colour fastness to washing works for natural dyes too.
Deeper shades usually last longer than very pale ones, because there is more colourant to lose before the change is visible. Pale natural tints can look washed out after one summer.
Why results vary from batch to batch
Even experienced natural dyers rarely get exactly the same colour twice. That is not a failure of skill. It is built into the materials. The main reasons:
- The dyestuff itself changes. Plants vary with species, variety, soil, climate, season, age, harvest time and how they were dried and stored. Two bags of onion skins from different sources can give clearly different golds.
- Extraction varies. Time, temperature and how finely the material is chopped or ground decide which colourants come out, and in what balance. Over-heating can pull out more brown tannins and dull the colour.
- Water varies. Hard water with calcium and magnesium can shift reds and pinks. Water with traces of iron can sadden colours without you adding any iron at all. Many dyers use rainwater or filtered water for this reason.
- pH varies. Small differences in the acidity of the bath change the shade, as the modifier section showed.
- Fibre and preparation vary. Different wools, cottons and fabric constructions take dye differently, and uneven scouring or mordanting shows up as uneven colour.
- Ratio matters. The amount of dyestuff and mordant relative to the weight of fibre controls depth of shade. Guessing the amounts makes repeat colours almost impossible.
The practical lesson: if you need a set of matching pieces, dye them all in the same bath at the same time, with dyestuff from the same batch. Weigh your fibre and materials, write everything down, and save a small sample from every batch.
Industrial natural dyeing tries to control these variables with standardised extracts, measured recipes and machine dyeing. If you are curious about how that works on a production floor, read our natural dye knit fabric dyeing process article.
- Natural dyes are the most popular choice today, because people worry that some synthetic dyes are harmful to skin.
- At home, people dye garments in a bucket; in industry, garment dyeing is done in the washing department.
- Sometimes heat is needed and sometimes not; it depends on the dye. After dyeing, wash lightly and do not over-wash.
Is natural dyeing safer?
Many people choose natural dyes out of worry about synthetics on skin. The facts: a small group of azo dyes can break down into certain aromatic amines that are restricted under rules such as EU REACH and brands’ restricted-substance lists. Compliant synthetic dyes are used safely on a huge scale. See are fabric dyes safe? Azo dyes explained.
Natural dyeing has its own risks: mordant salts need care, some plants are toxic, and the process often uses more water and energy than expected. Food colours are not designed for textiles and give poor wash fastness. Our guide to home dyes: direct, natural and food colour compares the options.
Safety basics for home natural dyeing
- Use dedicated equipment. Dye pots and tools never go back to food use. Stainless steel or enamel is best; aluminium or iron pots act as mordants themselves and change colours.
- Protect yourself. Wear gloves, and a dust mask when weighing fine powders such as alum, soda ash or ferrous sulphate.
- Ventilate. Simmer dye baths in a well-ventilated area or outdoors.
- Know your plants. Identify any wild plant before using it; some are poisonous.
- Store and label. Keep mordants and dyestuffs in labelled containers, away from children, pets and food.
- Dispose sensibly. Spent alum baths are generally low hazard, and many dyers reuse them. Iron solutions should be used up rather than poured out in quantity. Check your local rules on what can go down the drain, and never dispose of chrome or copper baths casually, which is one more reason not to use them.
Putting it together
Natural dyeing makes sense once you see the chain: a clean fibre, a metal bridge, and a dye that holds onto that bridge. Scour first. Choose your route by fibre: alum for wool and silk, tannin then aluminium for cotton and linen. Use iron only as a careful modifier, and leave chrome, copper and tin alone. Record everything, use indigo or madder for items that see sun, and keep fugitive colours like turmeric for things you are happy to re-dye.
Questions
What is a mordant in dyeing?
A mordant is a substance, usually a metal salt such as alum, that bonds to both the fibre and the dye. It acts as a bridge that holds the colour in the fibre and also affects the final shade.
Do all natural dyes need a mordant?
No. Indigo is a vat dye and needs no mordant, and tannin-rich dyes such as tea, pomegranate and avocado can colour fibre on their own. Most bright yellows, reds and pinks, such as onion skins, marigold, madder and cochineal, need a mordant for good results.
Why does natural dye wash out of cotton?
Cellulose fibres like cotton have no strong natural grip for metal ions, so alum alone does not stay on them. A tannin pre-treatment followed by an aluminium mordant gives the dye something to hold onto.
Which mordants should I avoid at home?
Avoid chrome, copper and tin. Chrome is toxic and carcinogenic, copper salts are harmful and very toxic to aquatic life, and tin is harsh on fibres. Alum, with a little iron as a modifier, covers a very wide range of colours.
Are natural dyes colourfast?
It depends on the dye. Indigo and madder have good light fastness, while many flower yellows are weaker and turmeric fades quickly. Good scouring and mordanting, gentle pH-neutral washing and drying out of direct sun all help colours last.
Textile engineer with 14+ years in dyeing and fabric development. He writes every guide on Dyeing Solution from real production work. Full profile