Why pH
Keeps Crashing
Stable parameters and a stable buffer are not the same thing.
A tank that tested completely normal a few days ago now reads a full point of pH lower, with fish gasping, darting, or lying still near the bottom. Ammonia and nitrite both read zero. Nothing was obviously added or changed.
This guide explains what actually holds pH steady, why that protection quietly runs out even in a well-kept tank, and how to correct a crash without shocking the tank a second time.
A tank that was fine
yesterday, and isn't today.
A pH crash rarely looks like a gradual problem. Ammonia creeping up gives some warning as it climbs. A pH crash usually shows up as a tank that tested completely normal a few days ago. Now it reads a full point or more lower, with fish gasping at the surface, darting erratically, or lying still near the bottom.
The confusing part is that nothing else necessarily looks wrong. Ammonia and nitrite can both read zero. The filter is running normally. Nothing was obviously added or changed. That's what makes a pH crash feel unfair — the tank seemed stable right up until it wasn't.
It wasn't actually stable. pH doesn't hold steady on its own. Something else was holding it there, working quietly in the background — and that something ran out before anyone was testing for it.
A pH test only tells you where the water is right now. It doesn't tell you how much capacity is left to keep it there — that's a separate measurement, and it's the one most keepers never run.
KH is the buffer.
pH is just what it protects.
The thing holding pH steady is carbonate hardness, or KH — a measure of how much acid the water can absorb before pH actually moves. Think of it as a cushion: as long as KH is above zero, incoming acid gets absorbed by the cushion instead of shifting pH directly. Once KH hits zero, there's nothing left to absorb the next bit of acid, and pH drops fast — often overnight.
Nitrification itself produces acid. The same bacteria that convert ammonia to nitrate release hydrogen ions as they do it, and KH is what neutralises those ions before they can shift pH. A heavily stocked tank with a healthy nitrogen cycle is constantly spending down its own buffer this way, whether or not anyone is adding anything acidic.
Soft source water starts with very little buffer to begin with. RO water, rainwater, or naturally soft tap water in some regions carries close to zero KH from the start. There's no cushion there to spend down in the first place.
Driftwood tannins and injected CO2 both push in the acidic direction too. In a planted tank running injected CO2, that effect compounds with whatever KH the nitrogen cycle is already consuming.
"pH doesn't crash because something acidic was added. It crashes because the thing quietly protecting it finally ran out."
Test the buffer,
not just the number.
If a pH crash has happened, the instinct is to correct pH directly and immediately — usually with a large water change. That's a reasonable instinct, but it needs one careful step first: check what the source water's own pH and KH actually are before using a large volume of it.
A big water change into a tank that has crashed to pH 5.5 using tap water at pH 7.5 creates a sudden, large swing in the other direction. That's its own kind of shock — sometimes worse for the fish than the slow crash itself. Smaller, more frequent partial changes move the tank back gradually instead of overcorrecting in one step.
Test KH alongside pH going forward, not just when something's already gone wrong. A KH test kit is inexpensive, and a reading that's trending toward zero is the actual early warning — visible weeks before pH itself would show any change.
Testing pH alone tells you where the water is. Testing KH alongside it tells you how much runway is left before it moves again. Keepers who track both rarely get surprised by a crash — they see the buffer thinning out long before pH actually drops.
Rebuild the buffer,
then keep it stocked.
Immediately after a crash, prioritise gradual correction over a single dramatic fix. Several smaller water changes over one or two days, checking pH and KH between each, move the tank back without stacking a second shock on top of the first.
For the ongoing fix, add KH back into the system deliberately rather than hoping the next water change happens to contain enough. Crushed coral or aragonite in the filter or substrate dissolves slowly and raises KH passively over time. A liquid or powder buffer product gives more direct, immediate control when a faster correction is needed.
If soft source water is the underlying cause, match a remineraliser to your water on every change. That keeps KH from starting near zero each time, rather than only reacting after it's already been spent down again.
"The fix isn't making pH stay put by force. It's giving the water back something to hold it there on its own."
- United States Environmental Protection Agency. (2002). Nitrification. In Onsite Wastewater Treatment Systems Manual. U.S. Environmental Protection Agency.