DIY Onion Skin Natural Dye for Textiles

A Simple, Satisfying Experiment for Beginning Crafters

Four fibers and fabrics in green, brown, and yellow, dyed in an onion kin dyebath.

Anthony Deffina

There are many plants that can be used in a natural dye bath, but onion skins are one of the best to start with because they produce lovely colors that are easily extracted and the color tends to stick to fibers extremely well. While other natural colors require a fixative (called a mordant) to keep them from fading, onion skin dye does not.

Onion skins are readily available to nearly everyone, everywhere. Even if you don't have them planted in the garden, you can pick them up from your local farmer's market or grocery store. Remember that all you need is the papery, outer skins—not the whole onion. Ask your local grocer if you can "clean up" the onion bins.

Make an Onion Skin Botanical Dye

Chances are good that you have all you need in your kitchen right now with the exception of the yarn or fibers you'll be dying. It's important to note that you'll want to choose a fabric, fiber, or yarn that's made from natural materials; options are wide-ranging and include wool, hemp, cotton, or even linen (from the flax plant).

What You'll Need

  • Yarn, fiber, or fabric that's made from animal or plant fibers
  • Lots of onion skins; yellow, red, or both (there is no rule about the number of skins to use, but of course the more skins you use the richer your color will be)
  • Two stainless steel pots
  • Glass or plastic bowl
  • Mesh strainer
  • Stainless steel tongs
  • Heat source (such as a stove)
  • Water source (such as the kitchen sink)

Steps to Follow

  1. Although mordanting your fiber isn't necessary for an onion skin dyebath, you will want to be certain the fabric, yarn, or fiber is completely saturated with water before you begin. To thoroughly wet your material, add enough water to allow the fiber to float around freely in one of the pots. Add your yarn or fabric. Heat the water slowly, bringing it to a gentle simmer for about 20 minutes.
  2. Fill your non-reactive pot with about three times as much water as skins. The idea is to have enough room for them to float about freely even after they're simmering. Be sure that there's enough water for the fibers to do the same later on. Put the lid onto the pot and bring the bath to a boil. Then turn it down and let the onion skins and water simmer for about an hour.
  3. From time to time, as the onion skins boil, carefully lift the lid of your pot allowing the steam to escape before you check on the color. Longer boiling will release more dye, but only to a point. If you want a lighter shade you'll want to keep a careful eye on your pot.
  4. Place the mesh strainer over another pot, and drain the bath through the strainer so that the skins become separated from the bathwater. Place the dyebath back onto the stove. Once the bath is simmering again, add your wet fiber (or fabric) into the pot. Let the fiber simmer for 30 minutes.
  5. Using tongs, remove the fiber from the bath and place it into a bowl to cool down. Once it's cool enough to handle, rinse the fiber off in fresh water. It's especially important to rinse wool with water that's the same temperature as the dyed wool to prevent felting. Hang your fiber or fabric up to dry on a clothesline or portable drying rack that's been placed out of the direct sun.

Variations to Try

  • While mordant isn't necessary for onion skin dye, you can use a mordant (a bath in a solution of water and alum) to ensure colorfastness.
  • If you're interested in changing your onion skin color to green, simply dip your dyed fibers into an iron mordant solution.​
  • The onion skins can be switched out for other plants such as yellow and orange marigolds, cosmos, or coreopsis. Before selecting a plant to use for a dye, however, be sure to check that the plant is nontoxic and that the color to be extracted is exactly what you want.