Home Improvement

How to Get Hair Dye out of Tub: Easy DIY Methods

The dye is magenta, the tub is white, and your partner is asking what happened. How to get hair dye out of tub finishes depends on two things: what the tub is made of and how long the stain has been there. Fresh dye on porcelain comes off in 5 minutes with bleach. Two-day-old dye on fiberglass is a different animal that requires a softer chemistry and some patience. Using the wrong product can etch the finish, making the stain permanent by locking pigment into a micro-roughened surface. Here are six methods ranked by aggressiveness, starting with the gentlest.

Identify Your Tub Material First

Before reaching for any cleaner, figure out what you’re working on. Porcelain over cast iron feels heavy and cold and makes a dull ring when you tap it. Acrylic feels warm, slightly flexes underfoot, and sounds hollow. Fiberglass is lightweight, flexes more than acrylic, and often has a textured non-slip floor.

Porcelain handles aggressive cleaners. Acrylic tolerates most but scratches easily. Fiberglass is the touchiest — abrasives dull the gelcoat permanently, so start gentle.

Method 1: Dish Soap and Baking Soda Paste

Always try this first — it’s safe on every tub surface. Mix 2 tablespoons of baking soda with 1 tablespoon of Dawn dish soap and enough water to form a thick paste. Apply to the stain, let sit for 10 minutes, then scrub with a soft nylon sponge (never a Scotch-Brite green pad). Rinse with warm water.

This handles fresh stains less than 2 hours old. Cost: under $1. Time: 15 minutes. Success rate on fresh dye: 60 to 70 percent.

Method 2: White Vinegar Compress

For stains up to 24 hours old on any tub type, soak a paper towel or clean cloth in distilled white vinegar and lay it directly over the stain. Leave for 30 to 60 minutes, keeping it wet by reapplying vinegar. Remove and scrub with the dish soap paste from Method 1.

The acetic acid in vinegar breaks the ionic bonds that hair dye forms with surface finishes. Works especially well on red and pink dyes, which are the hardest to remove.

Method 3: Magic Eraser

A damp Mr. Clean Magic Eraser ($4 for a 4-pack) lifts dye from acrylic and porcelain surprisingly well. Wet the eraser, wring out excess water, and rub in small circles with light pressure. The melamine foam acts as a gentle abrasive.

Use with caution on fiberglass — the eraser can dull the gelcoat over time. Stick to the stained area and don’t scrub the surrounding tub.

Method 4: Hydrogen Peroxide

For stains 1 to 3 days old, 3 percent hydrogen peroxide from the drugstore ($2 a bottle) is a bleaching agent gentler than chlorine. Saturate a cloth, lay over the stain, cover with plastic wrap to slow evaporation, and leave 2 to 4 hours. Check every hour.

Peroxide oxidizes the dye pigment into colorless compounds. Safe on all tub types. Rinse thoroughly when done — any residue left under caulk can weaken the silicone.

Looking to buy How to Get Hair Dye out of Tub? Compare top-rated options.
Shop on Amazon →Browse Our Shop
As an Amazon Associate we earn from qualifying purchases.

Method 5: Oxygen Bleach

OxiClean Versatile Stain Remover ($10 for 3 lb) or BioKleen Oxygen Bleach are next-level solutions for stubborn stains. Mix 2 tablespoons in a cup of hot water, apply to the stain as a paste or saturated cloth, and leave for 30 to 60 minutes.

Oxygen bleach is safer than chlorine bleach — doesn’t off-gas, doesn’t damage septic systems, and works on most surfaces. Rinse with plenty of water when done.

Method 6: Chlorine Bleach (Last Resort)

Chlorine bleach handles dye stains that nothing else will. Use only on porcelain and some acrylic tubs — never on fiberglass or tubs with metal hardware nearby. Ventilate the bathroom, wear gloves, and open a window.

  1. Mix 1 part bleach with 4 parts water in a spray bottle
  2. Spray only the stained area — not the whole tub
  3. Let sit 5 to 10 minutes maximum
  4. Scrub with a soft nylon brush
  5. Rinse with copious fresh water for at least 60 seconds

Never mix bleach with anything else, especially ammonia or vinegar. The resulting chloramine gas is genuinely dangerous.

Commercial Products That Work

If you’d rather buy something designed for this, a few products earn their cost:

  • Bar Keepers Friend Soft Cleanser ($5) — mildly acidic, safe on most surfaces, removes red dye in 2 to 3 applications
  • CLR Bath & Kitchen Cleaner ($8) — strong on organic stains
  • Soft Scrub with Bleach ($4) — the gel formulation stays on vertical stains and works in 5 minutes
  • Goof Off Professional Strength ($10) — solvent-based, for the worst cases on porcelain

What to Avoid

  • Acetone and nail polish remover — can dissolve acrylic and fiberglass
  • Steel wool and scouring pads — permanently scratch every tub finish
  • Ammonia-based cleaners near bleach residue — toxic fumes
  • Leaving bleach on fiberglass more than a few minutes — yellowing and dulling
  • Mixing cleaning products — always stick to one at a time and rinse between

If the Stain Is Set

Dye older than 72 hours that has resisted all the methods above has probably penetrated micro-pores in the finish. At that point your options narrow to:

  • Professional tub refinishing ($400 to $650 for a full reglaze, $150 for spot repair)
  • Magic Eraser plus car polishing compound (Meguiar’s Ultimate Compound, $13) on porcelain only, using a soft pad on a drill at low speed
  • Living with the stain and planning to refinish during your next bathroom refresh

Don’t keep escalating chemistry on a set stain — you’ll damage the finish faster than you’ll lift the pigment.

Preventing Next Time

Hair dye stains tubs because home coloring sessions are messy. Before the next color, wipe petroleum jelly (Vaseline) around the ring inside the tub and along the floor where dye drips land. It creates a non-stick barrier that rinses off with warm water. Pair that with an old towel laid in the tub floor, rubber gloves throughout, and immediate rinsing of any drips — and learning how to get hair dye out of tub becomes a skill you rarely need.