If your shower door looks frosted two days after you cleaned it, the problem isn’t your scrubbing — it’s your water. The stains come back because dissolved minerals land on the glass every time someone showers, dry into a crust, and bond tighter with each cycle. Here’s how to tell what you’re dealing with, remove it without ruining the glass, and stop it from coming back.
Quick answer
Shower glass stains come from two causes and you need to know which one you have. Limescale — calcium and magnesium carbonate left when water dries — comes off with mild acid like vinegar or CLR. Silica etching is different: minerals slowly eat into the glass surface, and that cloudiness won’t come off with any cleaner because the glass is physically damaged. Test with vinegar. If the haze disappears, it’s removable scale. If it stays, the glass is etched.
What those spots actually are
Three things show up on shower glass and they aren’t the same problem.
Limescale (CaCO3) — When hard water droplets dry, dissolved calcium and magnesium carbonates fall out of solution and bond to the glass. This is the chalky white or grey crust you can scrape with a fingernail. It dissolves in mild acid: vinegar, CLR, or sulfamic acid.
Soap scum (calcium stearate) — Hard water plus soap creates an insoluble salt called calcium stearate. Soap won’t lather properly in hard water, and the unreacted soap binds with calcium ions to form a sticky grey film that traps mineral deposits. This is why shower glass looks worse than spots on a drinking glass — soap accelerates the buildup.
Silica etching (SiO2) — Shower glass is mostly silicon dioxide. Long-term exposure to hot alkaline water slowly roughens the surface at a microscopic level. Once the glass is etched, the cloudiness is inside the glass, not on it. No chemical cleaner reverses this — you’d need cerium oxide polish, a glass refinisher, or replacement. According to glass manufacturers like Schott and PPG, surface roughness above roughly 0.1 micrometers produces visible permanent cloudiness under diffuse light.

The diagnostic: soak a paper towel in white vinegar, press it against the cloudy area for 15 minutes, then scrub. If the haze lifts, it’s limescale. If it doesn’t, the glass is etched. Knowing this before you buy any product saves most people $50-$200 in cleaner refills that were never going to work.
Three ways to remove the buildup
If you haven’t tested whether your haze is removable yet, go back to the diagnostic above — pouring CLR on etched glass is wasted money.
DIY vinegar method (light to moderate scale)
White vinegar is 5% acetic acid — strong enough to dissolve calcium carbonate on contact but safe on glass, chrome, tile grout, and most sealants.
- Fill a spray bottle with undiluted white vinegar. Don’t dilute it — you want full strength.
- Spray generously and lay a paper towel over the wet surface to keep the acid in contact with the scale.
- Wait 15-30 minutes. Re-spray if it starts to dry.
- Scrub with a non-scratch sponge (blue Scotch-Brite, not green). Work in circles.
- Rinse with warm water and squeegee dry.
Supply cost runs about $13 for a gallon, which handles dozens of cleanings. The trade-off is time — 30-45 minutes per door, possibly a second pass on heavy buildup.
Don’t use steel wool or green Scotch-Brite — both scratch glass. Don’t soak metal frames, hinges, or aluminum tracks in vinegar for more than 30 minutes; acetic acid etches aluminum and darkens chrome.

Commercial CLR (moderate to heavy scale)
CLR uses stronger acids — primarily sulfamic and lactic. It works in 2-5 minutes instead of 30, which matters when a whole shower enclosure is coated.
Spray from the bottle, work one panel at a time, scrub with a non-scratch pad, and rinse thoroughly. Open a window or run the bathroom fan — the acid vapors are noticeable. Wear nitrile gloves, and the label recommends eye protection if you’re spraying overhead.
CLR is safe on glass, ceramic, fiberglass, and stainless. The manufacturer says to avoid natural stone (marble, travertine), aluminum, and any surface with a soft coating. Test on an inconspicuous spot first. Cost runs about $5 for a 22-ounce spray — one bottle handles a full shower enclosure with product left over for toilet bowl rings and faucet cleanup.
Eco / gentle (Bioclean)
Bioclean is a non-toxic, biodegradable paste rather than an acid spray. You apply it with a dry cloth or buffer and rub the stain out mechanically with some mild chemical help.
It’s slower than CLR on heavy buildup and works best on light to moderate staining and routine maintenance rather than emergency restoration. The reason to choose it is safety — no strong acid fumes, no gloves required, food-safe on surfaces, and you can use it with the bathroom door closed. Cost runs about $24 for a 20.3 oz jar, which covers 5-10 shower doors depending on how heavy the staining is.
How to choose your approach
Light haze that comes and goes
The glass looks foggy after a shower but clears when you wipe it with a dry towel. Minerals are sitting on the surface, not bonded.
Use a daily maintenance spray: one part vinegar to four parts water in a spray bottle. Spray and squeegee after every shower. Cost: under $1 per month.
White crusty buildup you can feel
Visible white or grey stripes along the water line, thicker than a fingerprint, won’t come off with glass cleaner.
Try full-strength vinegar soak (30 minutes) first. If that doesn’t work, switch to commercial CLR for faster results. When multiple panels are coated, going straight to CLR saves 30 minutes per panel — the $5 cost is worth it.
Permanent cloudiness that won’t respond to vinegar
You soaked a spot in vinegar for 30 minutes and scrubbed, and the cloudiness is still there. The glass surface itself is etched.
Stop buying cleaners — they won’t work. Options: try a cerium oxide glass polish kit ($25-40) if the etching is light; call a glass restoration service for expensive or oversized doors; replace the door if etching is widespread and the door is over 10-15 years old.
This branch exists because most hard water content never tells readers that some stains are permanent. Knowing this saves most readers from wasting money on products that can’t work.
Preventing new stains from forming
You cleaned the glass (or just moved into a place with new glass) and want to keep it clear. The layered approach, most to least effective:
- Daily squeegee — 10 seconds after every shower. A 10-inch stainless squeegee removes the most water before it dries into stains.
- Inline shower filter — reduces chlorine and some sediment at the shower arm. A shower filter runs $30-50, cartridge swap every 6 months.
- Hydrophobic coating — a Rain-X shower treatment causes water to bead and run off instead of drying in place. Reapply every few weeks.
- Whole-house water softener — eliminates hardness at the source. The most expensive option but the only one that protects every fixture, appliance, and pipe.
Why the stains keep coming back
All the cleaning above treats the symptom. The cause is dissolved calcium and magnesium in your water supply — roughly 85% of U.S. homes have at least moderately hard water, according to the U.S. Geological Survey.
If you only clean the glass and never address the hardness, stains return in 2-4 weeks. If you install a softener and keep the daily squeegee habit, the glass stays clear with no chemicals at all. The same hardness that clouds your shower door also builds up inside pipes, water heaters, and appliance valves — see our guide on how hard water affects pipes for the longer-term cost of ignoring it.
Before spending $500-$2,500 on a system, find out what you actually have. Test strips ($10 for a 50-pack) give a rough grains-per-gallon reading. A lab test through SimpleLab or your county extension ($30-60) gives actual gpg plus iron, pH, and anything else that affects sizing. Our water hardness guide explains what the numbers mean, and our gpg to ppm chart helps convert if your test came back in ppm.
Prevention layers
Daily layer
A 10-inch stainless squeegee prevents more staining than any other step on this page. Ten seconds per wall after every shower removes 80-90% of the water that would otherwise dry into mineral spots. Keep it on a hook inside the shower stall so nobody forgets — if the squeegee lives in a drawer, the habit dies in a week.

Maintenance layer
A hydrophobic coating causes water to bead and slide off instead of drying in place. Reapply every 3-4 weeks. Pair it with a quarterly deep clean using CLR for the maintenance cycle.
Systemic layer
An inline shower filter ($30-50, cartridge every 6 months) reduces chlorine and sediment at the shower arm — it’s renter-friendly and installs without a plumber. But understand what it is and isn’t: a shower filter is not a water softener. It reduces chlorine and improves spray quality; it does not remove hardness minerals in meaningful amounts. Only ion-exchange softeners (NSF/ANSI Standard 44) do that.
A whole-house softener eliminates hardness at the source. It’s the only option that protects every fixture, appliance, and pipe — but it costs $500-$2,500 installed and requires salt refills. Our salt-based vs salt-free comparison breaks down the trade-offs.
Salt-free honesty: salt-free conditioners may change how scale sticks, but they typically don’t bring hardness grains to zero on a test strip. Match the claim to your goal before buying.
Common mistakes
- Scrubbing harder instead of using acid. Limescale dissolves chemically, not mechanically. A razor scraper on dry glass pushes scale around without breaking the bond — you need acid contact time, not elbow grease.
- Using CLR on etched glass. If vinegar didn’t work, CLR won’t either. You’ll burn through $5-12 of product before realizing the glass is permanently damaged.
- Skipping the squeegee. The squeegee prevents more staining than any product on this page. Skipping it means re-cleaning every 2-4 weeks instead of preventing stains entirely.
- Treating a shower filter as a softener. Shower filters reduce chlorine and sediment. They don’t soften water. If your test strip reads above 10 gpg, no shower filter will fix that.
- Ignoring the hardness number. Cleaning products manage symptoms. If your water is 15 gpg, you’ll fight stains forever without a softener — our general glass stains guide covers the full system approach.
When to call a pro
Keep DIY if: testing hardness, daily squeegee routine, vinegar or CLR cleaning, replacing a shower filter cartridge.
Call a professional if: the glass is permanently etched and you want it polished or refinished; you’re installing a whole-house softener and need to cut into the main line; you suspect pipe or water heater damage from scale buildup on fixtures.
Key takeaways
- Test with vinegar before buying any product — if the haze lifts, it’s removable limescale. If it doesn’t, the glass is etched.
- Vinegar ($13 per gallon) handles light to moderate scale. CLR ($5) is faster for heavy buildup. Bioclean ($24) is the eco option.
- A 10-second squeegee after every shower prevents 80-90% of stains.
- Shower filters reduce chlorine, not hardness. Only a softener eliminates hardness at the source.
- Silica etching is permanent — no cleaner reverses it.
- Test your water before buying a system. Know your gpg number first.





