• Working Time:

  • 5 - 7 hours

  • Total Time:

  • 7 hours - 3 days

  • Yield:

  • 8 cups of liquid dye

  • Skill Level:

  • Beginner

  • Estimated Cost:

  • $5

While garment factories around the globe drain tons of harmful textile dyes into crucial waterways to keep up with the growing demand for fast fashion, the fruits and vegetables that could provide a cleaner alternative make up almost half the world’s total food waste. Maybe discarded onion skins and avocado pits couldn’t alone meet the needs of high street giants, but they can certainly add color to your personal wardrobe—for free and with little to no environmental impact, at that. 

Fruits and vegetables are great sources of natural dyes because they contain flavonoids, tannic acid, and ellagitannin—all categorized as “polyphenols”—that create their rich colors and can stain clothes. Experimenting with natural dyes at home is fun, easy, virtually free, and incredibly rewarding. 

Get to upcycling with this basic guide to food-derived fabric dyes, three fail-proof methods included.

Choosing a Fabric

Natural plant and animal fibers like cotton, linen, silk, and wool hold plant color better than synthetics. In general, fabrics that absorb water well are likely to also absorb dye well. Due to its unique chemical makeup, nylon can be dyed using food scraps, too. One study that assessed the success of dyeing nylon with onion skins found that the fabric was able to hold soft, pastel, and light color and exhibited excellent colorfastness given the dyebath was heated with an acid, such as vinegar.

Always pick pure fabrics over blends because the various fibers included in blends may dye at different rates, potentially resulting in a dappled look.

What Is Colorfastness?

Colorfastness is a dyed fabric’s resistance to fading or running when washed or exposed to the sun.

Best Foods to Use

Foods that are rich in tannins are best for natural dyes. Most result in pale hues, but the color gets stronger the longer you leave the fabric submerged. Note that sometimes the pit of a fruit creates a different color than the skin, such is the case with avocado. Here are some plants popular for dyeing and the colors they produce.

  • Pink: Avocados (the stones create a deeper shade than the skins)Reddish-pink: Beets, raspberries, strawberriesPurple: Red cabbage, blackberries, pomegranate seedsYellow-gold: Pomegranate rind, yellow onion skinsGreen: Spinach, mint leavesBlue: Black beans, blueberriesBrown: Coffee, tea

What You’ll Need

Tools/Equipment

  • Large stockpot with lid
  • Spoon or tongs
  • Strainer
  • Plastic bucket
  • Household or garden gloves

Ingredients

  • Undyed fabric
  • 4 cups
  • food scraps of choice
  • 2 tbsp
  • soda ash
  • 2 tbsp
  • pH-neutral soap
  • 2 cups
  • vinegar
  • 1.5 gallons water

Instructions

Method 1: Quick-Boil Dye Method

The easiest and quickest technique involves boiling food scraps on the stove, straining the liquid, then simply soaking fabric in the dye bath. This recipe will yield about half a gallon of dye. Exact measurements will vary based on the amount and type of fabric you use.

  • Scour Your Fabric
  • Bring 8 cups of water to a boil in your stockpot. Dissolve two tablespoons each of soda ash and pH-neutral soap once boiling and submerge your fabric using a wooden spoon or paddle. Reduce heat and simmer with the lid on for two hours. After two hours, drain and rinse your fabric, then set it to the side.
  • Prepare Your Dye Bath
  • Start by chopping your food scraps. Some people even use a food processor to turn them into a pulp, which may allow tannins to escape easier, but small chunks will also do. The ideal ratio for a plant dye bath is one part dye matter to two parts water, so combine 4 cups of chopped food scraps and 8 cups of water and boil for an hour. For richer color, turn the heat off and let the scraps soak in the dye bath overnight.
  • Food scraps should be virtually colorless when the dye is ready. Strain the liquid into a bucket and compost the scraps.
  • Soak in a Vinegar Bath
  • While you’re preparing your dye bath, combine 2 cups of vinegar and 8 cups of lukewarm water in a bucket. Add your fabric, cover, and let soak at room temperature for at least an hour—the longer it soaks, the better the color will stick. When finished, drain and set wet fabric aside.
  • Dye Your Fabric
  • If your fabric has dried out from the vinegar bath by the time you’re ready to dye it, rinse it again—wet material absorbs color more uniformly.
  • Once the dye bath cools to room temperature, dunk your fabric into the dye using a spoon. It’s best to wear gloves during this step to avoid staining your hands. Wooden spoons are prone to staining, too.
  • Let the fabric soak in the dye for an hour to a day. The longer it soaks, the richer the color.
  • Rinse and Dry
  • Once you’ve achieved your desired color, rinse your fabric in cold water until it runs clear, strain it, and lay it out to dry. Avoid drying your freshly dyed garments in the sun. Before wearing, wash the garment on its own or with similar colors in a pH-neutral soap.

Method 2: Tie-Dyeing With Food Scraps

The traditional tie-dye method works with natural dye, too. With this technique, you can get creative with color combinations and play with patterns and folds. If you plan to use multiple colors, you’ll need to create a separate dye bath for each of them. Remember that colors will change when mixed, so use a color mixing chart as a guide.

Scour Your Fabric

Bring 8 cups of water to a boil in your stockpot. Dissolve two tablespoons each of soda ash and pH-neutral soap once boiling and submerge your fabric using a wooden spoon or paddle. Reduce heat and simmer with the lid on for two hours. After two hours, drain and rinse your fabric, then set it to the side.

Prepare Your Dye Bath

Start by chopping your food scraps. Some people even use a food processor to turn them into a pulp, which may allow tannins to escape easier, but small chunks will also do. The ideal ratio for a plant dye bath is one part dye matter to two parts water, so combine 4 cups of chopped food scraps and 8 cups of water and boil for an hour. For richer color, turn the heat off and let the scraps soak in the dye bath overnight. 

Food scraps should be virtually colorless when the dye is ready. Strain the liquid into a bucket and compost the scraps. 

Soak in a Vinegar Bath

While you’re preparing your dye bath, combine 2 cups of vinegar and 8 cups of lukewarm water in a bucket. Add your fabric, cover, and let soak at room temperature for at least an hour—the longer it soaks, the better the color will stick. When finished, drain and set wet fabric aside.

Dye Your Fabric

If your fabric has dried out from the vinegar bath by the time you’re ready to dye it, rinse it again—wet material absorbs color more uniformly. 

Once the dye bath cools to room temperature, dunk your fabric into the dye using a spoon. It’s best to wear gloves during this step to avoid staining your hands. Wooden spoons are prone to staining, too.

Let the fabric soak in the dye for an hour to a day. The longer it soaks, the richer the color.

Rinse and Dry 

Once you’ve achieved your desired color, rinse your fabric in cold water until it runs clear, strain it, and lay it out to dry. Avoid drying your freshly dyed garments in the sun. Before wearing, wash the garment on its own or with similar colors in a pH-neutral soap.

For this method, you’ll also need rubber bands or twine.

  • Prep Your Fabric
  • Prep your fabric for dye by scouring and soaking in a vinegar bath, as described in the previous method. When finished, drain and set wet fabric aside while you prepare your dye bath(s).
  • Prepare Dye
  • Prepare your dye bath according to the quick-boil dye method. You can prepare several dye baths at once using different food scraps, or you can prepare one after another—this process can take several days, depending on your desired richness of color.
  • Tie
  • Twist, crimp, crumple, or fold your fabric to achieve your desired pattern. You can create a uniform checkered design by folding it vertically like an accordion, using metal clamps or simple rubber bands to secure it, then folding it the same way horizontally and dying each way. Or you can go with the classic tie-dye look by twisting from the center.
  • The tighter you tie the fabric, the more you will protect the folds from color. You can even rub a bit of candle wax on your twine to make it extra-resistant to dye.
  • Dye
  • Dye the fabric as normal, by submerging it in the dye bath and leaving to soak for at least an hour. Once you’ve reached the shade of your liking, take the fabric out of the dye bath, rinse it until the water runs clear, remove the rubber bands or twine, create a new pattern, and dye again in a new color using the same method.
  • Rinse and Dry
  • Once you’ve finished, rinse the fabric until the water runs clear and hang to dry in the shade. Before wearing, wash the garment on its own or with similar colors in a pH-neutral soap.

Method 3: Slow Solar Dyeing

This method, also called “fermentation dyeing” uses the sun instead of heat from a stove to create a dye. Because glass jars work best for trapping the heat, you may be limited in the amount of fabric you can dye in one container. 

Prep Your Fabric

Prep your fabric for dye by scouring and soaking in a vinegar bath, as described in the previous method. When finished, drain and set wet fabric aside while you prepare your dye bath(s).

Prepare Dye

Prepare your dye bath according to the quick-boil dye method. You can prepare several dye baths at once using different food scraps, or you can prepare one after another—this process can take several days, depending on your desired richness of color.

Tie

Twist, crimp, crumple, or fold your fabric to achieve your desired pattern. You can create a uniform checkered design by folding it vertically like an accordion, using metal clamps or simple rubber bands to secure it, then folding it the same way horizontally and dying each way. Or you can go with the classic tie-dye look by twisting from the center.

The tighter you tie the fabric, the more you will protect the folds from color. You can even rub a bit of candle wax on your twine to make it extra-resistant to dye.

Dye

Dye the fabric as normal, by submerging it in the dye bath and leaving to soak for at least an hour. Once you’ve reached the shade of your liking, take the fabric out of the dye bath, rinse it until the water runs clear, remove the rubber bands or twine, create a new pattern, and dye again in a new color using the same method. 

Rinse and Dry

Once you’ve finished, rinse the fabric until the water runs clear and hang to dry in the shade. Before wearing, wash the garment on its own or with similar colors in a pH-neutral soap.

For this method, you’ll need a lidded glass jar—or several, if creating different dyes—large enough to fit your dye bath and fabric.

  • Prep Your Fabric
  • Scour your fabric and soak it in a vinegar bath, as described in the previous methods. When finished, drain and set the wet fabric aside.
  • Combine Ingredients
  • In a glass jar, prepare your dye with one part food scraps and two parts water. Submerge your fabric, still wet from the vinegar bath, in the dye. Close the lid and shake to thoroughly mix ingredients.
  • Let the Sun Take Over
  • Put the jar in a sunny location and let it sit for several days. This can be done only on hot days, as the dye needs to reach 185 Fahrenheit for the chemical process of color transfer to occur.
  • Rinse and Dry
  • Once you’ve achieved your desired color, rinse the fabric until the water runs clear and hang to dry in the shade. Again, wash the garment on its own or with similar colors in a pH-neutral soap before wearing.

Scour your fabric and soak it in a vinegar bath, as described in the previous methods. When finished, drain and set the wet fabric aside.

Combine Ingredients

In a glass jar, prepare your dye with one part food scraps and two parts water. Submerge your fabric, still wet from the vinegar bath, in the dye. Close the lid and shake to thoroughly mix ingredients.

Let the Sun Take Over

Put the jar in a sunny location and let it sit for several days. This can be done only on hot days, as the dye needs to reach 185 Fahrenheit for the chemical process of color transfer to occur.

Once you’ve achieved your desired color, rinse the fabric until the water runs clear and hang to dry in the shade. Again, wash the garment on its own or with similar colors in a pH-neutral soap before wearing.

  • Can naturally dyed fabrics be washed in the washing machine?
  • Before tossing a naturally dyed garment in the washing machine, wash the item individually by hand in the sink to ensure that the color has set and will not bleed onto other articles of clothing.
  • Can you reuse or save natural dye?
  • A batch of dye made from food scraps can often be used a second time to color another article of clothing. Additionally, leftover dye can be stored for later use. Pour the dye in a marked glass jar and refrigerate.

Before tossing a naturally dyed garment in the washing machine, wash the item individually by hand in the sink to ensure that the color has set and will not bleed onto other articles of clothing.

A batch of dye made from food scraps can often be used a second time to color another article of clothing. Additionally, leftover dye can be stored for later use. Pour the dye in a marked glass jar and refrigerate.

  • “Effects of textile dyes on health and the environment and bioremediation potential of living organisms.” Biotechnology Research and Innovation. 2019.
  • “Food Loss and Waste Facts.” Food and Agriculture Administration of the United Nations. 2015.
  • “Eco-dyeing of Nylon Fabric Using Natural Dyes Extracted from Onion Outer Shells: Assessment of the Effect of Different Mordant on Color and Fastness Properties.” International Journal of Scientific and Engineering Research. 2016.