Cloudy pool water is one of the most common service calls, and it is one of the most commonly misdiagnosed. The instinct is to reach for a clarifier or shock and hope for the best. But cloudy water has at least six distinct root causes, and the wrong treatment does nothing — or actively makes things worse.
This guide gives you a structured diagnostic approach: test first, interpret the pattern, then treat the confirmed cause.
Treating cloudy water without testing is guessing. Before adding any chemicals, test and record:
Also note: when did the water last look clear? Did anything change recently — heavy rain, high bather load, new chemicals, filter service? The history narrows the diagnosis quickly.
This is the most common cause, and the most important to address quickly. When free chlorine drops below the minimum effective level relative to CYA (the FC:CYA ratio), the pool loses sanitation before you can see algae. Bacteria and organic matter accumulate, and the water becomes hazy before it turns green.
Key indicators:
Fix: Shock to breakpoint chlorination. For a stabilized pool, this means raising FC to 40% of CYA or higher with a sustained 8-hour treatment. Run filter continuously.
High pH (above 7.8) is the second most common cause of cloudy water, and it is purely a chemistry issue — the water itself is fine from a sanitation standpoint, but the mineral balance is wrong. At high pH, calcium and carbonate ions combine and precipitate out of solution as microscopic calcium carbonate particles. These particles scatter light and make water appear milky or hazy.
Key indicators:
Fix: Lower pH to 7.4–7.6 using muriatic acid or sodium bisulfate (dry acid). As pH drops, the calcium carbonate re-dissolves and water clears within 24–48 hours. No clarifier needed.
Water that has been in service for years without partial drain-and-refill gradually accumulates dissolved minerals. Very high TDS (above 3,000 ppm in a non-salt pool) reduces water clarity and makes it more difficult to maintain chemistry balance. Combined with elevated calcium hardness (above 400 ppm) and high pH, precipitation cloudiness becomes chronic.
Key indicators:
Fix: Lower pH first. If scale and cloudiness persist despite correct pH, a partial drain (25–33%) and refill dilutes the accumulated minerals. No chemical treatment resolves truly high TDS — dilution is the only permanent fix.
Algae does not start green. The earliest stage of an algae bloom is a slight haziness, often with a faint greenish tint that is easy to miss indoors or in a pool with colored plaster. By the time water is visibly green, algae is well-established. Catching it at the hazy stage allows for much faster treatment.
Key indicators:
Fix: Full algae treatment protocol — lower pH to 7.2, shock aggressively to 40% of CYA, brush thoroughly, run filter continuously. Do not use clarifier during active algae treatment; the coagulated particles include dead algae that must be filtered out.
A pool with a dirty, torn, or undersized filter can have perfect chemistry and still be cloudy. The filter's job is to remove fine particles that chlorine cannot. When the filter is compromised, those particles stay in suspension.
Key indicators:
Fix: Service the filter — backwash sand or DE, clean or replace cartridges. For DE filters, verify correct media charge (1 lb per 5 sq ft of filter area). Increase daily runtime to 10–12 hours until water clears.
This is a normal, temporary condition. Heavy shocking rapidly oxidizes large amounts of organic matter, creating a sudden load of fine dead-organic particles. The water turns hazy or white-cloudy within hours of a large shock dose. This is a sign the shock worked — not a sign of a problem.
Key indicators:
Fix: Run filter continuously and wait 24–48 hours. If still cloudy after 48 hours, a clarifier dose can help coagulate remaining fine particles for the filter to capture.
| Symptom Pattern | Likely Cause | Primary Fix |
|---|---|---|
| Hazy, FC low, CC elevated | Low chlorine / early loss of sanitation | Shock to breakpoint chlorination |
| Hazy/milky, pH above 7.8, FC fine | High pH — calcium carbonate precipitation | Lower pH to 7.4–7.6 |
| Persistent hazy, high CH + high pH, scale visible | Supersaturated water / high TDS | Lower pH; partial drain if CH very high |
| Hazy with greenish tint, slippery walls | Early algae bloom | Aggressive shock + brush + filter |
| Hazy, chemistry all in range, high filter pressure | Filtration failure | Service filter; increase runtime |
| White-cloudy within 12 hrs of heavy shock | Normal post-shock particulate | Run filter; wait 24–48 hrs |
| Bright white milky, appeared suddenly | Air in plumbing (check pump lid/suction) | Inspect and fix air leak |
Clarifiers (also called coagulants) work by causing fine particles to clump together into larger particles that the filter can capture. Products like BioGuard Polysheen Plus, Hayward Polysheen, or Natural Chemistry Pool First Aid use polyquaternary ammonium compounds or chitosan-based agents.
When to use clarifier:
Dosing: follow label directions carefully. More clarifier is not better — overdosing causes the water to go from cloudy to milky white as excess clarifier forms its own colloidal suspension.
Flocculant (alum, or "floc") causes particles to coagulate so rapidly and completely that they sink to the bottom as a visible cloud of sediment. This is faster than clarifier but requires manual vacuuming to waste — the flocced material must be vacuumed out before it can cloud the water again.
When to use floc:
Important: Floc only works if you have a multiport valve on your filter set to waste — you must vacuum to waste, not to filter, or the sediment immediately returns to the water.
PoolLens lets you log each step of this sequence and track the recovery over time, which is especially useful for persistent cloudiness where you need to know whether treatments are actually working or whether you need to escalate to a different approach.
PoolLens logs your test results, tracks trends, and keeps a complete service history — so you always know what changed and what fixed it.
Open PoolLens Free →