Materials & tools you'll need

Yellow onion skins · Dish soap · Washing soda (or homemade washing soda) · Gloves · Cheesecloth or a strainer · Measuring cups · Alum, a white pickling salt (for pre-mordanting wool only) · Iron water, made by soaking rusty objects in a 50-50 solution of white vinegar and water for two weeks to a month (for the green variation only) · Wool yarn and/or a 100% cotton white pillowcase or fabric to dye · A large non-reactive pot (stainless steel, ceramic, or glass) — a second pot is recommended for smoother project completion

Step 1 — Prepare the onion skins

Gather several layers of yellow onion skins — the more skins you use, the darker the final colour will be. Rinse them gently to remove any excess dirt before adding them to your dye bath.

Step 2 — Prepare the dye bath

In a large non-reactive pot, combine 4 cups of water with your cleaned onion skins. Cover the pot and let it simmer for approximately 30 minutes. This extracts the beautiful orange-gold colour from the skins that will form the base of your dye.

Step 3 — Prepare the wool (optional)

If you're dyeing wool, pre-mordant it by soaking your yarn in a solution of 2 tablespoons of alum and 4 cups of water for at least one hour. This helps the dye adhere more effectively to wool's protein fibres. Rinse the yarn thoroughly afterward. Cotton does not need this step — its cellulose fibres bond naturally with the tannins in onion skin dye without any pre-mordanting.

Step 4 — Prepare the iron water (optional, for green dye)

If you want to create a green onion skin dye, prepare iron water ahead of time by soaking rusty objects in a 50-50 solution of white vinegar and water for two weeks to a month. Once ready, strain out the objects and reserve the resulting liquid to use as your iron mordant.

Step 5 — Combine the dyes for a green variation

For a green onion skin dye, mix equal parts of your onion skin dye and iron water before adding the items you plan to dye. The iron reacts with the tannins in the onion skin dye to shift the colour from orange-gold toward green.

Step 6 — Dye the fabric or yarn

Add your cleaned fabric or yarn to the dye bath and stir gently to ensure even coverage. For best results, maintain a gentle simmer for at least 30 minutes — avoid letting it boil vigorously, as this can cause uneven colour distribution across the fabric or yarn.

Step 7 — Rinse and dry

Once you're satisfied with the depth of colour, carefully remove your items from the dye bath and rinse them under cool water until the water runs clear. Gently squeeze out the excess water, then hang your creations to dry completely before using or washing them.

Frequently asked questions

Can I use onion skin dye for both cotton and wool fabrics?
Yes, onion skin dye works on both cotton and wool. Cotton needs no pre-mordanting because onion skin dyes contain tannins and compounds that naturally bond with cellulose fibres. Wool, being a protein fibre, benefits from pre-mordanting with alum to improve dye absorption and colour permanence — a step that only works on protein fibres like wool, not on cellulose fibres like cotton.

Enjoyed this tutorial?

Find 60+ free tutorials on YouTube. Grab a pattern from the Etsy shop, or go deeper with a community membership.

Free tutorials on YouTube →    Shop on Etsy →    Join the community →