Natural Fabric Dyeing with Food Scraps: A Beginner’s Guide

Blue and yellow tie-dyed shirt.

Happy Earth Month! April is a perfect time to celebrate the planet and think about small ways we can reduce waste. One fun, low-cost Earth Day project is upcycling old clothing using natural dyes made from food scraps. Making natural fabric dye is simple, eco-friendly, and you likely already have suitable ingredients in your kitchen or freezer.

Dried black beans used for natural fabric dye

Reusing food scraps gives them a second life and helps reduce household food waste. Many scraps that you might normally compost—onion skins, carrot peels, mushroom stems, herb stems—can be saved and used for dyeing or for making vegetable broth and other recipes. If you grow your own herbs or buy produce with greens attached, those parts can also be used creatively in the kitchen and for dyeing fabric.

This project works well as a stay-at-home activity: it uses common household items and lets you enjoy a creative, low-impact weekend. The basic equipment is a stainless steel pot, a stirring spoon, gloves to protect your hands, and a fine mesh strainer.

Natural Fabric Dye Materials

Gather a large stainless steel pot (one you won’t use for food later), something to stir with, and a mesh strainer. Gloves are recommended to avoid staining your skin. You’ll also want a kitchen scale if you plan to mordant fabric with alum—to measure the correct proportion.

Fabric

Natural fibers take dye best. Cotton, linen, wool, and silk absorb natural dyes much more reliably than fully synthetic fabrics. If you want a vegan option, stick with cotton or linen rather than animal fibers. Use items you already own—old sheets, tea towels, shirts, or dresses work perfectly. Upcycling what you already have keeps the project sustainable.

Papery onion skins in water

Food Scraps

Save food scraps in airtight containers or freeze them until you’re ready to dye. Common dye sources include avocado pits and skins, onion skins, purple cabbage, black beans, tea leaves, spinach, blackberries, blueberries, beets, turmeric, and dried flowers like hibiscus. You can forage responsibly for flowers, leaves, grasses, or bark—just take only what you need and avoid damaging native plants. A good rule of thumb: anything that stains your clothes when spilled is likely to make a useful dye.

How to Make Natural Fabric Dye

Sort scraps by type and chop larger pieces to help release color. Use roughly twice as much water as scrap volume. Simmer the scraps in the water until the liquid reaches the desired intensity, then strain out solids. Before dyeing, prepare the fabric with a mordant to help the color adhere.

White fabric in a pot with alum mordant.

Mordant the Fabric

Natural dyes sometimes need a fixative, or mordant, to bind to fabric. Alum is a common, accessible mordant. Measure the dry weight of your fabric and use alum at about 10–20% of that weight (use a kitchen scale). Bring a large pot of water to a boil, remove a cup or two of hot water, dissolve the alum into that water, then return it to the pot. Add the fabric and simmer gently (do not boil) for about an hour, stirring occasionally. Turn off the heat and allow fabric and liquid to cool before removing the material. The fabric is now ready for dyeing.

White fabric in black bean dye.

Dyeing the Fabric

If the fabric dried after mordanting, wet it in warm water before dyeing. For more even color, strain the dye liquid so you’re only using the colored water rather than keeping solids in the pot. You can simmer the strained dye with fabric or simply let the fabric soak until the shade you want appears. Rinse dyed fabric in cold water until the rinse water runs clear, then hang to dry. To further set the color, iron the fabric or tumble-dry for a few minutes. Natural dyes may fade over time; you can always re-dye to refresh the color.

Onion skins turning water yellow.

Dyeing with Flower Petals

Flower petals and leaves make lovely, subtle prints. Arrange fresh petals or greenery on the fabric, cover with a sheet of plastic or a reusable acetate sheet, and gently hammer or bruise the petals to release color. Alternatively, fold the fabric over the arranged petals for a mirrored print. Mordanting first will help the botanical prints last longer; note that these impressions may still fade after washing.

Using natural dyes is a gentle, creative way to avoid harsh chemicals and give old garments new life. After dyeing, compost the spent scraps to close the loop and reduce waste further.

Dried hibiscus spilling out of jar

Getting Started with Natural Fabric Dye

Common foods and plants and the colors they typically yield:

  • Turmeric — orange/yellow
  • Red cabbage — blue/purple
  • Acorns — brown
  • Berries — purple
  • Avocado — peach/pink
  • Hibiscus — purple/blue/pink
  • Black beans — purple/blue
  • Nettles — green
  • Greens (celery leaves, spinach) — green
  • Onion skins — yellow/orange
  • Cherries — red/pink
  • Tea — brown

Blue and yellow tie-dyed shirt.

In this project I used onion skins, dried hibiscus, and black beans—ingredients I already had on hand. After mordanting the fabric in a saucepan, I soaked pieces in separate dye baths until I reached colors I liked. The hibiscus produced a purple-blue hue, and a little accidental contact between dyes inspired a tie-dye look that I loved.

Shirt dyed with hibiscus.

Natural dye projects involve experimentation—colors change with heat, mordanting, and soak time. Don’t be afraid to try different combinations and embrace unexpected results. If you try this, save your scraps, experiment safely, and enjoy giving old clothing fresh color and purpose.

Colorful natural fabric dye