Use These 5 Food Scraps To Naturally Dye Your Clothes In Gorgeous Colors

April 10, 2023

There’s something almost sacred about the act of dyeing clothes. There’s an intentionality to it—carefully selecting the color, preparing the dye, and then dipping the fabric in the concentrate to watch the color transform. Although fabric is now commonly dyed with Rit, for generations fabric has been dyed naturally—with plants and food scraps.

Before you throw out your next food scraps, transform that trash into treasure with these natural food dyes. 

All-Natural Dyes Made from Food Scraps

Avocado Pits (Pinks/Peach)

avocados against a pink background

Despite their green fatty flesh, avocado pits actually dye cloth an earthy pink hue. Boil three to six avocado pits or skin to create your fabric dye. As a rule of thumb, fresh avocado pits/skin tend to give the most vibrant color and vary in color depending on the country of origin, breed, and season, according to blogger Rebecca Desnos.

Onion Peels (Yellows, Browns, Oranges) 

onion skins

Next time you plan to throw out those onion peels, save them for dyeing instead. Onion skin colors range from brown and orange to vibrant yellows and greens. Since onion skins are rich in tannins, no mordant is needed to bind the color to the fabric. 

When considering the quantity of onion skins to prepare, that will depend on how much dye and how strong a color you’d like. Cedar Dell Designs recommends several handfuls poured into a large pot. 

Black Beans (Blues, Greens)

black beans

For a black bean dye, it’s recommended to buy dry black beans and soak them in water, allowing the dye to sink into the water. Black beans can result in a gorgeous navy and forest green for the perfect winter color palette. 

Red Cabbage (Purples, Blue, Green)

person holding red cabbage

Don’t let the word ‘red’ fool you—despite its inaccurate name, red cabbage actually dyes your fabrics anything from a lavender to a delightful indigo. Since red cabbage is incredibly sensitive to pH, you can also change the color of your dye with ingredients like baking soda. When baking soda is included in the dye, you’ll notice the color transform from purple to a blue or green. Unlike the forest green of black beans, red cabbage produces an almost sea-like green with hues of blue underneath. 

Dying Your Fabric Naturally

Once you’ve chosen your dye and food scrap of choice, follow these steps to dye your fabric in a manner that will stick through wash and wear. 

Step One: Create a Dye Bath

Start the natural dyeing process by creating a dye bath with your food scrap of choice. Place your preferred food scrap into a pot and fill with water, bringing to a boil and then simmering for one hour. After an hour, turn off the heat and let your dye sit overnight to create a more vibrant dye. 

Step Two: Prepare Your Fabric

Before you begin the dye process, it’s important to first first prep your fabric. Boil water with ¼ tsp of laundry detergent and ⅛ cup soda ash. Once boiled, submerge your shirt and bring it down to a simmer, stirring constantly for the first two minutes and then occasionally every 10 minutes. This process is used to thoroughly clean your shirt for an even dye. Let it dry and set aside. 

Step Three: Add a Mordant

Simply put, a mordant is a substance that interacts with dye and fixes it to a material. It not only prevents dyes from fading in fabric, but also increases the brightness of the colored dye. Traditional mordants include copper, tin, iron, chrome, and alum. The best mordant depends for your project on the food scrap you use, but as a general rule of thumb alum is one of the most commonly used and can be found in most grocery stores in the spice aisle. 

To add mordant to your fabric, stir a few teaspoons of alum into boiling water and pour that into a stainless steel pot of cool water. Stir in the fabric and simmer for an hour. (Note: Avoid using a cooking pot and thrift a fabric dying pot instead.) 

Step Four: Dyeing Your Fabric

Once your dye has sat overnight, put your dye back in a pot and bring it to a boil. Once boiling, place your fabric in the dye bath and stir regularly for two minutes and then every ten minutes for the next hour. The color will lighten a bit after you remove the fabric, so leave the fabric in longer for a more vibrant dye. 

Step Five: Rinse & Dry

Once your fabric has steeped in the dye, rinse your fabric and let the fabric dry. After that, you should have a gorgeous and newly dyed fabric to add to your collection. Dye anything from table clothes and t-shirts to yarn and pillow cases.


Dyeing naturally is incredibly sustainable and a great way to save white clothes and fabrics after they’ve stained or yellowed. Pick your food scrap of choice and enjoy a new colorful, eco-conscious wardrobe.

Also by Dana: 5 Brilliant Ways To Upcycle Your Perfume

Waterless Beauty: Products To Conserve Water In Your Beauty Routine

Get more like this—Sign up for our daily inspirational newsletter for exclusive content!


Photo: Any Lane via Pexels; Ksenia Chernaya via Pexels; Anna Tarazevich via Pexels; Cottonbro Studio via Pexels

Dana Drosdick
Dana is a marketer living in Saratoga Springs, NY with a passion for all things related to stewardship, faith, wellness, and personal enrichment. Her work has been featured in various Chicken Soup for the Soul anthologies, The Odyssey Online, and The Banner Magazine. Follow her at @danadrosdick on Instagram for foodie trends, her latest book recommendations, and far too many photos of clementines.


always stay inspired!