Cloudy or milky aquarium water: the 5 causes
Updated on August 26, 2026 · ~6 min read
The colour tells you the cause: milky white is nearly always a bacterial bloom in a young tank (it clears by itself in days), green is an algae bloom from too much light, yellow-amber is tannins from wood and harmless, fine grey is suspended substrate. Only milky white in a mature tank is a signal to investigate.
Cloudy water is alarming because it looks like dirt, and it is often nothing serious. But "cloudy" covers five different phenomena with five different causes, and telling them apart is nearly always a two-second job: look at the colour.
⚠️ First, though, one clarification worth making: clarity says nothing about water quality. Crystal-clear water can hold 1 ppm of ammonia and kill the fish; hazy water can be perfect. If there are fish in distress, the first thing to do is not to clear the water: it is to measure ammonia and nitrite.
1. Milky white: bacterial bloom
How it looks. The water looks like diluted milk, uniformly, and the fish appear blurred. Typical of a new tank, or of a tank that has just had a big water change, a lot of food added, or its substrate stirred up.
What it is. Heterotrophic bacteria multiplying en masse because there is a sudden abundance of organic matter to consume. They are in suspension, and it is their biomass that clouds the water.
What to do: wait. It resolves by itself in 3-10 days, when the nutrient that made them explode runs out. Meanwhile: reduced food, no massive water change (removing water does not remove bacteria, which reproduce), and more surface movement — because those bacteria consume oxygen, and that is the one aspect of the phenomenon that can harm the fish.
⚠️ If it appears in a mature tank, it is not normal: look for the cause. A dead animal out of sight, the filter stopped for a few hours, overfeeding. And this is the case where ammonia must be measured, because an organic load big enough to make heterotrophic bacteria explode may have exceeded the filter's capacity.
2. Green: algae bloom
How it looks. Green water, from a light tint to "pea soup" in which you cannot see a fish 10 cm (4 in) away. It grows over days.
What it is. Single-celled algae in suspension, thriving on excess light and available nutrients. The most frequent cause is a tank exposed to direct light from a window, or too long a photoperiod.
What to do.
- Total blackout for 3-4 days: tank covered with a sheet, lights off. The single-celled algae die, the plants tolerate it, the fish fast without harm. It is the most effective home remedy.
- Reduce light and nutrients afterwards, or it comes back: photoperiod to 6-7 hours, out of direct light, water changes.
- A UV steriliser solves it in a day and definitively for as long as it is running. It is the "technical" solution: it costs money, but on a tank that keeps relapsing it is what closes the matter.
3. Yellow-amber: tannins
How it looks. Water that is transparent but coloured, like weak tea. It appears after adding new wood, catappa leaves or peat.
What it is. Tannins and humic acids released by the wood. They are not a problem — quite the opposite: they are the natural environment of many soft-water fish, they have a mild antibacterial effect and they lower pH gradually.
What to do. If you like it, nothing. If you do not: activated carbon in the filter for a week, or more frequent water changes. New wood releases for weeks, then stops; boiling it or soaking it before it goes in the tank shortens that period considerably.
⚠️ One note: tannins lower KH by consuming it, and pH falls with KH. In a tank whose KH is already low it is worth keeping an eye on both values over the first weeks.
4. Fine grey, which settles: suspended substrate
How it looks. A grey or dusty haze which, with the filter switched off, settles within a few hours. It appears after setting the tank up, a water change poured in as a jet, or a pruning session.
What it is. Particles of substrate, clay from aquasoils, sand dust that was not rinsed.
What to do. Wait for the filter to take it out — with a fine-pored sponge it takes less — and meanwhile avoid disturbing more substrate. For next time: rinse the substrate before it goes in the tank, and pour new water onto a plate or against the glass rather than straight onto the substrate.
5. Foam or a film on the surface
This is not cloudiness, but it belongs to the same family of doubts. An oily film on the surface is a build-up of proteins and organic matter in a spot with no movement: it comes off by laying a sheet of kitchen paper on the surface, and it is prevented by increasing surface exchange (a pump aimed upwards, or a surface skimmer).
Persistent foam in freshwater deserves more attention: it can indicate a high organic load, or detergent residue that came in with a bucket that was not dedicated. In marine tanks, on the other hand, some foam is normal.
The table for deciding in ten seconds
| Appearance | Cause | Urgency | What to do |
|---|---|---|---|
| Milky white, new tank | bacterial bloom | none | wait 3-10 days, less food, more oxygen |
| Milky white, mature tank | sudden organic load | measure NH₃ | find the cause, water change |
| Green | algae in suspension | none | 3-4 day blackout, less light |
| Yellow-amber | tannins from wood | none | nothing, or activated carbon |
| Fine grey that settles | substrate in suspension | none | wait, fine sponge |
| Film on the surface | organics + poor flow | none | kitchen paper, more exchange |
What not to do, in any of the five cases
- Do not empty the tank "to clean it out". You lose the substrate bacteria and restart with a mini-cycle, which is a real problem in place of a cosmetic one.
- Do not use clarifiers (flocculants) as a first move. They clump particles so the filter can catch them: they work on suspended grey, they do not touch the cause of a bloom, and in the wrong tank they clog the filter.
- Do not change the filter media right now, if you suspect an organic load: it is the one place where the bacteria are working.
- Do not turn the light up to "grow the plants and compete with the algae". With green water it is the most direct way to make things worse.
How Gurglee does it
The real question behind cloudy water is "should I be worried?", and the numbers answer it, not the colour. In Gurglee the three readings that answer it — ammonia, nitrite, nitrate — are logged in ten seconds by writing them the way you would say them, and the app immediately says whether they are outside that tank's band. In guided start-up it also tells the "the cycle has not started yet" zero from the "it is finished" zero, which on a new, cloudy tank is exactly the difference between waiting calmly and stepping in.
Related guides
Aquarium algae: identify them by colour and get rid of them
How to recognise aquarium algae by colour and texture — brown, green, hair, black brush, cyanobacteria — and what to do about each of them.
The aquarium nitrogen cycle: what it is and how long it takes
What the nitrogen cycle is, how long it really takes and how to tell when a tank is ready for fish. With the values to check week by week.
Aquarium water change: how much, how often, how
How much water to change and how often, how to prepare the new water and the steps to do it without stressing the fish. With the arithmetic of the effect on nitrate.
Fish gasping at the surface: what to check
A fish sitting at the surface with its mouth open has an oxygen or a gill problem: the seven causes in order of likelihood and what to do in the first few minutes.