Water Chemistry for Freshwater Aquariums
If you only learn one thing about fishkeeping, learn this: you’re keeping water, not fish. Get the water right and the fish thrive. Get the water wrong and even the hardiest species will struggle. This section walks through the fundamentals of freshwater chemistry — what the numbers mean, what ranges are safe, and how to keep them stable.
The biological cycle
Every new aquarium has to be “cycled” before livestock goes in. The cycle is the establishment of a colony of beneficial bacteria — primarily Nitrosomonas and Nitrobacter species — that convert toxic ammonia (excreted by fish and produced by decomposing waste) into less-toxic nitrite, and then nitrite into relatively harmless nitrate. The whole conversion takes roughly four to six weeks in a brand-new tank, and skipping it is the single most common cause of “new tank syndrome” fish loss.
We recommend a fishless cycle: dose ammonia (either pure ammonia solution or a small piece of decomposing food) to about 2–4 ppm, then test daily. When you can dose 2 ppm of ammonia and watch it drop to zero within 24 hours, with nitrite also at zero and nitrate present, your tank is cycled and ready for livestock. Always add fish gradually, even into a cycled tank — the bacterial colony sizes itself to the bioload, and adding too much at once can trigger a “mini cycle” with measurable ammonia.
pH
pH measures how acidic or alkaline your water is, on a logarithmic scale from 0 to 14, with 7 being neutral. Most freshwater fish do well between pH 6.0 and 8.0, but the right range depends on the species. Soft-water blackwater species (Neon Tetras, German Rams, Adolfo’s Cory) prefer pH 6.0–7.0. Hard-water livebearers (Endlers, Mollies) and African Rift Lake cichlids prefer pH 7.5–8.5. Mystery Snails, despite being South American, do best in moderately hard, alkaline water (pH 7.6–8.4) because their shells need dissolved calcium.
Stability matters far more than chasing an exact number. A tank that holds steady at pH 7.4 is healthier for a Neon Tetra than one that swings between 6.0 and 7.0 every week. Avoid pH-adjusting chemicals — they crash back almost immediately and stress everything in the tank. If you need to lower pH, add botanicals (driftwood, Indian almond/catappa leaves, peat). If you need to raise it, add crushed coral or aragonite to your filter.
Hardness — GH and KH
Hardness comes in two flavors. GH (general hardness) measures dissolved calcium and magnesium — the minerals fish and shrimp need for bone, scale, and shell development. KH (carbonate hardness, also called alkalinity) measures dissolved carbonates and bicarbonates, which buffer pH against swings. Both are measured in degrees (dGH, dKH) or in ppm.
Soft water has GH around 0–6 dGH and KH around 0–4 dKH. Hard water is GH 12+ dGH and KH 8+ dKH. South American blackwater species evolved in very soft water. Central American livebearers and African cichlids evolved in hard water. Shrimp are particularly sensitive — Neocaridina (Blue Dreams, Cherry, etc.) tolerate a wide GH range but molt poorly in water below 3 dGH; Caridina species (Crystal Reds, etc.) require very soft, slightly acidic water with GH 3–6 and KH 0–2.
KH below 2 dKH is risky regardless of species — you lose your pH buffer, and even small bioload changes can cause sudden pH crashes. If you’re trying to keep blackwater species at low pH, monitor KH closely and consider remineralizing your source water with a controlled blend rather than running it bone-soft.
Temperature
Most tropical freshwater species do well between 72 and 80 °F (22–27 °C). A few species prefer cooler water (Boesemani Rainbowfish 75–86 °F is warmer than typical; White Cloud Mountain Minnows like 64–72 °F). Heaters should be sized at roughly 5 watts per gallon for stable indoor environments, more if your room runs cold or fluctuates. Always run a separate thermometer to verify the heater’s accuracy — built-in thermostats drift over time.
Avoid sudden temperature changes during water changes; aim for incoming water within 2 °F of tank temperature. We use water changes to drop temperature deliberately when we’re trying to trigger spawning in some species (Corydoras, in particular, respond to a cool water change as a “wet season” cue).
Ammonia, Nitrite, and Nitrate
Ammonia and nitrite are toxic at any measurable level — both should read 0 ppm in a healthy, cycled tank. If you ever see a reading, do a 30–50% water change immediately and investigate the cause (overfeeding, overstocking, dead livestock, or a disrupted cycle from filter cleaning).
Nitrate is the end product of the cycle and is far less toxic. We keep nitrate below 20 ppm for sensitive species (shrimp, Corydoras, Discus) and below 40 ppm for more tolerant community fish. Weekly water changes of 20–30% are the standard tool for keeping nitrate in check. Heavily planted tanks can run lower nitrate naturally as the plants take it up.
Testing
You can’t manage what you don’t measure. We recommend a liquid test kit (API Freshwater Master Kit is the industry standard) for pH, ammonia, nitrite, and nitrate. Test strips are convenient for quick GH/KH spot-checks but are less accurate. Test weekly when your tank is established, and daily during cycling, after introducing new livestock, or whenever something looks “off.”
Keep a simple log — date, parameters, and any observations. Patterns reveal themselves over weeks (gradually creeping nitrate means you need more frequent water changes; slowly dropping KH means your buffer is being consumed and your pH is at risk).
If you have specific questions about your water — especially if you’re on well water, soft municipal water, or RO — email us at help@jojoaquatics.com with your test results and we’ll help you sort it out.
