pH is the parameter everyone tests and almost nobody understands. New aquarists see a reading of 7.4 and assume their tank is "wrong" because some forum post said their tetras want 6.5. They buy pH Down, dose it, watch the reading drop to 6.8 for a day, see it bounce back to 7.4 the next morning, dose again, and a week later the pH crashes to 5.0 overnight and half the fish die. I have watched this exact sequence play out in three different friends' tanks, and it is the reason this guide exists. pH is not a number to chase — it is a system to understand.
This is the deep-dive companion to the water parameters overview. It covers the chemistry of pH, what affects it in a real aquarium, the logarithmic scale that makes small numbers matter, the relationship between pH and KH (which is the actual thing keeping your pH stable), the species-specific targets worth knowing, and the practical rules for living with whatever pH your tap water gives you. The KH deep-dive covers the buffering chemistry in detail; this guide is the foundation.
Stability beats the number, every time. A tank that holds at pH 7.6 for months is healthier than a tank that swings between 6.5 and 7.5 every week. Fish acclimate to a wide range of pH values. They do not acclimate to swings. Stop chasing a perfect number and start chasing a stable one.
What Is pH, Exactly?
pH measures the concentration of hydrogen ions (H⁺) in water, on a logarithmic scale from 0 to 14. The "p" is shorthand for "negative logarithm of" and the "H" is hydrogen, so pH literally means "negative log of hydrogen ion concentration." Pure water at 25°C has a hydrogen ion concentration of 10⁻⁷ moles per liter, which works out to pH 7.0 — neutral. Add acid and the H⁺ concentration rises, which makes the pH fall (because of the negative log). Add base and the H⁺ concentration falls, which makes the pH rise.
The scale runs from 0 (extremely acidic, like battery acid) through 7 (neutral) to 14 (extremely alkaline, like drain cleaner). Most aquarium fish live in a narrow band from 5.5 to 8.5. The full 0 to 14 range is irrelevant to fishkeeping; what matters is the fine gradation within that band. A pH of 6.0 is "acidic" but still very mild compared to vinegar (pH 2.5) or stomach acid (pH 1.5). A pH of 8.5 is "alkaline" but still mild compared to bleach (pH 11) or lye (pH 13).
The key thing to understand is that pH is logarithmic. Each whole number represents a tenfold change in hydrogen ion concentration. pH 6.0 has ten times the H⁺ of pH 7.0. pH 5.0 has one hundred times the H⁺ of pH 7.0. pH 8.0 has one tenth the H⁺ of pH 7.0. This is why a "small" pH swing from 7.0 to 6.0 is a tenfold chemical change for your fish — and why a swing from 7.0 to 5.0 (a "two point" drop on the test strip) is actually a hundredfold change, potentially lethal in hours. The number looks small; the chemistry is not.
What Affects pH in an Aquarium
Many things push pH up or down in a real tank, but most of them are weak effects that the water's buffering (KH) absorbs. The exceptions are the ones that overwhelm the buffer — those are the ones that actually move your pH reading. Substrate is the biggest long-term influence. Crushed coral, aragonite sand, and limestone leach carbonate, pushing pH up to 8.0+ and keeping it there. Soil substrates (Fluval Stratum, Aqua Soil Amazonia, peat-based dirt) release tannins and humic acids, pushing pH down to 6.0 to 6.5 and holding it there for the life of the substrate.
Driftwood and botanicals release tannins slowly, dropping pH by 0.2 to 0.5 over weeks. Malaysian driftwood and bogwood are the strongest; manzanita and mopani are milder. Catappa leaves (Indian almond leaves), alder cones, and oak leaves do the same thing on a smaller scale. The effect is gradual and your KH absorbs most of it, but in a low-KH tank a single large piece of driftwood can drop pH by a full point over a month.
CO₂ is the day-to-day pH mover. Dissolved CO₂ forms carbonic acid, dropping pH. Planted tanks with CO₂ injection see pH swings of 0.5 to 1.0 between dawn (high CO₂ after plant respiration overnight, low pH) and late afternoon (low CO₂ after photosynthesis all day, high pH). Even tanks without injection see smaller versions of this swing. Water source sets the starting point — your tap water comes out at whatever pH the municipal treatment leaves it at, often 7.5 to 8.2 because alkaline water is less corrosive to pipes.
Rocks can be sneaky. Limestone, Texas holey rock, and tufa are obvious pH raisers. But "river rock" from the landscaping yard can contain limestone without you knowing, and a single limestone rock in a 10 gallon tank can push pH from 7.0 to 8.0 over a month. Test rocks with a drop of vinegar before adding them — if it fizzes, the rock contains carbonate and will raise your pH. Decor like seashells and crushed coral mixed into substrate are also pH raisers and should be reserved for African cichlid tanks.
Why the Logarithmic Scale Matters
The logarithmic nature of pH is the single most misunderstood thing in water chemistry, and it is the reason pH adjusting chemicals are so dangerous. If your tank sits at pH 7.4 and you add enough pH Down to drop the reading to 6.4, you have not made a "small" adjustment — you have made a tenfold change in the hydrogen ion concentration. Your fish's gills, blood, and kidneys are adapted to the chemistry of 7.4; the chemistry of 6.4 is wildly different to them. The number on the test strip looks like a small move; the biology experiences it as a massive shock.
This is also why "pH swings" are dangerous in a way that other parameter swings are not. A swing from pH 7.0 to 6.0 to 7.0 over 24 hours is a tenfold change in H⁺ in each direction, twice. The fish's acid-base regulation system has to compensate twice in a day, which it cannot do — the result is osmotic stress, kidney strain, and a compromised immune system for days afterward. A tank that swings pH daily is a tank where fish die young of "mysterious" causes.
The practical implication: when you read pH recommendations for a species, the range given is usually a steady-state range, not a swing range. A tetra "tolerates pH 6.0 to 7.5" means it lives fine at any constant value in that range. It does not mean it tolerates a daily swing between those values. Always read species ranges as "pick one and hold it," not "anywhere in this range is fine even if it bounces."
Why Stability Matters More Than the Number
Fish are osmoregulators — they actively manage the salt and water balance in their bodies against the chemistry of the water around them. Their gills, kidneys, and chloride cells are constantly working to maintain internal pH and electrolyte balance against whatever the external water is doing. When the external pH is stable, the fish's osmoregulation runs at a steady state, with small continuous corrections. When the external pH swings, the osmoregulation system has to make large sudden corrections, which is exhausting and damaging.
This is why a stable pH of 7.6 — slightly alkaline, outside the "ideal" range for many South American species — produces healthier fish than a swinging pH that hits 6.5 sometimes. The fish at 7.6 has adapted its osmoregulation to that chemistry and lives comfortably. The fish in the swinging tank is constantly re-adapting, which stresses the immune system and shortens its life. The number matters; the stability matters more.
What kills fish in a pH swing is not the new pH value — it is the act of changing. A discus moved from a pH 7.0 tank to a pH 6.0 tank over an hour may die from the swing even though both values are within its tolerance range. The same discus moved from pH 7.0 to pH 6.0 over a week, with daily 0.15 unit adjustments, will be fine. Speed of change is the killer, not the destination. This is also why acclimating new fish slowly (drip acclimation over an hour or more) matters — you are not just matching temperature, you are giving the fish's osmoregulation time to adjust to your water chemistry.
pH and Ammonia Toxicity
The most important practical link between pH and fish health is ammonia toxicity. Ammonia exists in two forms — toxic NH₃ and relatively safe NH₄⁺ — and the split between them depends on pH. At pH 6.0, less than 0.1% of total ammonia is in the toxic NH₃ form. At pH 8.5, around 15% is. The same 1 ppm total ammonia reading means very different things at different pH values. (The full table is in the ammonia deep-dive.)
This has two implications. First, a high-pH tank has a much smaller margin for error on ammonia than a low-pH tank. African cichlid keepers running pH 8.4 need to keep ammonia at absolute zero — even 0.25 ppm is a real emergency at that pH. Discus keepers running pH 6.0 have more leeway; 0.5 ppm is genuinely concerning but not the same crisis. Second, a pH swing in a tank with any ammonia present is much more dangerous than the same swing in a clean tank. A tank that swings from pH 7.5 to 6.5 with 1 ppm ammonia present goes from "significant toxicity" to "low toxicity" — a relief for the fish. A tank that swings the other way, from 6.5 to 7.5 with 1 ppm ammonia, goes from "low toxicity" to "significant toxicity" — a sudden emergency.
The rule that falls out of this: never chase pH adjustments in a tank with measurable ammonia. Fix the ammonia first, then worry about pH. The interaction between the two is too dangerous to manage simultaneously.
Acclimating Fish to Different pH
Most fish sold in the hobby are tank-raised and have spent their lives in whatever water the breeder's tap provides — usually pH 7.0 to 7.8, often harder than the species' wild ancestors would have experienced. A tank-raised neon tetra from a Florida fish farm has been living in pH 7.4 water for generations; it does not need pH 6.0 to thrive, it needs stable water that is not too far from what it has known. The "ideal pH" listings on care sheets are usually wild-caught values that do not apply to captive-bred fish.
When you bring fish home, the goal is to acclimate them to your water's pH gradually so their osmoregulation has time to adjust. Drip acclimation is the standard method: float the bag for temperature, then add tank water to the bag at a rate of about 1 drop per second for 30 to 60 minutes, doubling or tripling the bag's volume before netting the fish out. This exposes the fish to your pH over an hour rather than a minute, giving its kidneys and gills time to adjust.
The fish you cannot easily acclimate is the wild-caught specimen. A wild discus caught in pH 5.0 Amazonian water and shipped to your pH 7.6 tap is a fish under severe stress even with perfect acclimation. It will often survive the transition but never quite thrive — the osmoregulation is constantly working against chemistry it did not evolve for. For wild-caught fish, mix your tap with RO water to bring the pH closer to their native range. For captive-bred fish, just acclimate them and stop worrying about the number on the test.
pH Crashes in Low-KH Water
A pH crash is a sudden, large drop in pH — typically from 7.0+ to 5.5 or lower — over hours to days. The cause is almost always the same: low carbonate hardness (KH). KH is the water's buffering capacity, the thing that resists pH changes. Nitrifying bacteria produce acid as they work. Fish respiration produces CO₂, which forms carbonic acid. Decaying plant matter and driftwood release humic acids. All of these push pH down, and KH absorbs the push — until the KH runs out. When KH drops below about 2 dKH, the buffer is gone and the pH falls off a cliff.
Crashes are most common in three situations. New tanks with soft water — the nitrifying bacteria are still colonizing and producing acid faster than the buffer can keep up. Heavily planted tanks with CO₂ injection — the CO₂ is a constant acid load that eventually exhausts low KH. Tanks with driftwood and botanicals in soft water — the tannins push pH down, the low KH cannot resist, and a water change with similarly soft water does not restore the buffer. The KH deep-dive covers the chemistry in detail.
The fix for a crash is to raise KH slowly. A 50% water change with harder tap water is the fastest method. Adding 1 teaspoon of baking soda (sodium bicarbonate) per 20 gallons raises KH by about 2 dKH, which raises the buffer enough to stabilize pH without swinging it. Long-term, add a mesh bag of crushed coral to the filter — it dissolves slowly, releasing carbonate that keeps KH at 4 to 6 dKH indefinitely. Test KH monthly; if it is below 4 dKH, you are one bad week away from a crash.
Why You Should Not Use pH Chemicals
The pH Up and pH Down bottles at the fish store are some of the worst products in the hobby, and they cause more problems than they solve. The mechanism is always the same: you dose pH Down (phosphoric acid), the KH absorbs it and the pH does not move, you dose more, eventually the KH is exhausted and the pH crashes overnight. Or you dose pH Up (sodium carbonate), the KH rises and the pH jumps 1.5 units in 12 hours, stressing the fish. The chemicals fight your water's buffering instead of working with it, and the result is instability — the opposite of what you want.
The right way to adjust pH is to change the inputs that affect pH, not to add chemicals that fight the buffer. To lower pH gradually: add driftwood (tannins), add catappa leaves, use peat in the filter, mix your tap water with RO water (which has zero KH and zero buffering), or use a soil substrate like Fluval Stratum. To raise pH gradually: add crushed coral in the filter, use aragonite sand as substrate, add limestone or Texas holey rock as decor, or mix your tap with harder water from another source. All of these work over weeks, not hours, which is exactly the timescale your fish can adapt to.
The exception is the emergency fix after a crash. If your pH has fallen to 5.0 and the fish are dying, you need to raise the pH (and the KH) faster than driftwood can. In that case, a small amount of baking soda (1 tsp per 20 gallons) is appropriate — it raises KH by about 2 dKH and pH by about 0.3 units, which is a safe single adjustment. Repeat every 12 hours until pH is back above 6.5. This is the only case where chemical adjustment is the right answer, and even then it is a bandage while you fix the root cause (low KH) with longer-term buffering.
pH Targets for Common Species
Most captive-bred community fish tolerate a wide pH range, but knowing the natural range of the species you keep helps you pick fish that fit your water instead of fighting your water to fit the fish. Here are the broad targets:
| Species group | Natural pH range | Captive-bred tolerance |
|---|---|---|
| Most tetras (neon, cardinal, ember, rummy-nose) | 5.5–7.0 | 6.0–7.8 |
| Livebearers (guppies, mollies, platies, swords) | 7.5–8.5 | 7.0–8.5 |
| African cichlids (Malawi, Tanganyika) | 7.8–9.0 | 7.5–8.8 |
| South American cichlids (angels, rams, apistos) | 5.5–7.0 | 6.0–7.8 |
| Discus (captive-bred) | 6.0–7.0 | 6.5–7.5 |
| Discus (wild-caught) | 4.5–6.0 | 4.5–6.5 only |
| Bettas | 6.0–7.5 | 6.5–8.0 |
| Goldfish | 7.0–8.0 | 6.5–8.5 |
| Corydoras catfish | 6.0–7.5 | 6.5–8.0 |
| Shrimp (Neocaridina) | 6.5–7.5 | 6.5–8.0 |
| Shrimp (Caridina, Crystal Red) | 5.5–6.5 | 5.5–6.8 only |
The pattern is consistent: captive-bred fish have a wider tolerance than wild-caught fish of the same species, and most community fish are captive-bred. Pick fish that fit your tap water's natural pH rather than fighting the tap to fit the fish. If your tap is pH 7.6 and moderately hard, livebearers and African cichlids will thrive with no effort on your part; tetras and discus will be fine but not breeding condition; Crystal Red shrimp will be a constant struggle. Match the fish to the water, not the water to the fish.
Frequently Asked Questions
What is the ideal pH for a community aquarium?
Most community freshwater fish thrive between pH 6.5 and 7.5, and most tap water falls naturally in this range. The exact number matters less than stability — a tank that holds steady at pH 7.4 is healthier than one that swings between 6.8 and 7.8. Test your tap water, see where it naturally sits, and choose fish that fit your water rather than fighting your water to fit the fish.
Is pH 6.0 ten times more acidic than pH 7.0?
Yes. The pH scale is logarithmic, meaning each whole number represents a tenfold change in hydrogen ion concentration. pH 6.0 has ten times as many hydrogen ions as pH 7.0. pH 5.0 has one hundred times as many as pH 7.0. This is why a "small" swing from 7.0 to 6.0 is actually a massive chemical change for your fish — and why chasing a target pH with chemicals almost always overshoots and crashes the tank.
Should I use pH Up or pH Down products?
No, almost never. pH adjusting chemicals fight your water's natural buffering (KH) and create more instability than they fix. You dose pH Down, the KH pulls it back up, you dose again, eventually the KH is exhausted and the pH crashes overnight. The right approach is to fix the root cause: use driftwood or peat to gently lower pH over weeks, use crushed coral or limestone to gently raise it, or mix your tap water with RO water to dilute whatever is pushing your pH in the wrong direction. Chemicals are a bandage on a buffering problem.
What causes a pH crash in an aquarium?
Almost always, low KH. Carbonate hardness is what buffers your pH against acidic drift from fish respiration, plant decay, and nitrifying bacteria (which produce acid as they work). When KH drops below 3 dKH, the buffer is gone, and the pH can fall from 7.5 to 5.5 in a single day. The fix is to raise KH with a water change or a small amount of baking soda (1 tsp per 20 gallons raises KH by about 2 dKH) and to add long-term buffering like crushed coral in the filter. Test KH monthly to catch this before it crashes.