Guide
Internal and external parasites in fish: types, symptoms, and treatment
How to identify common fish parasites, when to use chemical vs natural treatment, and how to prevent reinfection. Data, insight, action.
- External vs internal: External parasites (ich, velvet, flukes, anchor worm, fish lice) live on skin, fins, or gills - you can often see them or their damage. Internal parasites (tapeworms, nematodes, hexamita) live in the gut or body cavity and show up as wasting, hollow bellies, or stringy white feces.
- Treatment route matters: External parasites are treated with water-borne medications or salt. Internal parasites need medicated food or drugs that absorb into tissue - dosing the water alone won't reach them.
- Ich is the most common outbreak: White salt-grain spots, flashing behavior, and rapid spread. Raise temperature to 80-82 °F (27-28 °C) to speed the life cycle, then treat with malachite green or salt for 7-10 days after the last visible spot.
- New fish are the main vector: Quarantine every new arrival for 4-6 weeks in a separate tank before adding them to your display. This single step prevents the majority of parasite introductions.
- Misdiagnosis is common: Velvet looks like ich but the dust is finer and golden - shining a torch at a low angle reveals it. Flukes and internal parasites often produce no obvious spots at all, just behavioral changes.
- Remove activated carbon before treating: It strips medication from the water within hours. Any chemical treatment is wasted if carbon is still in your filter.
External vs internal parasites: why the distinction matters
Lumping all fish parasites together is the mistake that leads people to dose their tank with the wrong product and wonder why nothing improves. The biology is completely different, and so is the treatment logic.
External parasites live on or attach to the surface of the fish - skin, fins, gills, or the mucus layer. Because they're in direct contact with the water, you can reach them with water-soluble medications, salt baths, or topical treatment. You'll often see physical signs: spots, lesions, excess mucus, or the parasite itself.
Internal parasites live inside the fish - in the intestinal tract, body cavity, or organs. Water-borne treatments don't reach them in meaningful concentrations. You need either medicated food the fish actively eats, or drugs (like metronidazole or praziquantel) that absorb through the gut wall into surrounding tissue. The visible signs are subtler: unexplained weight loss, a pinched belly despite eating, abnormal feces, or lethargy.
Correct identification before you reach for any product is the most important step. Treating ich with dewormers, or dosing metronidazole for a surface parasite, wastes time and stresses your fish needlessly.
External parasites: types, symptoms, and treatment
Ich (Ichthyophthirius multifiliis)
The most common freshwater parasite by a wide margin. Ich presents as white spots roughly the size of grains of table salt scattered across the body and fins. Infected fish will flash - rubbing or scratching against rocks, substrate, and décor - and may clamp their fins, breathe rapidly at the surface, or hide.
The life cycle is the key to treatment. The spots you see (trophonts) are already protected under the fish's mucus layer and largely immune to medication. They drop off after a few days, encyst on surfaces, divide into hundreds of free-swimming theronts, and then those theronts must find a host within 24-48 hours or die. Only the free-swimming theront stage is killable with water-borne meds. This is why short treatments fail - you have to run them long enough to catch every generation.
At 75-79 °F (24-26 °C) the cycle takes 3-7 days. Raising the temperature to 80-82 °F (27-28 °C) speeds the cycle, cycling through generations faster so treatment ends sooner - but only do this if all your fish tolerate the heat. Tetras and discus handle it; goldfish and some loaches do not.
Run treatment for at least 7-10 days after the last visible spot disappears. The tank still contains encysted parasites that haven't released theronts yet - stopping early is the number one reason ich comes back.
Chemical treatment: Malachite green combined with formalin (sold under brand names like Ich-X or similar) is the most reliable option. Salt at 1-3 g/L supplements treatment and can handle early outbreaks in salt-tolerant species on its own. Remove all activated carbon before dosing - it will absorb the medication within hours.
Salt-sensitive species: Scaleless fish (cory catfish, otocinclus, loaches) and many tetras are sensitive to salt at therapeutic levels. Use half-doses and watch for distress, or stick to heat treatment alone where possible.
Velvet (Oodinium pilularis / Oodinium limneticum)
Velvet is frequently misidentified as ich, and the confusion costs fish their lives because velvet progresses faster and requires different management. The coating is finer - a gold or rust-colored dust rather than distinct white grains. In good ambient light you might miss it entirely. Shine a small torch at the fish from a low angle in a dark room: velvet gives a characteristic golden shimmer.
Infected fish flash aggressively, develop clamped fins, breathe heavily, and can deteriorate quickly. Velvet is photosynthetic in its free-living stage, so darkening the tank for 3 days is a legitimate supportive step alongside medication.
Treatment: Copper sulfate or formalin-based medications. Acriflavine works in mild cases. Raise temperature slightly if stock tolerates it. Scaleless fish are again sensitive to copper - dose carefully. The life cycle at 77 °F (25 °C) is roughly 6-12 days, so treat for a full two weeks minimum.
Gill and skin flukes (Dactylogyrus spp. / Gyrodactylus spp.)
Flukes are flatworm parasites - too small to see individually with the naked eye. Gill flukes (Dactylogyrus) primarily target the gills; skin flukes (Gyrodactylus) target the body surface. Both cause rapid breathing, flashing, excess mucus production, and in heavier infections, hemorrhaging and tissue damage.
What makes flukes tricky is that there are often no visible spots. A fish breathing heavily at the surface with no obvious external marks should have flukes on your differential list, especially if water parameters are good. See our guide on aquarium water parameters if you haven't already ruled out a water quality cause.
Treatment: Praziquantel is the most effective option and is available as a water-soluble powder or in medicated foods. Two treatments 7 days apart catches both the adults and any newly hatched juveniles. Salt at 2-3 g/L has some effect on skin flukes but is unreliable for gill flukes.
Gill flukes in large numbers can kill fish before the keeper notices anything is wrong, especially in fish kept at higher stocking densities. If multiple fish are gasping near the surface and your ammonia, nitrite, and nitrate readings are all normal, treat for flukes immediately.
Anchor worm (Lernaea spp.)
Anchor worm is one of the few parasites you can identify without any equipment - the adults are visible to the naked eye as thread-like structures, 1-2 cm long, embedded in the skin, often with a Y-shaped anchor at the head end. The attachment site becomes red, inflamed, and ulcerated.
Treatment: Physical removal with fine tweezers or forceps under magnification, followed by treatment of the wound with a topical antiseptic (diluted povidone-iodine or hydrogen peroxide at 3%). Remove the worm by gripping as close to the skin as possible and pulling steadily - leaving the head anchor embedded causes ongoing infection. Follow up with diflubenzuron or organophosphate-based treatments to kill larvae in the water column, treating twice over 7-10 days to interrupt the life cycle.
Fish lice (Argulus spp.)
Fish lice are flattened, disc-shaped crustaceans up to 5-8 mm across - clearly visible on the fish's surface. They move around, which distinguishes them from anchor worm. They pierce the skin to feed, releasing anticoagulants that cause lesions and provide entry points for bacterial infection.
Treatment: Physical removal is possible for individual lice. For infestations, organophosphate-based treatments (azamethiphos, trichlorfon) are effective, or diflubenzuron as a chitin-synthesis inhibitor. Treat the tank, not just the fish - larvae are in the water. Two treatments 10-14 days apart.
Internal parasites: types, symptoms, and treatment
Internal parasites are genuinely harder to diagnose without a microscope or fecal sample analysis. Many experienced fishkeepers make educated guesses based on symptoms and treat empirically. That's sometimes the right call - but it's worth knowing you're guessing, and a vet with aquatic experience can confirm the diagnosis if fish are valuable.
Tapeworms (cestodes)
Cestode infections often go undetected until they're advanced. An infected fish may eat normally but lose condition - the belly becomes hollow or pinched over weeks. In severe cases, segments or ribbon-like worms may be visible protruding from the vent. Tapeworms require intermediate hosts (usually copepods or small crustaceans) to complete their life cycle, so direct fish-to-fish transmission in a typical aquarium is limited, but fish sourced from ponds or wild-caught stock carry them regularly.
Treatment: Praziquantel in medicated food is the standard - the fish needs to ingest the drug for it to reach the gut. Dose according to product instructions, typically over 3-7 days. A follow-up course 2 weeks later is sensible.
Roundworms / nematodes (Camallanus spp. and others)
Camallanus worms are the nematode you're most likely to encounter in a hobby aquarium. The tell-tale sign is red or orange thread-like worms protruding from the vent, particularly visible when the fish is resting. Heavily infected fish waste away, have hollow bellies, become lethargic, and stop eating. The parasite spreads directly between fish via larvae in the feces - once one fish shows worms, assume all tank mates are exposed.
Treatment: Fenbendazole or levamisole in medicated food. Levamisole paralyzes the worms so they're expelled; a follow-up dose 2-3 weeks later is essential to catch worms that were larvae during the first round. Remove expelled worms by siphoning the substrate daily during treatment. Fenbendazole works more slowly but kills rather than paralyzes - less risk of surviving parasites if a dose is missed.
Worms take weeks to reach a size visible at the vent - by that point, the fish has been shedding infective larvae into the tank for some time.
Hexamita / Spironucleus (internal flagellates)
Hexamita is a flagellate protozoan that lives in the intestinal tract of cichlids - particularly discus, angelfish, and other South American species, though other fish can carry it. It causes white, stringy, mucus-heavy feces, loss of appetite, and wasting. In discus it's closely associated with hole-in-the-head disease (HITH), where pitted lesions develop on the head and lateral line, though the relationship between hexamita and HITH is still debated in the hobby.
Treatment: Metronidazole (Flagyl) is the drug of choice - either in medicated food or added directly to the water (fish absorb it across the gut lining during feeding). Treat for 5-7 days. Poor water quality, overfeeding, and low vitamin content in the diet all predispose fish to hexamita outbreaks - fixing husbandry is as important as medication.
Treatment decision framework
Work through this sequence before buying anything:
1. Rule out water quality first. Flashing, heavy breathing, and lethargy can all be caused by ammonia, nitrite, or low oxygen. Test before assuming parasites. If you haven't established a proper nitrogen cycle, start with our guide on cycling a fish tank.
2. Identify the presentation. Visible spots → ich or velvet (use the torch test to distinguish). Visible attached organisms → anchor worm or fish lice. Respiratory signs, no spots → consider flukes. Wasting, abnormal feces, hollow belly → internal parasites.
3. Choose the treatment route. External parasites: water-borne medication or salt. Internal parasites: medicated food or drugs absorbed through the gut. Never assume a water-dosed treatment will fix an internal infection.
4. Remove carbon, dose correctly, complete the full course. Stopping early because the fish look better is how resistance develops and how reinfestations happen.
5. Treat the tank, not just the fish. Most parasites have a free-living stage in the water or substrate. Removing the sick fish to a hospital tank helps protect the display, but free-swimming stages remain behind.
Using a broad-spectrum "general tonic" or multi-symptom product as the first response to every problem. These products exist and can help in some situations, but dosing a combination treatment when you don't know what you're treating often means you're using the wrong actives at sub-therapeutic concentrations. Identify first, then treat specifically.
Prevention: what actually works
Quarantine new fish without exception. Four to six weeks in a separate, cycled tank. This is the single most effective prevention step in the hobby and the one most commonly skipped. A 4-week quarantine will reveal ich, velvet, flukes, and the early stages of most internal infections before they reach your display tank.
Don't bring in plants, snails, or décor from unknown sources without treatment. Anchor worm larvae, fish lice eggs, and fluke eggs survive on plants and in water from bags. Quarantine or bleach-dip plants before adding them to an established tank.
Maintain stable water conditions. Ich and velvet outbreaks are almost always triggered or accelerated by stress - temperature swings, poor water quality, overcrowding. A well-maintained tank with stable parameters doesn't eliminate parasites, but it keeps your fish's immune response functional. Regular water changes matter here; our guide on water change frequency covers the practical approach.
More guides · Ich · Fish illnesses · Hospital tank · Quarantine
