Water Quality

Water Quality

Understanding pH, GH, and KH in Freshwater Tanks

Learn what pH, GH, and KH mean for your freshwater aquarium, how they interact, and how to match them to your fish's needs.

Understanding pH, GH, and KH in Freshwater Tanks

Three numbers shape whether your fish thrive or merely survive: pH, GH, and KH. Get them right and your fish settle in, color up, and breed. Get them wrong and you'll spend weeks wondering why your tank looks healthy but your fish don't.

pH measures acidity or alkalinity on a scale of 0 to 14. GH (general hardness) tells you how much calcium and magnesium is dissolved in the water. KH (carbonate hardness) tells you how well the water resists pH swings. All three interact, and understanding that relationship is what separates a stable tank from a frustrating one.

What pH Actually Tells You

pH 7.0 is neutral. Below 7.0 is acidic; above 7.0 is alkaline (sometimes called basic). Most freshwater fish come from river systems that land somewhere between pH 5.5 and 8.2, so the practical range you'll work with is narrower than the full scale.

What matters more than the exact number is stability. A tank sitting at pH 7.8 all day is safer for a fish labeled "pH 7.0" than one that swings from 7.0 in the morning to 7.6 in the evening. Those swings stress fish, suppress immune function, and can be fatal if they span more than 0.5–1.0 units over a few hours.

Tap water pH varies by region, by season, and sometimes by the day. City suppliers adjust treatment levels, which moves the pH. Always test your source water fresh from the tap and again after it has sat out for 24 hours, because dissolved CO2 off-gasses and raises pH. For a solid baseline on what other parameters to track alongside pH, see our guide to aquarium water parameters explained for beginners.

GH: General Hardness and Why Mineral Content Matters

GH measures dissolved calcium (Ca²+) and magnesium (Mg²+) ions, expressed in either ppm (parts per million) or degrees of hardness (dGH, where 1 dGH = 17.9 ppm).

GH rangeClassificationTypical fish that prefer it
0–4 dGH (0–70 ppm)Very softCardinal tetras, discus, chocolate gouramis
4–8 dGH (70–140 ppm)Soft to moderately softMost tetras, rasboras, corydoras
8–12 dGH (140–215 ppm)Moderately hardCommunity tropicals, most livebearers
12–20 dGH (215–357 ppm)HardAfrican cichlids, guppies, mollies
above 20 dGH (above 357 ppm)Very hardCertain Rift Valley cichlids

Fish from soft-water rivers (the Amazon, Southeast Asian peat streams) evolved to absorb ions across their gills at low concentrations. Put them in very hard water and their kidneys have to work overtime regulating the surplus. The reverse applies too: fish from mineral-rich African Rift Lakes struggle to regulate in soft water. Species pairing with the correct hardness range isn't just aesthetic preference, it's physiology.

GH also matters for plants. Calcium and magnesium are macronutrients. A GH below 3–4 dGH in a planted tank often shows up as pinholes in older leaves or pale, stunted growth, even when you're dosing fertilizers.

KH: Carbonate Hardness and pH Stability

KH measures the concentration of carbonate (CO3²-) and bicarbonate (HCO3-) ions, also expressed in dKH or ppm. These ions act as a chemical buffer. When acidifying compounds enter the water (fish respiration produces CO2, which becomes carbonic acid; decomposing organics release acids), the carbonates neutralize them and keep the pH from falling.

A KH above 4–5 dKH is generally enough to prevent dramatic pH swings in most tanks. Below 3 dKH, a routine water change or a spike in biological activity can drop the pH by half a unit or more overnight. This is one of the most common causes of mysterious morning fish loss: the lights went out, plant photosynthesis stopped, CO2 built up, and with nothing to buffer it, the pH crashed.

KH and the pH-CO2 Relationship

In planted tanks with CO2 injection, the KH-pH-CO2 relationship becomes a useful tool. Aquarists use reference charts that correlate KH and pH to estimate dissolved CO2 concentration. A pH of 7.0 with a KH of 4 dKH corresponds to roughly 15 ppm CO2, which is near the sweet spot for plant growth (10–30 ppm) without distressing fish. If the pH climbs to 7.4 at the same KH, CO2 has dropped to around 6 ppm and your plants may slow down.

This only works as an estimate. The chart assumes all carbonate hardness comes from bicarbonates, which isn't always true. Still, it gives planted-tank keepers a practical window into CO2 without a drop checker always in the tank.

How pH, GH, and KH Interact in Practice

The three parameters aren't independent. High KH tends to push pH upward because carbonates are alkaline. This is why Rift Lake cichlid tanks (which need both high GH and high pH) use crushed coral or limestone as substrate, the calcium carbonate slowly dissolves, raising both GH and KH, which in turn buffers the water at a high pH.

Soft-water, low-pH tanks work the other way. Blackwater setups for South American species like to see KH below 2 dKH and pH between 5.5 and 6.8. Peat filtration, Indian almond leaves, and reverse osmosis (RO) water (which strips everything out) are common tools. In a blackwater tank, tannins from leaves and wood also contribute to pH stability through a different buffering mechanism, which is part of why these tanks stay surprisingly stable at low pH despite the minimal KH.

For a deeper look at testing all of these parameters accurately and on the right schedule, see how to test aquarium water and how often.

Soft vs. Hard Water Fish: Matching Parameters to Species

Before buying fish, pull up the species' native habitat data. Here's a practical breakdown by group:

Soft, acidic water (pH 5.5–6.8, GH 1–6 dGH, KH 0–3 dKH)

  • Cardinal and neon tetras
  • Discus and angels from wild-caught lines
  • Apistogramma and other dwarf cichlids
  • Chocolate gouramis, licorice gouramis
  • Many killifish species

Neutral, moderately soft to moderately hard (pH 6.8–7.4, GH 5–12 dGH, KH 3–6 dKH)

  • Corydoras catfish (most species)
  • Cherry barbs, tiger barbs
  • Danios, zebra fish
  • Most rasboras
  • Pearl gouramis

Alkaline, hard water (pH 7.5–8.5, GH 12–20+ dGH, KH 6–12+ dKH)

  • African Rift Lake cichlids (mbuna, peacocks, Tanganyikans)
  • Guppies, mollies, swordtails, platies
  • Brackish-tolerant species (archerfish, figure-8 puffers with some salt added)

Mixing a soft-water tetra with hard-water cichlids in the same tank puts both groups in a compromise that suits neither. If you want a community tank, choose species from overlapping ranges.

Testing and Adjusting Your Parameters

You cannot manage what you don't measure. A basic test kit covering pH, GH, and KH should be part of every fishkeeper's toolkit. Liquid reagent tests are more accurate than strips for these three parameters. Test your tap water and your tank on the same day, and track results somewhere you'll actually look at them later.

Raising GH and KH

  • Crushed coral or aragonite in the filter: slow, gentle, self-regulating. As the pH drops, more dissolves; as it rises, dissolution slows. Good for cichlid tanks.
  • Baking soda (sodium bicarbonate): raises KH without affecting GH much. Dissolve in a cup of tank water before adding; 1 teaspoon per 50 liters raises KH by roughly 2 dKH.
  • Seachem Equilibrium (or similar GH booster): raises GH without raising KH, useful for planted tanks where you want mineral content but not excessive buffering.

Lowering GH and KH (Softening)

  • RO or deionized (DI) water: removes almost everything. Mix with tap water to hit the target softness.
  • Peat granules in a filter bag: release tannins and humic acids that chelate calcium and lower pH. Slower but naturalistic.
  • Rain or collected soft water: viable in areas with clean air and proper collection, but test it first.

Make parameter adjustments gradually. For pH, aim for no more than 0.2 units per day when shifting a stocked tank. For GH and KH, spread changes across several water changes over a week rather than one large correction. Sudden shifts stress fish even when moving toward "better" numbers.

For context on how these parameters sit alongside ammonia, nitrite, and nitrate, see ammonia, nitrite, and nitrate, what the numbers mean.

Frequently Asked Questions

What's more important, pH or GH for my fish?

Both matter, but for most community fish, stability of pH is more critical than the exact number. GH matters most for species with specific mineral requirements (soft-water tetras, hard-water livebearers). Start by testing your tap water and choosing fish whose natural range overlaps with what comes out of your pipe.

My pH keeps crashing overnight. What's going on?

This is almost always a KH problem. Low carbonate hardness means the water has no buffer against the CO2 that builds up when plant photosynthesis stops at night. Test your KH; if it's below 3 dKH, raise it gradually using sodium bicarbonate or crushed coral in the filter.

Can I use a pH-adjusting chemical to just set the number I want?

You can, but it's treating the symptom, not the cause. Many pH-down products use phosphoric acid, which works short-term but exhausts itself against the KH, causing the pH to rebound. You then dose again, the pH crashes, and you have a rollercoaster. Fix the underlying KH and source water situation instead.

My tap water is GH 18 dGH. Can I keep soft-water fish?

Yes, but you'll need to dilute it. A common approach is mixing tap with RO water, for example, 50% tap at 18 dGH and 50% RO at 0 dGH gives you roughly 9 dGH, which works for a wide range of community fish. Test the blend before using it.

Do live plants affect GH, KH, or pH?

Yes, actively. Photosynthesizing plants consume CO2, which raises pH during the day. A heavily planted tank with good lighting can swing 0.5–1.0 pH units between lights-on and lights-off. Plants also use calcium and magnesium, slowly lowering GH over time. Regular water changes (or mineral supplementation in an RO-based setup) compensate for this drawdown.

← Back to all guides