Green but My Chemical Levels Look Fine?
You're seeing: Algae or cloudiness, but your test (or the pool store) says chlorine is fine.
Your chlorine is almost certainly too low for your CYA — a reading of 3 ppm is fine at CYA 40 but near-useless at CYA 90, because CYA locks most chlorine into reserve. Get an accurate CYA number with a real kit, compare your FC to the minimum for that CYA, and SLAM. Strips and store tests hide this.
This is the most common pool mystery there is: the water is green or cloudy, but your test — or the pool store — says the chlorine is “fine.” It almost always comes down to one thing.
The short answer: your chlorine is too low for your CYA
Free chlorine isn’t a fixed target. CYA (stabilizer) binds most of your chlorine into a protected reserve, leaving only a small active fraction to actually kill things. The more CYA, the higher your FC has to be to keep the same killing power.
So a reading of 3 ppm free chlorine is:
- Plenty at CYA 30 (minimum there is 2), but
- Below the minimum at CYA 80–100 (minimum there is 6–8).
Same “3,” completely different pool. If your CYA has crept up (usually from tablets), your “normal” chlorine has quietly fallen below what algae needs to grow — and it grows. See the full FC/CYA chart.
Is your "fine" chlorine actually under the floor?
Enter your CYA and your current FC — if the verdict says you're below the minimum, you've found your green pool.
Straight off Trouble Free Pool's FC/CYA chart (minimum ≈ 7.5% of CYA, SLAM ≈ 40%), snapped to the nearest published row — the chart table stays the source of truth. Exact doses for your gallons: the chemical calculator. CYA way over 100? More chlorine isn't the fix — lowering CYA is.
Why your test says everything’s fine
Test strips and store tests hide this two ways: they’re imprecise, and they often read total chlorine (free + combined), so a pool full of chloramines can look “chlorinated” while true free chlorine is near zero. Pool-store computer readouts are also inconsistent on CYA — the same water can read very differently store to store, and that’s the exact number you need to be right.
Do this
- Get an accurate CYA with a real drop-based kit (not a strip, not the store).
- Compare your free chlorine to the minimum for that CYA (7.5% of CYA). If FC is below it, that’s your answer.
- Confirm with the overnight loss test: measure FC after sundown and again at sunrise. More than 1.0 ppm lost overnight = something is eating it.
- Run the SLAM process at the SLAM level for your CYA until it passes all three exit criteria.
- If CYA is very high (90+), partially drain and refill to bring it down (see how to lower CYA) — otherwise your required chlorine stays punishingly high forever.
The fix here is almost never a new bottle from the shelf. It’s the right free-chlorine level for the CYA you actually have — which is the whole less-is-more idea in one problem.
Frequently asked
Why is my pool green when the chlorine level is normal?
Almost always because your CYA (stabilizer) is high, which makes 'normal' chlorine effectively too low. CYA binds most free chlorine into a reserve; the higher the CYA, the more FC you need for the same active chlorine. A reading of 3 ppm is plenty at CYA 30 but below the minimum at CYA 80–100, so algae grows. Test your actual CYA, then compare your FC to the minimum for that number.
Can test strips be wrong about chlorine?
Yes. Strips are imprecise and often read total chlorine (free + combined), so a pool full of chloramines can look like it has chlorine when true free chlorine is near zero. Pool-store computer tests are also inconsistent on CYA — the same water can read very differently from store to store. Use a drop-based FAS-DPD kit and an accurate CYA test before trusting any 'your levels are fine.'
How do I confirm my chlorine is actually working?
Run the overnight chlorine loss test (OCLT): measure FC after sundown and again before sunrise. If it drops more than 1.0 ppm with no sunlight to blame, something organic (algae) is eating it — your chlorine is losing the fight regardless of the daytime number. Then SLAM.