Fish kills - causes and what to do

Knowledge base · August 5, 2026

The sight of dead fish on the surface is a signal that something serious is happening with the water. There can be several causes, and quick, accurate action can limit the losses - and help establish what happened.

How to tell the cause from the symptoms

Causes differ in their pattern of dying - which fish die, how fast and at what time of day. This table leads from what you can see to the measurement that settles it:

CauseWhen it typically happensPattern of the killMeasure straight awayWhat confirms it
Oxygen crash (deficit)at dawn after a warm, windless night; under ice in winter; after a bloom collapsesthe largest fish first; fish at the surface “gulping” airoxygen, temperatureoxygen below 2 mg/l (at dawn, near the bottom)
Poisoning / dischargesuddenly, at any time of daydifferent species and sizes at once, often invertebrates and snails tooconductivity, pH, oxygen, smella jump in conductivity or pH against the station’s background
Cyanotoxinsat the peak of a bloom or a few days after it collapsesfish, and sometimes birds and dogs drinking the water; scum on the surfacetransparency, oxygen, chlorophyll ascum or streaks and a sharp fall in transparency
Abrupt change of conditionsafter a storm, a dam release, the spring turnoverfish stunned, the kill spread over timetemperature, pH, conductivitya jump in temperature or pH within hours
Disease and parasitesover weeks, unrelated to the weatherselectively one species or size; lesions on skin and gillsroutine indicators (to rule them out)water indicators without anomalies

⚠️ The order matters: oxygen is measured first and on the spot. An oxygen deficit disappears within hours - by the afternoon, in the sun, the same water can show full saturation although the fish died at dawn. Poisoning leaves a trace for longer; an oxygen crash leaves practically none.

The oxygen bands used in the table - see dissolved oxygen, where they are given together with their attribution and source.

The most common causes

  • Oxygen deficiency (an oxygen crash) - the most common cause. It appears in heatwaves, windless nights, after a bloom collapses, and under the ice in winter. See oxygen monitoring and oxygen crashes.
  • Poisoning - a sewage discharge, run-off from fields (pesticides, fertilisers), toxic substances; often sudden and affecting various species/sizes.
  • Cyanobacterial toxins - during an intensive bloom.
  • Sudden changes in conditions - temperature, pH, a sudden inflow of different water.
  • Diseases and parasites - usually slower, selective.

What to do first

  1. Safety - do not enter the water if you suspect poisoning; protect animals and people.
  2. Oxygenation (in farm ponds) - if it is an oxygen crash, aeration/letting in fresh water can save part of the stock.
  3. Document - note the time, place, weather, symptoms, take photos; if you can, measure oxygen, temperature, pH and take a water sample (see sampling).
  4. Report - if you suspect pollution/poisoning, notify the appropriate services (including the environmental inspectorate, the water manager, and in case of danger - the emergency services). A prompt report increases the chance of identifying the culprit.

How to establish the cause

What says the most is measurements taken at once: very low oxygen points to an oxygen crash; an unusual pH/conductivity or a smell - to a discharge. Context helps (weather, events upstream) - see interpreting results.

How to prevent it

  • Monitor oxygen in periods of risk (summer, winter under the ice),
  • limit the inflow of nutrients (fewer blooms),
  • in ponds - provide aeration and do not overload the stock.

In practice

The best protection is early warning. LimnoLog with an oxygen sensor and a threshold alert can notify you before the situation becomes critical - and a full set of measurements serves as documentation of the event.

Calculate it yourself

See it in the LimnoLog app

Explore LimnoLog features
Knowledge base