Guide

Cloudy aquarium water

The colour tells you the cause. Milky water is usually a bacterial bloom, green is algae, and yellow or brown but clear water is tannins from wood.

Updated:

Identify the cause by colour

What the water looks likeMost common causeWhat to do
White, milkybacterial bloom: new tank, cleaned filter, overfeedingfeed less, leave the filter alone; clears in a few days to 2 weeks
Grey, dusty right after setupdust from the substratewait 1–2 days; fine sponge or filter floss
Greenalgae bloom: sunlight, long photoperiod, excess nutrientsa few days of blackout, a UV-C steriliser, shorter lighting
Yellow or brown, cleartannins from wood and leavesharmless; water changes or activated carbon in the filter
Cloudy with a rotten smelldecay: uneaten food, a dead fish or plantfind the source, change 30–50%, test ammonia

Bacterial bloom: what not to do

Milky water in a new tank is bacteria feeding on excess nutrients before the nitrogen cycle settles. Large daily water changes, cleaning the filter and clarifiers usually just drag it out. Feed less, leave the filter alone and wait.

When cloudiness is dangerous

Bacteria and algae use up oxygen, especially at night. If fish gather at the surface and breathe fast, increase aeration, change some water and test ammonia and nitrite. For green water, see the guide on algae.

How Aquarium Monitor helps

The “what I see” wizard in the app starts from a symptom such as cloudy water and ranks the possible causes using your data: test results, temperature, time since the last water change and recently added fish. It shows what speaks for each cause and which test is missing.

Frequently asked questions

How long does a bacterial bloom last?

Usually from a few days to 2 weeks. If it lasts longer, check for overfeeding and anything decaying in the tank.

Is cloudy water harmful to fish?

A bacterial bloom itself usually isn't, but it uses oxygen. Aerate the water and watch for fish gasping at the surface.

Keep an eye on your tank from your phone

The app is free and ad-free. The monitor runs on your Raspberry Pi.