To make a natural fabric dye, I’ve been saving skins from yellow onions, red onions and shallots (shallots really elevate your cooking) for several months. Immersing fabric in a dye rendered from what ordinarily goes directly to compost yields warm hues ranging from golden to orange to brown. (Avocado pits create pinkish tones.)
Dyeing old clothing helps renew it, diverts textiles from the waste stream and delays clothes shopping for another day (i.e., saves money). And it’s so fun!


Choose natural fabrics
For this post, I dyed five produce bags I sewed out of a white cotton sheet that someone donated to my sewing bee. My friends and I transform donated fabric into reusable cloth produce bags which we give away at the farmers’ market. The bags both reduce the amount of plastic shoppers bring home and start conversations about plastic pollution.
With father’s day coming up, these bags can double as gift wrap unless you buy Dad golf clubs. (Go here for the simple sewing instructions.)
The short version of the onion skin dye instructions
To dye the produce bags, I followed (mostly) instructions on NPR’s website from Eliza Wapner of Lil Bits Cloth. I didn’t make a mordant, which would render a more intense and longer-lasting color. If you want to go down the mordant route, you’ll need three readily found ingredients—alum (look in the spice aisle at the grocery store), washing soda (look in the laundry aisle or make it) and vinegar—quite a bit of vinegar (600 grams). If I were dyeing fabric for a dress or a quilt or other higher-value item, I might splurge but I don’t want to go through all that vinegar just for these bags. (See the NPR article for Wapner’s mordant instructions.)
Step 1: Clean the fabric
This step helps the dye take to the material. I simmered my bags in a pot of water, ¼ teaspoon mild dish soap and 2 tablespoons of washing soda and stirred every 10 minutes. Although the fabric had been laundered and looked clean, the clear water turned brown and murky after an hour of simmering. I think I’ll have to add washing soda to my laundry from now on (but not when I send laundry water out to the landscape).



Step 2: Make the onion skin dye
Simmer the onion skins in a large pot for an hour and let the dye bath sit overnight for a brighter color. In the morning, strain out the skins. You’ll have a beautiful rich color ready for action.


Step 3: Dye the fabric
Simmer the fabric in the dye bath for about an hour, stirring at 10-minute intervals. Rinse the fabric and hang it to dry. I hung my bags in the shade to prevent the sun from fading the spanking new color.




Onion Skin Fabric Dye
Equipment
- 5 cloth produce bags, made of natural fibers
- 1 stainless steel or other nonreactive stock pot large enough for the fabric to move around in the filled pot
- 1 metal spoon
- 1 large bowl
- clothesline or drying rack
Materials
- ¼ teaspoon mild dish detergent
- 2 tablespoons washing soda optional
- skins of 10 onions
- water
Instructions
Day 1: Prepare the fabric and make the dye
- Fill a large stock pot with enough water that the fabric can move around in it. Add ½ teaspoon of mild dish detergent and, if you have it, 2 tablespoons of washing soda. Bring to a boil, place the fabric in the water and reduce to a simmer. Stir continuously for the first 2 minutes, then once every 10 minutes for an hour. Top up the water if necessary as it simmers. The water may turn quite yellow or brown. This step washes the fabric and prepares it to take the dye. Remove the fabric and when cool enough to handle, wring it out and hang it to dry.
- Empty the pot. Add the onion skins and fill the pot with water. Bring the water to a boil, reduce the temperature and simmer the onion skins for an hour. Turn off the heat, cover the pot and let the dye bath sit overnight to render a brighter color.
Day 2: Dye the fabric
- Remove the onion skins from the pot and bring the dye bath to a boil. While you wait, wet the fabric by soaking it in a large bowl of water. Wring the water out of the fabric and set the bowl of water aside to reuse in the final step (if it's clean after the soaking).
- Immerse the fabric in the boiling dye bath. Stir continuously for the first two minutes, then once every 10 minutes for an hour.
- Remove the fabric, immerse it in the bowl of water to rinse it, wring it out and hang it to dry. The color will dry a lighter shade.
- If you’d like to dye more fabric later, store the dye in the refrigerator for up to a week. For longer-term storage, freeze it and be sure to label it.
Buy my award-winning cookbook!
- Taste Canada silver for single-subject cookbooks
- Second-place Gourmand cookbook award in the category of food waste
- Shortlisted for an award from the International Association of Culinary Professionals
Hi Anne-Marie, I love your letters and videos! One extra step to mordant fabric to make it light and wash fast and side step the use of minerals is to give it a soak in Soy milk, bought or hand made. Happy dyeing. 🧅
This brought back memories of using yellow onion skins to dye fabric when I was in Girl Scouts MANY years ago. 🙂
Fantastic idea, love it! Can people use different fruit or veggies (or anything natural), to make other colors such as medium or dark gray? I’d love to save a coat that always looks dirty, by dying it gray instead of donating it and others probably wouldn’t buy it = will end up in landfill.