Red Streaks, Blood Spots and Open Sores on Fish: Handle Today
Last updated: November 2026
Act now
Visible blood under the skin or open ulcers means bacteria have breached the fish's defenses. The clock is days, not weeks. Do a 40–50% water change immediately, remove any carbon and turn off UV, and start an antibacterial treatment today — every 24 hours of delay measurably lowers survival in septicemia cases. Severe cases: consult an aquatic-experienced vet where available.
Identify what you're actually looking at
| Look | Likely diagnosis | Key tells |
|---|---|---|
| Thin red lines in fins or along the body, pinprick red dots | Septicemia (blood infection, Aeromonas/Pseudomonas) | Lethargy, appetite loss, fins clamp, spreads across body over 1–3 days |
| Red raw patch at mouth, white fuzz over it, fin edges dissolving | Columnaris ("cotton wool disease") | Fast-moving, looks like fungus but isn't; deadly within 48–72 h in bad cases |
| Volcano-shaped open ulcer, often flank or belly | Ulcer / red sore disease | Usually starts as dull spot, then opens; strong water-quality link |
| Single red mark after an event | Trauma (spooked into decor, scrape, tankmate nip) | Localized, fish bright and eating; watch 48 h for infection takeover |
| Red irritated patches with thin worms visible at night | Anchor worms | 0.5–1 cm hair-like worms trailing, fish flashing |
Water parameters to check FIRST
- Ammonia and nitrite: 0 ppm. Both strip the protective slime coat and let normal skin bacteria turn invasive. Any reading explains everything and must be fixed before meds can work.
- Nitrate: get under 40 ppm. Chronic highs suppress immune function — the quiet backdrop of almost every outbreak.
- Temperature: hold 76–80 °F / 24–27 °C for tropicals; columnaris explodes above 82 °F / 28 °C, so don't heat-treat this one blindly.
- pH stability — avoid swinging it during treatment weeks.
Likely causes, ranked
- Poor water quality + opportunistic bacteria. 70%+ of cases. The bacteria are always present; bad water opens the door.
- Wound infection. A scrape from sharp decor or a fin-nip becomes an ulcer within days in imperfect water.
- Chronic stress (overcrowding, no hiding spots, temperature swings). Cortisol-like suppression = outbreak in an otherwise okay-looking tank.
- Parasite entry points. Anchor worms and flukes leave punctures that septicemia walks through.
- Contaminated food/live food. Wild-caught live food or spoiled frozen food introduces pathogens directly.
Treatment protocol
- Water changes are the medicine. 40–50% change day 1 with gravel vacuum; 25% daily through treatment. This outperforms any drug on this page.
- Isolate if possible. Medicating one fish in a hospital tank saves your display tank's plants, snails, and biofilter. Same water, sponge filter, heater.
- Antibacterial choice (per label, always):
- Systemic septicemia with the fish still eating: kanamycin-type or a combination nitro-based product in food or water.
- Columnaris: it resists many "fungus" meds — use a columnaris-targeted antibacterial per label; do not waste days on antifungal drops.
- Open ulcers: topical antiseptic spot-dab (diluted povidone-iodine to tea color, fish out max 30–60 s) plus water-column antibacterial.
- Support care: 1 ppt aquarium salt (about 3–4 tsp/gal, ~3 g/L) if no shrimp, snails, or scaleless fish; remove carbon and UV; keep lights low; feed half-rate high-quality food, removing leftovers in 10 minutes.
- Reassess at 72 h: streaks fading and appetite returning = on track; spreading despite treatment = switch drug class, re-test water, consider vet/euthanasia for ulcerated, unresponsive fish.
Prevention
- Weekly 25–40% vacuumed changes; liquid test monthly; ammonia 0 / nitrite 0 / nitrate <40.
- Replace sharp or resin-fresh decor (test edges with pantyhose: snags = fish cuts).
- Don't overcrowd; stock by the surface-area method in our calculator.
- Rinse frozen food; avoid unquarantined live foods.
- Condition water with a dechlorinator every single change — chlorine burns slime coats.
FAQs
What causes red streaks on a fish's body?
Usually bacterial septicemia — bleeding under the skin from an Aeromonas or Pseudomonas infection, almost always riding on poor water quality or a wound. Mouth-focused red/white lesions suggest columnaris instead.
Can my fish survive?
Early cases (small streaks, still eating) often recover in 5–10 days with aggressive water changes plus antibacterial treatment. Late cases with ulcers, pop-eye and no appetite carry a poor prognosis; comfort and humane decisions matter.
Salt or medication first?
Water changes first. Salt (1 ppt) supports osmoregulation and is safe with most tank-wide mild cases; antibiotics target the bacteria themselves. Read labels — never stack salt with medications that forbid it.
Will it spread to the rest of the tank?
The risk is environmental, not casual contact: fix water quality for everyone, treat the visibly sick fish, and watch the others for 7–10 days.
Severe cases: consult an aquatic-experienced vet where available.