How to Treat Fish Bacterial Infections at Home

Treating a bacterial infection in aquarium fish starts with confirming the infection, improving water quality, and choosing the right antibiotic. Most bacterial fish diseases are caused by gram-negative bacteria that are already present in the tank but only cause illness when a fish’s immune system is compromised, usually by poor water conditions or stress. The good news is that most infections are treatable if you catch them early and follow a consistent medication plan.

Recognizing a Bacterial Infection

Before reaching for medication, you need to confirm you’re actually dealing with bacteria and not a fungal or parasitic problem. Bacterial infections typically show up as red streaks along the fins or body, open sores or ulcers, frayed or eroding fins (fin rot), a bloated belly with raised scales (dropsy), or a bruised, reddish tint to the eyes, skin, gills, and fins. Hemorrhagic septicemia, one of the more serious bacterial conditions, causes those distinctive red blotches that look like bruising under the skin.

Fungal infections look quite different. Fungus appears as gray or white cottony growths on the skin or fins, which is visually distinct from the redness, pitting, and tissue erosion you see with bacteria. If you’re seeing cottony tufts, you likely need an antifungal rather than an antibiotic. Some conditions can overlap, though. A fish with open bacterial ulcers can develop a secondary fungal infection on the wound, so look at the overall picture rather than a single symptom.

Fix the Water First

The most common trigger for bacterial outbreaks is poor water quality. Bacteria like Aeromonas and Pseudomonas (the most frequent culprits in freshwater tanks) are opportunistic. They live in virtually every aquarium but only overwhelm a fish when its immune defenses drop. Elevated ammonia and nitrite are the biggest offenders. Research on fish exposed to both toxins shows direct damage to immune organs, with key inflammatory markers suppressed, effectively leaving the fish unable to fight off infection.

Test your water immediately for ammonia, nitrite, and nitrate. If ammonia or nitrite are above zero, do a large water change (50% or more) and figure out what’s going wrong with your nitrogen cycle. Even if your water tests fine right now, do a 25% to 30% water change before starting treatment. Clean water reduces the bacterial load in the tank and gives your fish the best chance of recovery. No antibiotic will save a fish sitting in toxic water.

Setting Up a Hospital Tank

Treating in a separate hospital tank is ideal for several reasons: it protects healthy tankmates from unnecessary medication, lets you dose a smaller volume of water (saving money on expensive antibiotics), and keeps medication out of your main tank’s biological filter. A hospital tank doesn’t need to be fancy. A 10 to 29 gallon tank works for most fish. Run it bare-bottom with no substrate, plants, or decorations so you can keep it clean and monitor your fish easily.

The one critical requirement is a cycled filter. A sponge filter is the most common choice because it provides gentle filtration and aeration without strong flow that would stress a sick fish. If you don’t already have a cycled sponge filter ready, you can seed one by running it in your main tank for a few weeks before you need it. Keeping a spare sponge filter cycling in your display tank at all times is one of the best preventive habits in the hobby.

If you’re treating the whole display tank because multiple fish are affected, that’s a reasonable approach. When several fish show symptoms, treating just one in isolation won’t address the outbreak. Aquarium Co-Op recommends water-column medication over medicated food when treating multiple animals, since dissolving the antibiotic in the water ensures every fish gets the right concentration. Medicated food only makes sense for a single fish that’s still eating well.

Choosing the Right Antibiotic

Most fish bacterial pathogens are gram-negative, which narrows your antibiotic options. The most effective broad-spectrum antibiotics for aquarium use, ranked roughly by effectiveness, are:

  • Amoxicillin (sold as Aqua-Mox or Fishbiotic Ampicillin): the most broadly effective option and relatively affordable at $10 to $20.
  • Minocycline (Maracyn 2): a strong second choice, especially for gram-negative infections, running $8 to $17.
  • Tetracycline (API T.C. Tetracycline): a budget-friendly option around $8.
  • Doxycycline (API Fin and Body Cure): effective against a wide range of bacteria, around $18.
  • Kanamycin (Seachem KanaPlex): particularly useful for deeper internal infections and dropsy, around $18.

Erythromycin (API E.M. Erythromycin) is another widely available option, but it targets gram-positive bacteria. It’s most effective for conditions like columnaris in some cases or when you suspect a gram-positive pathogen. It’s less useful as a general first-line treatment since most fish bacteria are gram-negative.

Dosing and Treatment Schedules

Follow the product instructions carefully, as dosing varies by medication. Two of the most commonly used products work like this:

For kanamycin (Seachem KanaPlex), add one level scoop (included in the container) per 5 gallons of water. Repeat the dose every 2 days until symptoms clear, up to a maximum of 3 doses total. Each scoop contains roughly 317 mg of active kanamycin sulfate per gram of powder.

For erythromycin (API E.M. Erythromycin), add one packet (200 mg) per 10 gallons. Dose again after 24 hours. Then wait another 24 hours and do a 25% water change before repeating the two-dose cycle one more time. The full course is 4 doses total. Don’t cut it short even if the fish looks better, as stopping early can allow resistant bacteria to survive and cause a relapse.

With any antibiotic, remove activated carbon from your filter before dosing. Carbon absorbs medication and will render it useless. Leave the carbon out for the entire treatment period.

Protecting Your Beneficial Bacteria

One of the trickiest parts of antibiotic treatment is the risk of crashing your nitrogen cycle. Antibiotics don’t distinguish between harmful bacteria on your fish and the beneficial bacteria in your filter that process ammonia and nitrite. Whether a given antibiotic kills your filter bacteria is unpredictable, and there’s no reliable way to know in advance.

If you’re treating in the display tank and adding antibiotics to the water column, remove your biological filter media (ceramic rings, sponges, bio-balls) and place it in a bucket of dechlorinated tank water for the duration of treatment. This keeps the colonies alive and protected. There’s a second reason to do this: the antibiotic itself gets broken down as it passes through biological media, reducing its effectiveness against the actual infection.

During treatment, test ammonia every 12 hours. If it spikes, do an immediate water change to keep levels safe, then re-dose the medication to replace what you removed with the water change. This extra monitoring is essential because an ammonia spike during treatment can kill a sick fish faster than the infection itself.

What About Salt Treatments?

Aquarium salt is sometimes recommended for bacterial infections, but the evidence for this is weak. Adding low concentrations of salt (a few tablespoons per 10 gallons) to the aquarium water as an ongoing treatment for bacteria is considered a myth by experienced fishkeepers. Salt at that level doesn’t reach a concentration that meaningfully affects bacteria.

A concentrated salt bath (roughly 12 tablespoons per gallon, close to seawater concentration) can help kill external pathogens on a fish’s skin, but this is a short dip lasting minutes, not an ongoing tank treatment. Salt baths also carry real risk for sensitive species like catfish, loaches, and many scaleless fish, which can be killed by high salt concentrations. For a confirmed bacterial infection, antibiotics are far more reliable than salt.

After Treatment

Once symptoms have resolved and you’ve completed the full antibiotic course, do a series of water changes (25% to 50%) over a few days to remove residual medication. Replace the activated carbon in your filter to help absorb any remaining traces. If you removed biological media, return it to the filter and monitor ammonia and nitrite closely for the next week to confirm your cycle is intact.

Watch the fish for at least two weeks after treatment ends. Bacterial infections can recur if the underlying cause (poor water quality, overcrowding, aggressive tankmates causing wounds) isn’t addressed. A fish that keeps getting re-infected is telling you something about its environment. Consistent water changes, proper stocking levels, and a mature biological filter are the best long-term prevention against bacterial disease.