Aquarium fish diseases — diagnostic algorithm and 8 key conditions
How to spot illness by behaviour and look, a four-step diagnostic protocol and treatment outlines for the 8 most common diagnoses: ich, velvet, columnaris, dropsy, swim bladder, saprolegnia, internal parasites, gill flukes.
Most losses in a home aquarium come not from the pathogen itself but from late detection. The fish 'ate fine yesterday', this morning it's on the bottom — and the owner loses 2–3 days before realising it's time to treat. By then the odds of saving it have already halved.
This guide is the working algorithm: how to catch disease early, a four-step diagnostic protocol, and an overview of the eight diagnoses that cover more than 90% of cases in freshwater fishkeeping. Each section answers three questions: what it looks like, what causes it, how to treat it.
Early signals — what to watch first
A healthy fish swims confidently, holds its fins extended, reacts to food and to movement near the glass. Any deviation is a reason to look closer, not to call it 'a mood'.
Behavioural red flags: hiding during the day, hanging at the surface or on the bottom, refusing food for 2–3 days in a row, scratching against decor (flashing), darting or spiralling, breathing faster than 80 gill beats per minute for a tropical fish.
Visual red flags: any coating (white, golden, cotton-like), ulcers and bruising, popped-out eyes (pop-eye), bloated belly, raised scales (pineconing), cloudy mucus, ragged fins, colour changes — darkening or paling.
Four-step diagnostic algorithm
Don't reach for medication first. 60% of 'illness' cases are ammonia or nitrite poisoning or a sudden parameter swing. Dosing meds in such a tank finishes off the biofilter and accelerates death.
Step 1. Water test
Before doing anything else — quick test of NH₃, NO₂, NO₃, pH, temperature. If NH₃ or NO₂ > 0 your job isn't 'treatment' — it's an immediate 30–50% water change with conditioner and finding why the biofilter failed.
Step 2. Isolation and observation
If parameters are fine, move the sick fish to a separate 20–40 L hospital tank. This reduces spread and simplifies dosing. Observe for 12–24 hours and write down the symptoms.
Step 3. Identify the pathogen
Match symptoms to a reference. One symptom rarely makes a diagnosis — you need a combination. Spots 0.5–1 mm + flashing = ich. Golden 'dust' + fast breathing = velvet. Greyish-white 'scuffs' with fin erosion = columnaris.
Step 4. Targeted treatment
Use a specific drug for a specific pathogen. Universal 'cures everything' lower immunity and rarely work. Follow dose, duration and conditions (temperature, aeration, remove activated carbon).
8 main diagnoses
1. Ich (Ichthyophthirius multifiliis)
The most common — 0.5–1 mm white spots, like fine sand. A protozoan with a three-stage life cycle: only the free-swimming theront stage is vulnerable to drugs. Treatment: raise temperature to 28–30 °C, salt 1–3 g/L, malachite green plus formalin, or copper for scaled species.
2. Velvet / oodinium (Piscinoodinium pillulare)
Golden-grey 'dusty' coating, most visible under side lighting. A photosynthetic dinoflagellate. Treatment: black out the tank for 7 days, copper, raise temperature to 28 °C. Untreated mortality is higher than ich's — 3–7 days.
3. Columnaris (Flavobacterium columnare)
White-grey cotton-like patches on head, back, fins. Often mistaken for fungus, but it's bacterial. The aggressive strain above 28 °C can kill in 24 hours. Treatment: kanamycin or oxytetracycline, drop temperature to 24–26 °C, salt 1 g/L.
4. Dropsy / pineconing
Scales lift away from the body, the fish looks like a pinecone, belly swollen, eyes bulging. Not a disease in itself but a symptom of severe internal infection (usually Aeromonas). Treatment: kanamycin + metronidazole. Prognosis is poor — less than half survive.
5. Swim bladder disorder
The fish floats belly up, sinks, or hangs at an angle. Causes: constipation from overfeeding, bacterial inflammation, congenital deformity (fancy goldfish, fancy bettas). Treatment: 3-day fast, then a peeled boiled pea; if bacterial — an antibiotic course.
6. Saprolegnia (fungus)
White cotton tufts on wounds, fins, eggs. An opportunist — only attacks already-stressed or injured fish. Treatment: methylene blue, salt 3–5 g/L, debride damaged tissue. The key is to remove the underlying cause (stress, poor water, tankmate aggression).
7. Internal parasites (Camallanus, Hexamita)
Camallanus — red worms protruding from the anus. Hexamita — white stringy faeces, weight loss while still eating, 'hole-in-the-head' in discus and cichlids. Treatment: levamisole for Camallanus (1 g per 100 L for 24 h, repeat after 7 days), metronidazole for Hexamita (in food).
8. Gill and skin flukes (Dactylogyrus, Gyrodactylus)
Microscopic flatworms on gills and skin. Symptoms: fast breathing, flashing, mucus clouding, a greyish-white film on the gills. Treatment: praziquantel 1 mg/L, repeat in 5–7 days. Often present latently and flare up under stress.
Quarantine — the best insurance
About 70% of diseases enter a tank with new shop fish. A simple 20–40 L hospital tank with an air-lift sponge and heater, run for 3–4 weeks for every new batch, dramatically reduces the risk of an outbreak. Full protocol — in the dedicated article.
When to consider euthanasia
Not every disease is curable. With mycobacteriosis (fish TB) — wasting, spinal curvature, ulcers — there is no treatment, and it is zoonotic: humans can infect themselves through skin wounds. Terminal dropsy, paralysis, loss of half body mass — also reason to end suffering. The humane method: clove oil (400 mg/L until movement stops, then add more) — anaesthesia followed by death.
You don't treat the fish — you treat the cause. Correct water, quarantine and calm tankmates save more lives than any trendy bottle from the fish store.
Prevention checklist
• 3–4 weeks of quarantine for every new fish or invertebrate.
• 25–30% water changes every week, no skipping.
• Quality varied food; don't overfeed.
• Match stocking to tank volume and parameters.
• Medicine cabinet stocked with: aquarium salt, methylene blue, malachite green, a broad-spectrum antibiotic, praziquantel, metronidazole.
• A backup hospital tank ready to go.
FAQ
- Can I diagnose from a photo alone?
- No. The same visual sign (e.g., a white film) can be fungus, columnaris or saprolegnia — they need different drugs. The minimum is: symptoms + behaviour + water test.
- Should I dose antibiotics 'as prevention'?
- No. A constant antibiotic background breeds resistant strains and kills the biofilter. Antibiotics — only for a confirmed bacterial diagnosis, full course, in a hospital tank.
- Can fish diseases infect humans?
- Most cannot. Exceptions: mycobacteriosis (fish TB) and, rarely, some Aeromonas strains. Infection enters via skin wounds, so wear gloves when working in a sick tank.
- Heat up or add salt?
- Depends on the diagnosis. For ich, raising temperature speeds the parasite cycle and works; salt also helps. For columnaris, high temperature accelerates death — drop the temperature instead.
Scientific board — ichthyologists and veterinarians
Ichthyologists and veterinarians with university degrees · Reference FishBase, Seriously Fish and peer-reviewed literature · Sign every reviewed article with their credentials shown
Veterinary ichthyologist, specialist in aquarium fish diseases
DVM in veterinary medicine, University of Milan · PhD in hydrobiology, specialising in ornamental fish diseases · 10+ years of private veterinary practice with aquatic species
Sources
- Practical Fishkeeping — Disease guide · Practical Fishkeeping · 2026-05-31
- Seriously Fish — Diseases · Seriously Fish · 2026-05-31
- Aquatic Animal Health — Diagnostic protocols · CABI · 2026-05-31
- FishBase · FishBase · 2026-05-31