Materials & tools you'll need

Onion skins (5–10 pounds, depending on desired colour intensity) · Dish soap · A pillowcase or cotton fabric · Wool and cotton yarn (approximately 200 yards for yarn, 1 yard for the pillowcase) · Large pot · Small pot · Warm rainwater (about 5 gallons) · Iron water · Optional: wool wash for softening · Gloves and a mask are recommended when handling hot liquids and dye materials

Step 1 — Build the onion skin dye bath

In a small pot, combine your onion skins (roughly 5–10 pounds depending on how intense you want the final colour) with 2 tablespoons of dish soap. Add enough water to fully cover the onion skins, then bring the pot to a simmer and let it simmer for about an hour. This extracts the colour from the skins, giving you a rich dye liquid to work with in the later steps.

Step 2 — Set up the large pot with your fabric and yarn

While the onion skins simmer, rinse your pillowcase or cotton fabric and set it aside. Fill a large pot with about 5 gallons of warm rainwater, then add your wool and cotton yarn, making sure everything is fully submerged. Add 2 tablespoons of dish soap to the large pot as well — this helps dissolve any oils on the wool and cotton before dyeing begins.

Step 3 — Heat both pots gently

Bring both the small pot and the large pot up to a temperature just below simmering, with only a few scattered bubbles breaking the surface. Keeping the heat gentle at this stage helps dissolve any remaining oils in the wool and cotton without agitating the fibres enough to cause felting — this matters most for the wool, which felts easily with heat and movement combined.

Step 4 — Cook the wool and cotton to time

Wool yarn typically needs about 30 minutes at this gentle heat to fully take the dye. Cotton fabric takes longer — expect an hour or more, since cotton needs a more vigorous boil and longer exposure to absorb colour as thoroughly as wool does. Keep an eye on both pots and adjust timing slightly based on how deep a colour you're aiming for.

Step 5 — Rinse and finish the wool yarn

Once the wool yarn has finished cooking, rinse it under running water to remove excess dye liquid. Then soak it in cold water with a neutral detergent, such as a wool wash, and an optional fabric softener for about 30 minutes. Rinse again until the water runs clear, gently squeeze out the excess water, and hang the yarn outside to dry in a shady spot for the day. The yarn may lighten slightly as it dries, but it will keep its beautiful colour overall.

Step 6 — Rinse the pillowcase

Once your pillowcase or cotton fabric has finished its time in the dye bath, rinse it thoroughly to remove the coloured onion skin liquid. At this stage you'll have a base onion-skin colour on the fabric — the next step is where the iron water comes in to shift that colour further.

Step 7 — Modify the pillowcase colour with iron water

Soak half of the pillowcase in iron water to modify its colour — this reaction produces a stunning yellow hue on the treated section, giving you a clear visual contrast against the untreated half. Handle the iron water with care and avoid letting it touch your skin or clothing, since it can stain. Once you're happy with the result, allow both the wool yarn and the pillowcase to air dry completely before using or washing them.

Frequently asked questions

Can I use other fabrics besides a pillowcase or cotton fabric to dye with onion skins and iron water?
Yes, you can experiment with other fabrics like linen, silk, or hemp, but results may vary depending on the fabric's composition and texture.

How can I achieve different shades in onion skin dyeing?
To achieve different shades in onion skin dyeing, adjust the amount of onion skins used, the simmer time, or soak the fabric in iron water afterward for colour modification.

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 →