Materials & tools you'll need

100% white wool yarn (8 oz) · 3 lbs dried onion skins · Aluminum sulfate (2 tbsp) · Cream of tartar (1 tbsp) · Large pot for dyeing · Yarn needle for weaving in ends · Gloves, mask, and safety goggles

A quick safety note: you'll be working with hot water and dye chemicals throughout this project. Wear gloves, a mask, and safety goggles, and keep dye pots and equipment separate from anything used for food preparation afterward.

Step 1 — Scour the wool yarn

Before your yarn will take dye evenly, it needs to be completely free of any oils, dirt, or processing residue. Soak the white wool yarn in a pot of pH-neutral dish soap water for about 30 minutes, or until the water turns visibly murky. Rinse the yarn thoroughly under clean water until it runs clear, then let it dry fully before moving on. Skipping this step is one of the most common reasons natural dye comes out blotchy or pale.

Step 2 — Prepare the mordant solution

In a clean pot, combine 2 tablespoons of aluminum sulfate with 1 tablespoon of cream of tartar in water, stirring until both are fully dissolved. This mordant solution is what allows the wool fibers to bond properly with the onion skin dye later — without it, colors from natural dyes tend to wash out quickly and fade unevenly over time.

Step 3 — Mordant the yarn

Add your scoured, dry wool yarn to the mordant solution and let it soak for about 1 hour, keeping the pot at a gentle simmer rather than a rolling boil to protect the wool fibers. Once the hour is up, you can either dye the yarn immediately while it's still wet from the mordant bath, or let it dry and store it for dyeing later — mordanted yarn keeps well if you want to prep a batch ahead of time.

Step 4 — Simmer the onion skins to make the dye bath

Fill a large pot with water and add the 3 lbs of dried onion skins. Bring the mixture to a gentle simmer and let it cook for 1 to 1.5 hours, until the skins turn translucent and the water has taken on a deep amber-brown color. Once the color has fully developed, strain out the spent onion skins and set the liquid dye bath aside — this broth is what will color your yarn in the next step.

Step 5 — Dye the yarn in the onion skin broth

Return the strained onion skin dye broth to the pot and add your pre-mordanted yarn. Simmer the mixture gently for 45 minutes, turning the yarn occasionally so the color develops evenly throughout the skein. At this stage the yarn will take on a warm gold to amber tone — this is your base colorway before any modifiers are introduced.

Step 6 — Modify the color for army green and gold

To get both a gold and an army green result from the same dye batch, divide your freshly dyed yarn and treat each portion differently. Leave one portion as-is, or finish it in a wood ash water after-bath to brighten and deepen the warm gold tones. Dip the other portion into an iron water after-bath, which saddens the dye and pulls the warm gold toward a muted, earthy army green. Soak each portion in its after-bath for the remainder of the day, checking periodically until you're happy with the depth of color.

Step 7 — Rinse, wash, and finish

Rinse both portions of yarn thoroughly until the water runs clear, then wash with a gentle wool wash to remove any remaining residue from the mordant or modifier baths. Let the yarn dry fully out of direct sunlight. Once dry, weave in any loose ends with a yarn needle and block the finished skeins if desired. You'll be left with two complementary, naturally dyed colorways — a warm gold and a muted army green — both from the same batch of saved onion skins.

Frequently asked questions

How much dried onion skin do you need to dye 8 oz of yarn?
This project uses about 3 lbs of dried onion skins to dye 8 oz of white wool yarn. Saving skins from cooking over time is an easy way to collect enough for a batch without buying anything extra.

Why mordant yarn before dyeing with onion skins?
Mordanting with aluminum sulfate and cream of tartar makes the wool fibers receptive to the dye. Without it, the color from the onion skins will bind unevenly and fade much faster after washing.

What colors can you get from onion skin dye?
On its own, onion skin dye produces warm gold, amber, and rust tones on wool. Adding a color-modifying after-bath shifts part of the yarn toward a deeper army green, giving you two distinct colorways from the same dye batch.

How do iron water and wood ash water change the final color?
Iron water saddens the dye, pulling the warm gold tones toward a muted army green. Wood ash water is alkaline and tends to brighten and deepen the yellow-gold side of the colorway instead. Try both on separate small test skeins before committing your full batch.

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 →