All posts

Why is my hot tub cloudy when my chemistry is "perfect"?

The strip says everything is in range. Sanitizer good, pH good, alkalinity good. The water still looks like weak milk under the spa light, and it has looked that way for three days.

Here is the uncomfortable part: both things can be true at once, because a chemistry test and cloudy water are measuring different worlds. Your test measures what is dissolved in the water. Cloudiness is what is suspended in it: skin cells, body oils, lotion, soap residue, mineral dust, and the early stages of microbial growth. No test strip in existence reads "suspended particles." So when the numbers are perfect and the water is not, one of two things happened. Either the test measured the wrong things for this problem, or it measured the right things at the wrong time, and the water genuinely was fine at 9 a.m. and stopped being fine during last night's soak.

The small-volume amplifier

Everything about hot tub water care follows from one number: the volume. A typical tub holds around 350 gallons. A modest inground pool holds around 10,500. Same bathers, same lotion, same sweat, one-thirtieth the water to absorb it. Four people in a 350-gallon tub put the same load on each gallon as about 120 people would put on that pool.

Then heat multiplies it. At 102 to 104°F (39 to 40°C) people sweat into the water instead of just sitting in it, sanitizer gets consumed faster, dissolved CO2 gets driven off by the jets so pH climbs, and calcium carbonate becomes less soluble, not more, because its solubility runs backwards with temperature.

The practical consequence: a hot tub reading is a snapshot with a short shelf life. A few people in a small tub can use up the sanitizer in a single evening. "My chemistry is perfect" almost always means "my chemistry was perfect at the moment I tested," and in 350 hot gallons those are different claims. This matters most in winter, which is exactly when tubs get their heaviest use and their least frequent testing.

The real causes, ranked

1. The filter is loaded, or blinded with oil. The most common answer and the least glamorous. Chemistry does not remove particles; the filter does, and a spa cartridge is a small filter facing a per-gallon load a pool filter never sees. Worse, the load is oily: body oils, sunscreen, and lotion coat the pleats in a film that a garden-hose rinse does not cut, and an oil-blinded cartridge passes fine particles straight back to the jets. The routine that prevents this is boring and non-negotiable: rinse the cartridge weekly, and deep clean it monthly in a cartridge cleaning solution (overnight soak), because the soak is what strips the oil the rinse cannot. The diagnostic is just as simple: rinse the filter, run the pump, and give it 24 hours. If the water clears, this was the whole problem.

2. The sanitizer collapsed after the last soak. The timing failure. The water read 5 ppm of bromine before Saturday's soak. Ninety minutes and four bathers later it was near zero, and it sat near zero all night while the organic load that came off those four people fed whatever was in the water. By your Sunday morning test, your usual maintenance dose had brought the number back into the 4 to 6 ppm band, so the log says "perfect" and the haze says otherwise. The cloudiness is the debris of a sanitation gap the test never saw. The fix is to move your testing to where the load is: test after soaks, not just on schedule, and shock after heavy use rather than on a fixed calendar. If the water starts to smell or feel slick, that is a cue to test, not to guess. And if the deeper pattern is that the tub never seems to hold sanitizer at all between tests, that is its own problem with its own ranked causes: see why your hot tub won't hold chlorine.

3. Biofilm in the plumbing. The one people find last. A hot tub's plumbing holds warm, wet, dark surface area, and bacteria colonize it as a slime layer that free sanitizer in the water column barely penetrates once it is established. The signature is cloudiness that shocking fixes for a day and never longer, often with a slick feel on the shell at the waterline and a smell that keeps coming back. Shocking kills what is floating; the film in the lines re-seeds the water within hours. The fix is mechanical, not chemical maintenance: run a spa line purge product before your next drain, watch what it flushes out (it is usually convincing), then drain, wipe down, refill, and keep sanitizer inside its band consistently so the film cannot re-establish.

4. Scale: alkalinity and calcium meeting hot water. The mineral version of cloudy, and the one "perfect" strip readings miss most often because the readings sit at the top of their ranges rather than outside them. The mechanism is a chain: jets strip CO2 out of the water, which pushes pH up; heat makes calcium carbonate less soluble; and high total alkalinity supplies the carbonate. Run TA near 120 ppm or above with pH drifting toward 7.8 in 104°F (40°C) water and calcium carbonate starts precipitating as a fine white dust that reads as milky haze, collects as grit at the waterline, and plates onto the heater element. This is why spa TA targets run lower than pool targets, 60 to 120 ppm against a pool's 80 to 120, and why calcium hardness for a tub sits at 150 to 250 ppm rather than a pool's 200 to 400. The tells that separate scale from the other three: the haze is distinctly white, filtering time does not touch it, pH keeps creeping up between tests, and surfaces feel rough rather than slick.

A diagnosis path that converges

  1. Touch and smell first. Slick shell at the waterline points to organics or biofilm. Gritty points to scale. Neither points to the filter or a sanitizer gap.
  2. Test immediately after the next soak, not the next morning. Sanitizer at or near zero after bathers is cause 2, and no morning test would ever have shown it.
  3. Rinse the filter and run 24 hours. Clears: cause 1. Doesn't: keep going.
  4. Look at where pH and TA sit inside their bands. Both riding the top, pH rising week over week, white haze: cause 4. Bring TA down into its band and the pH drift and the dust stop together.
  5. Clears after shocking but returns within a day: cause 3. Purge the lines, then drain.
  6. Nothing fits and the water is more than three or four months old: just drain it. In 350 gallons, everything that does not evaporate accumulates fast, and old, solids-loaded water resists clearing no matter what you add to it. A drain and refill is four hours and a fresh start; a bottle of clarifier on top of tired water is a delay.

The short version

A test measures dissolved chemistry; cloudiness is suspended particles; and in a 350-gallon tub at 104°F (40°C), any reading is stale by the end of the next soak. So "perfect chemistry, cloudy water" is almost always the filter, a sanitizer that collapsed under bather load after you tested, biofilm in the lines, or carbonate scale from TA and calcium riding high in hot water, roughly in that order. The habit that prevents all four is the same one: test when the load happens, not just when the calendar says.

That habit is exactly what Basinly is built around. Log a quick test after the soak and it turns the numbers into one stability score, sizes any bromine dose to your tub's actual gallons in level spoons rather than pool-sized cups, follows a spa dose with a retest prompt about 15 minutes later, and nudges you when a test is overdue, so the gap between "was fine" and "is fine" stops being where the cloudiness lives. The weekly filter rinse and the monthly deep clean fit there too, as recurring reminders that arrive the morning they are due.