Water hardness in an aquarium refers to the concentration of dissolved minerals in the water, primarily calcium and magnesium. It’s one of the most important water parameters for fishkeeping because it directly affects fish health, pH stability, and plant growth. Aquarium hardness is split into two distinct measurements: general hardness (GH) and carbonate hardness (KH), and understanding both will help you maintain a stable, healthy tank.
GH vs. KH: Two Types of Hardness
General hardness (GH) measures the calcium, magnesium, and other dissolved minerals in your water. These minerals are essential for living organisms in your tank. Fish larvae and fry, for example, need calcium from the water they swim in (or from food) to develop their bones. Invertebrates like shrimp and snails rely on it for shell formation. GH is the number most people mean when they say “water hardness.”
Carbonate hardness (KH), sometimes called alkalinity, measures something different: the bicarbonate and carbonate ions in your water. The “K” comes from the German word “Karbonate.” KH doesn’t directly affect your fish the way GH does, but it plays a critical behind-the-scenes role by acting as a pH buffer. Bicarbonates neutralize acids that naturally build up in an aquarium, preventing your pH from crashing overnight. When KH is too low (below 1 degree), pH can drop quickly and dramatically, which is dangerous for fish.
Think of GH as the mineral content your animals need to thrive, and KH as the safety net that keeps your water chemistry from swinging unpredictably.
How Hardness Is Measured
You’ll see hardness expressed in a few different units. The most common in the aquarium hobby are degrees of hardness (dGH for general hardness, dKH for carbonate hardness) and parts per million (ppm). One degree of German hardness equals roughly 17.8 ppm (mg/L as calcium carbonate). So a reading of 8 dGH is about 143 ppm.
For testing, you have two main options at most pet stores: liquid test kits and test strips. Liquid kits are more accurate. They work through titration, where you add drops of reagent to a water sample and count how many drops it takes for the color to change. Each drop typically represents 1 degree of hardness. Test strips are less precise but easier for beginners since you just dip, wait, and compare colors. If you’re setting up a tank for species with specific hardness needs, liquid kits are worth the small extra effort.
Why Hardness Matters for Fish
Every freshwater fish species evolved in water with a particular mineral profile. Livebearers like guppies, mollies, and platies come from hard, alkaline waters and do best with a GH of 12 to 20 dGH. Soft-water species like tetras, rasboras, and many South American cichlids prefer GH in the range of 3 to 8 dGH. African cichlids from Lake Malawi thrive in very hard, alkaline conditions.
When fish are kept in water that’s far outside their natural range, they show signs of osmotic stress. You might notice rapid breathing, hiding, erratic swimming, or general sluggishness. These symptoms are easy to mistake for disease, but they can be caused entirely by a hardness mismatch. Breeding is often the first thing to fail when hardness is wrong, even if the fish otherwise look healthy.
KH, pH, and Planted Tanks
If you’re running a planted aquarium with CO2 injection, KH becomes especially important. KH, pH, and dissolved CO2 have a fixed mathematical relationship: for any given KH level, adding CO2 will lower pH by a predictable amount. In a tank with a KH of 5 degrees, adding CO2 to reach an optimal 28 ppm would drop pH from about 8.0 to 7.2, a shift of 0.8. In a tank with a KH of only 1.5 degrees, that same CO2 concentration would drop pH from 7.0 to 6.2, the same 0.8 shift but landing in a much more acidic range.
The key takeaway: KH doesn’t change how much pH drops when you add CO2, but it determines where that drop starts and ends. Most planted tank guides recommend keeping CO2 between 10 and 25 ppm for strong plant growth. One caveat is that phosphates in the water can interfere with this relationship by adding their own buffering effect in the pH 5.0 to 7.0 range, which throws off CO2 calculations based on pH and KH alone.
How to Lower Water Hardness
If your tap water is harder than your fish prefer, the most reliable method is mixing it with reverse osmosis (RO) water. An RO system connects to your tap and filters water down to 1 dGH or less, essentially stripping out all dissolved minerals. You then blend RO water with tap water to hit your target. A simple formula: divide your desired GH by your tap water’s GH, multiply by 100, and that’s the percentage of tap water to use. So if your tap is 16 dGH and you want 4 dGH, you’d mix 25% tap water with 75% RO water.
Peat moss is a more natural, slower option. Placed in a mesh bag inside your filter, peat gradually lowers both GH and pH through the release of tannins and humic acids. It also binds some heavy metals. The trade-off is that it stains the water a tea-brown color (which some fishkeepers actually prefer for blackwater setups) and needs to be replaced regularly. Peat can cause unstable pH swings if your KH is already low, so it works best in tanks with moderate buffering capacity.
Liquid blackwater or peat extracts offer a more controlled version of the same effect, typically reducing GH and KH by about 1 degree per dose. These are convenient but won’t make dramatic changes on their own.
How to Raise Water Hardness
Raising hardness is generally simpler. Crushed coral, aragonite sand, limestone, marble, and even plain seashells are all forms of calcium carbonate. Placing any of these in your tank or filter will dissolve slowly and raise both KH and pH, typically stabilizing at a pH of 7.6 to 7.9 within a couple of days. Once the water reaches that pH range, it becomes saturated with calcium carbonate and stops dissolving, which provides a natural ceiling.
A bag of crushed coral or aragonite in your filter is one of the easiest set-and-forget solutions. Aragonite is the better choice if algae is a concern, since crushed coral and shells can contain small amounts of soluble phosphate that feeds algae growth. Crushed limestone has virtually no soluble phosphate.
For African cichlid tanks or other setups that need hard, alkaline water well above 8.0 pH, calcium carbonate alone won’t get you there. You’ll need carbonate salts. One teaspoon of baking soda per 25 gallons typically raises pH to between 7.5 and 8.0. A more complete recipe for Malawi cichlid tanks combines baking soda with Epsom salts (for magnesium), a calcium source, and potassium chloride, mixed into the water change water to raise both GH and KH together.
Finding Your Tap Water Baseline
Before making any adjustments, test your tap water for both GH and KH. Many municipal water supplies publish annual quality reports that include hardness data, but testing it yourself is more reliable since hardness can vary seasonally. Your baseline determines whether you need to soften, harden, or simply maintain what comes out of the tap. In many cases, choosing fish species that match your local water is the simplest and most stable approach, since constant mineral adjustments add complexity and room for error to every water change.

