You did the water change yesterday, or you set the tank up on Sunday, and now the water looks like watered-down milk. Fish are still swimming, no obvious disaster, but the tank has gone from crystal-clear to hazy overnight and you can barely see the back glass.
This is one of the most common questions we get. There are seven distinct causes of cloudy aquarium water, and the fix for each is different. Guessing wrong wastes time and often makes it worse. This guide walks you through diagnosing which one you’re actually looking at, and what to do about it.
This article contains affiliate links. If you buy through one of them, FishForever earns a small commission at no cost to you. We only recommend products we’d use ourselves. See our Affiliate Disclosure.
Diagnose by colour
Different causes produce different colours. Start here:

- Milky white / slightly bluish — bacterial bloom (most common in new tanks, or after a big water change / filter clean)
- Grey / dusty white — substrate dust, especially in a newly set-up tank
- Green / greenish tint — free-floating algae (“green water”)
- Brown / amber / tea-coloured — tannins from wood or leaves (usually not a problem)
- Yellow / smelly — waste and organics accumulating, water needs changing
- Cloudy with a sheen on the surface — protein film, poor surface agitation
- Cloudy AND fish are gasping — chemistry crash or oxygen depletion; treat as urgent
Match your tank to one of those and jump to the section below.
1. Bacterial bloom (milky white)
What it is. A population explosion of free-floating heterotrophic bacteria feeding on excess organic matter. Extremely common in the first 3–6 weeks of a new tank, and after any event that disturbs the biological balance (big water change, deep gravel clean, filter media replaced, medication dosed).
How to identify it.
- Milky white or slightly blue-tinged haze
- Appears within days of setting up a tank OR after a big maintenance event
- Fish appear normal, gill function normal
- Water still tests OK for ammonia (usually)
What to do.
- Do NOT do a big water change. This makes it worse — you’re removing some bacteria and leaving even more food for the survivors to feast on.
- Do NOT dose “water clarifier” (Nutrafin Waste Control, King British Clear Water, etc.). They work by clumping bacteria together and can strip beneficial bacteria you’re trying to establish.
- Feed lightly — half normal, every other day.
- Test water daily with an API Freshwater Master Test Kit. If ammonia is above 0, your tank isn’t cycled — see our UK cycling guide. This is the underlying issue.
- Wait. A bacterial bloom self-resolves within 5–14 days once the excess organics are consumed and the bacteria run out of food.
If it’s a brand-new tank, the bloom is normal cycling and will resolve as the nitrifying bacteria establish. Patience beats intervention.
2. Substrate dust (grey/dusty)
What it is. Fine dust from gravel or sand suspended in the water. Almost always happens with new setups because the substrate wasn’t rinsed thoroughly enough before installation.
How to identify it.
- Appears within hours of setting up a new tank
- Grey rather than white
- Dust visibly settles when the filter is turned off
- Fish (if any) appear normal
What to do.
- Run the filter — most mechanical filtration will clear substrate dust within 24–72 hours.
- Replace the filter floss / sponge after 2–3 days if it’s visibly clogged.
- Next time, rinse substrate in a bucket until water runs clear before putting it in the tank. Sand needs 10+ rinses. Gravel needs 5+.
- If it’s still cloudy after 5 days with the filter running, add a fine-mesh polishing filter pad — Fluval Prefilter Pad or aquarium polishing pad works.
3. Green water (algae)
What it is. Free-floating single-cell algae blooming in the water column. Caused by too much light + excess nutrients (nitrate, phosphate) + not enough plants to compete.
How to identify it.
- Green or greenish-yellow tint
- Water may glow slightly in bright light
- Usually develops over weeks, not overnight
- Common in south-facing rooms or tanks near windows
What to do.
- Reduce lighting — cut photoperiod to 6 hours. Move tank away from windows.
- Blackout treatment — cover the tank with towels for 3–4 days completely. No light. The fish are fine; the algae dies. Do a 50% water change after.
- Add more real plants — floating plants (Amazon frogbit, water sprite) are ideal because they outcompete algae for light and nutrients from above.
- UV steriliser — the nuclear option. An aquarium UV steriliser attached to the filter output kills free-floating algae in 3–5 days. £25–£60 depending on tank size.
- Reduce feeding — excess food fuels nitrate which fuels algae.
For a longer treatment of algae generally, see our aquarium algae guide.
4. Tannins (brown/amber)
What it is. Organic acids leaching out of driftwood, bogwood, Indian almond leaves, or peat. Water turns yellow-brown, like weak tea.
How to identify it.
- Amber, honey, or tea-coloured
- Fish are happy — many species actually prefer this
- No detectable smell
- Developed after adding wood or leaves
What to do.
- Nothing, if you have soft-water species. Bettas, tetras, apistogramma, discus, wild-caught fish LOVE tannins. It’s ideal blackwater conditions.
- If you don’t want the colour: run activated carbon in the filter for 1–2 weeks. It strips tannins.
- Pre-soak new wood for a week in a bucket before adding to the tank. Removes the worst of the initial tannin release.
Tannins are not a problem. They’re a preference. See our how to lower pH guide for more on using them deliberately.
5. Yellow/smelly water (waste build-up)
What it is. Accumulated dissolved organic waste from fish, uneaten food, decomposing plant matter, and biofilm shedding.
How to identify it.
- Yellow tint deepening over weeks
- Slight to moderate smell (musty, swamp-like)
- Usually accompanied by high nitrate readings (>40 ppm)
- Fish may appear stressed, colour dulled
What to do.
- Two 50% water changes 24 hours apart with dechlorinated water at matching temperature. Use Seachem Prime or your preferred conditioner.
- Deep gravel vacuum — get all the substrate cleaned. A gravel vacuum with hand pump is essential kit.
- Reduce feeding — the tank was probably overfed.
- Test nitrate. If it’s over 40 ppm regularly even with weekly water changes, you’re overstocked or under-changing. Increase to twice-weekly 25% changes.
- Long-term: consider adding live plants which consume nitrate and organics directly.
6. Protein film on surface
What it is. A greasy-looking film on the water surface, made of dissolved organic material (proteins, fats) that can’t get through the surface tension.
How to identify it.
- Rainbow sheen on the water surface
- Usually accompanies mild cloudiness
- Surface looks “still” — no gas exchange happening
- Fish may hang near the surface gasping
What to do.
- Increase surface agitation. Angle your filter output upward to break the surface. Add an aquarium air stone if none.
- Skim the surface with a paper towel laid gently on top for 10 seconds. Removes the film immediately.
- Long-term: add a surface skimmer attachment to your filter intake — solves it permanently.
- Reduce feeding — protein films are usually a symptom of overfeeding.
7. Chemistry crash / fish gasping
What it is. The worst-case scenario. Water is cloudy AND fish are hanging at the surface gasping. Usually means either a pH crash (KH depleted, pH dropped rapidly killing beneficial bacteria and stressing fish), a massive ammonia spike, or oxygen depletion.
How to identify it.
- Fish clamped, gasping at the surface
- Cloudy water (any colour)
- Recent event: heavy feeding, dead fish undetected, filter failure, medication dose
What to do (in order, immediately):
- Turn on air stones / spray bar surface agitation immediately — increases oxygen.
- 50% water change with dechlorinated water at matching temperature. This dilutes whatever is killing them.
- Test water: ammonia, nitrite, pH, temperature. Whatever’s wrong needs immediate attention.
- Look behind decor for dead fish. A dead fish decomposing behind wood is often the cause.
- Check filter — power out? Impeller jammed? Restart if needed.
- Do NOT feed for 48 hours after a chemistry event.
- After 24 hours: another 50% water change. Keep testing daily.
Chemistry crashes kill fish within hours. Move fast.
The prevention pattern
Once you understand the causes, you’ll see that most cloudy-water problems come from the same three underlying issues:
- Overfeeding — the food fish don’t eat becomes bacterial food, waste, ammonia, nitrate.
- Under-cycling — putting fish in a tank before the beneficial bacteria are established.
- Under-changing water — waste accumulates faster than removal.
Weekly 25% water changes, careful feeding (only what fish clear in 2 minutes), and a properly cycled tank prevent 90% of cloudy-water incidents.
Bottom line
Cloudy water is a symptom, not a disease. Diagnose by colour, treat the underlying cause, and it doesn’t come back. Milky bacterial blooms in new tanks are normal and resolve themselves. Green water needs light/nutrient management. Yellow water needs more water changes. Fish gasping is an emergency.
Keep a good test kit on hand and test whenever water goes cloudy — the numbers tell you what’s actually happening.
If your tank is new, our UK cycling guide covers the process properly. Struggling with green algae specifically? See our aquarium algae guide. Not sure of your tank’s water volume? Volume calculator here.
— Jaqline Smalling, FishForever
Leave a Reply