Mordanting with cow’s milk

When doing natural dyeing or eco-printing on plant-based fibres such as cotton, you need to prepare the fabric with something to help the plant dyes adhere. This could be mordants such as metals or tannins. Or you could use a protein-rich binder such as soy milk, cow’s milk, eggs or even blood. These emulate the results that you will get dyeing protein fibres (wool, silk, leather).

I have an eco-printing ecourse all about soy milk binders, which are great for achieving bright, long lasting eco-prints. In the ecourse, you can learn how to create a soy milk binder, prepare fabric with it, and then do several different projects with this clothing/ fabric. But similar results can be achieved using cow’s milk and I will share that method here.

Before I explain my process of preparing fabric with milk, I would like to clarify my use of language. Although milk and these other protein-rich materials are technically binders not mordants, the word mordant is often used informally to describe them. I don’t have a problem with this, because in its basic sense a mordant is something that helps plant dyes bind to fabric.

For ethical reasons, I only use cow’s milk to mordant fabric when it would otherwise be going to waste. It doesn’t seem reasonable to buy it for this purpose when many people are starving and the dairy industry is horrific. But I have a friend who occasionally brings me bottles from their workplace that are close to their use-by date and were going to be thrown in the bin. Dumpster diving is also a good way to find wasted milk and put it to good use.


How to mordant fabric with cow’s milk



  • Scoured cotton, linen or other plant based fabric
  • A large pot or bucket
  • 1-3 bottles of cow’s milk
  • Water

Step one: add water to your milk at a ratio of 1:1. Pre-wet your cotton fabric (so it will absorb evenly) and add it to the milk. There should be enough space for the fabric to move freely. Let it soak for about half a day, stirring occasionally. This is best done on a cold day or in a very shady spot or else the milk will quickly get smelly and this smell will remain in the fabric even after dyeing. I soak fabric for less time in cow’s milk than when using soy milk, because it does tend to go bad faster (especially when it is already close to the use-by date).

Mordanting cotton with milk

Step two: remove the fabric, squeeze out the excess milk and put it in your washing machine on a spin cycle. Then hang to dry. Putting it on a spin cycle means that there won’t be milk dripping down the side of the fabric as it dries, which would show up as streaks when you dye it.

Step three: if your milk is still good, add the fabric back in just until it is saturated, then remove and put through the spin cycle and dry again. Do this process twice. Adding extra layers strengthens the mordant, and it is done in quick dips so that the previously adhered milk won’t have time to come off. These extra steps can be omitted if your milk bucket is getting too smelly- you will still get good results from one round of mordanting.

Step four: once your fabric is dry, leave it to cure for at least a week before dyeing it. Again, this strengthens the mordant and helps it adhere strongly to the fabric. Then dye or eco-print with it as desired.


The difference between protein and metal mordants


Mordanting with milk versus iron on cotton

This picture illustrates the difference between protein and metal mordants. The top piece of cotton was prepared with cow’s milk. The bottom piece was mordanted with iron. Both pieces were eco-printed with the same species of eucalyptus leaves. On the milk mordant, the leaves have printed a bright reddish-orange. This is similar to the results these leaves give on silk and wool, which is unsurprising because protein mordants make plant fibres dye like protein fibres. On the iron mordant, the leaves have printed olive-green and have some speckles and vein details. I find that iron mordants are great for bringing out details, while protein mordants give flatter results but sometimes more vivid colours.

I hope this has been useful for you and gives you a way to make use of milk that would otherwise go to waste. Feel free to pin the image below to return to this information later.

Instructions for mordanting cotton with milk, for eco-printing and natural dyeing

20 thoughts on “Mordanting with cow’s milk”

  1. Thank you for the clear explanation of what a mordant does. I’ve read through many blogs about eco-printing, only to become confused with all the different steps and processes. Now I want to try it!

    1. Don’t wash before dyeing or you will wash out some of the milk and end up with a paler result. You can wash it well after dyeing.

  2. Thank you so much for sharing your experience and detailed instructions on natural dye and eco printing. I have been using the Iron mordent for all the while, now I can’s wait to experiment with milk. Sounds very interesting.

  3. The instructions are very clear. Just wanted to know if the cotton cloth used has to be completely dry before eco printing or a bit moist

    1. It would be best to let it dry completely and then cure for at least a couple of days, so that the milk can set into the fabric.

  4. Hi. Thank you for explaining everything step by step in “English” as opposed to “Scientist.”
    I do have a question, and I’m hoping you can help. Background: I’m getting ready to dye #10 crochet/bedspread weight cotton with avocado pits; if it matters, some mercerized, some not. I know soda ash (SA) + cotton is a great combo when dyeing, and I’ve very recently learned that SA + avocado dye stock typically gives a brighter pink. This will be my first time using a milk binder.
    Previously, I have soaked cotton yarn/fabric in a SA + water solution 12 – 24+ hours, spun out excess liquid in washing machine, and immediately began my dye process while the fiber is still slightly damp.
    Question: would it be possible to add SA to the 1:1 milk and water mix so the thread is absorbing and getting coated with both milk protein and SA?
    I know I can add SA into the dye bath, but it’s been my experience that colors on cotton are most vibrant when SA is in both the fiber and the dye bath. Thoughts?

    1. Hi Beth. I haven’t actually used soda ash to prepare cotton myself. But it definitely sounds like it is worth trying combining it with milk. I do suggest though that you let the fabric dry after soaking and spinning out the excess liquid, so that the milk can set into the fabric. And you will probably want to soak it for less time too, so the milk doesn’t go bad. Let me know how it goes!

  5. Hi! Have you used a clothing dryer to expedite setting time (after dipping the fabric twice in milk) or does the fabric need to air dry for one week after the milk treatment?

    1. Hi Jamuna, I haven’t tried using a clothes dryer but I would worry that the heat might damage the soy binder in some way. The fabric only needs to be hung out until it is dry, then it can be folded up and put away until it is ready to be used. The time to let it cure between soaking and dyeing is the important factor here.

  6. Pingback: Soy Milk Binder eco-printing module – Gumnut Magic

  7. What about the plants part.Should we do mordanting with leaves or flowers too?If yes what will be preferred a milk or iron mordant.
    Thanks and regards

    1. Hi, it depends on what leaves or flowers you use. Some like eucalyptus will be colourfast on fabric prepared with cow’s milk. For others, I dip them in iron mordant before putting them on my fabric. Generally, any plant that you can eco-print with on wool without a mordant, you can eco-print with on this fabric without a mordant too.

Leave a Comment

Your email address will not be published. Required fields are marked *