Alkalinity is the buffer in your source water that resists pH change, measured in mg/L as calcium carbonate, and it is the single biggest reason a hydroponic pH will not stay where you set it. The sweet spot is roughly 30 to 60 mg/L — below 30 and pH swings wildly, above 120 and it refuses to drop. Read the alkalinity, not just the pH, and most of your drift problems disappear.
This is the variable I wish someone had explained to me before I killed my first reservoirs chasing a pH number I did not understand. The pH pen gets all the attention because it is the meter people own, but pH is the symptom and alkalinity is the disease. You can adjust pH a hundred times in a cycle and never solve a drift problem if you have not dealt with the buffer driving it. This piece is the deep dive on that buffer; the broader picture of where it sits in source-water chemistry is in the water source and treatment guide, and the hard-water side of the same coin is in the hard water hydroponics piece.
Alkalinity Is Not pH — Stop Confusing Them
The single most common conceptual error in hobby hydroponics is treating pH and alkalinity as the same thing. They are related but distinct measurements of different properties. pH is an intensity — how acidic or basic the water is right now, on a 0 to 14 scale. Alkalinity is a capacity — how much acid the water can absorb before its pH changes, which is a measure of its dissolved bicarbonate, carbonate, and hydroxide content. Two water samples can read the same pH and behave completely differently when you add acid, because their alkalinity is different.
The classic illustration: a glass of distilled water and a glass of tap water can both read pH 7.0. Add one drop of pH Down to the distilled and the pH crashes to 4.5 instantly, because there is no buffer to resist it. Add the same drop to the tap and the pH barely moves, because the alkalinity neutralizes the acid. Same starting pH, opposite behavior. This is why a pH reading alone is nearly useless for predicting how your res will behave — you need to know the buffering capacity, and that is the alkalinity number. The U.S. Geological Survey explains the underlying measurement in its Water Science School, and the WHO frames the drinking-water context in its drinking-water quality resource.
How Alkalinity Drives pH Drift in a Res
In a working reservoir, pH drifts because something is adding acid or base faster than the buffer can absorb it, or because the buffer itself is pushing the pH in one direction. Root respiration releases carbon dioxide, which forms carbonic acid and nudges pH down. Nutrient uptake by plants is selective — roots take up some ions faster than others, leaving behind ions that shift the solution pH up or down depending on the fertilizer’s formulation. These are normal biological processes that happen in every res, and in a well-buffered solution the buffer absorbs the swings and pH moves slowly and predictably.
The drift problems start when the buffer load is wrong for the situation. High-alkalinity source water keeps overpowering your pH adjustments, climbing a few tenths overnight no matter how often you set it. Low-alkalinity water — like straight RO or distilled with nothing added back — has almost no resistance, so the same biological processes that would barely move a buffered res swing the pH by a full point or more in hours. Either way, the pH pen is showing you a tug-of-war, and the alkalinity is the rope. Stabilize the rope and the tug-of-war becomes manageable.

What Alkalinity Number Should I Aim For?
The target I aim for in a starting water, after blending but before nutrients, is roughly 30 to 60 mg/L as calcium carbonate. In that range, there is enough buffer to keep pH stable against the normal biological swings of a working res, but not so much that I am fighting it every time I adjust. Below about 30 mg/L and the res becomes twitchy — pH moves fast and you are adjusting daily. Above about 120 mg/L and the buffer dominates, shrugging off reasonable pH Down doses and climbing back within hours. The exact sweet spot depends a little on the crop and the res volume, but 30 to 60 is the band I aim for and it has served every method I run.
These numbers come from a titration test, not from your EC or pH pen. An alkalinity kit — the same kind aquarium owners and pool operators use — counts how many drops of a standard acid reagent it takes to shift a water sample past a color endpoint, and each drop corresponds to a known mg/L increment. It is a five-minute test that costs a few dollars per use, and it is the only way to actually see the number everyone is guessing at. I run one whenever I change source water or start a new line of reasoning about a pH problem.
How I Measure Alkalinity at Home
My bench process for an alkalinity reading is simple and repeatable. I draw a fresh sample of the source water into the kit’s vial to the fill line. I add the indicator drops to get the starting color. Then I add the titrant drop by drop, swirling between drops, and count the drops it takes to hit the endpoint color change. The kit’s instructions convert drops to mg/L calcium carbonate — typically something like one drop per 10 mg/L or per 17.8 mg/L depending on the kit. I write the result in the res log next to the EC and pH for that fill, so over time I have a picture of how my source alkalinity moves through the year.
A good alkalinity titration test kit is one of the most underused tools in hydroponics, precisely because it measures the one number that explains pH drift. I cross-check my pH pen with indicator drops at the same time, the routine I describe alongside the meter work in the EC meter guide — drops catch a pen that is drifting out of calibration, and the pen is more precise than drops once you trust it. Together they keep me from blaming the wrong variable when something looks off.
Low Alkalinity: When pH Swings Wildly
The low-alkalinity trap catches growers who move to RO or distilled water thinking they have upgraded to a clean slate, then watch their pH behave worse than it ever did on tap. Straight RO water has near-zero alkalinity, so there is nothing to absorb the acid that roots and nutrients introduce. The pH that sat at 5.8 when you set it crashes to 4.5 overnight, or jumps to 7 on the other side of an uptake swing. This is not a malfunction — it is exactly what unbuffered water does, and it is why mixing nutrients into pure RO without adding any buffer back is a recipe for a twitchy res.
The fix is to add a controlled amount of buffer back. The CalMag you add to RO water contributes some calcium and magnesium carbonate, which is mild buffering, and many growers find that a properly re-mineralized RO res is stable enough. Where I want more control, I blend the RO with a measured fraction of tap to land in the 30 to 60 mg/L band rather than starting from absolute zero. The point is to choose the buffer level deliberately instead of inheriting whatever the source water gives you, whether that is zero or too much.
High Alkalinity: When pH Refuses to Drop
The high-alkalinity problem is the mirror image and the more common complaint. Tap water with alkalinity above 120 mg/L — and mine, on the hard side, is in that territory — fights every pH Down addition. You dose, you mix, you read 5.8, and by morning it has climbed back to 6.5 because the buffer neutralized your acid and kept pushing. The temptation is to add more and more pH Down, which works briefly but burns through acid, risks overshoot, and adds phosphate (if you are using phosphoric-based pH Down) that your nutrient line did not account for.

The real fix is reducing the buffer at the source, not overpowering it in the res. A partial RO blend, which I lean on for exactly this reason, cuts the alkalinity in proportion to the blend ratio and brings a stubborn tap into the manageable band in one move. This is the same lever I pull for the calcium-load problem in the hard water piece, because the carbonate buffer and the calcium ride in together. Lower the starting alkalinity and pH suddenly behaves — it stops being a twice-daily chore and becomes a check-at-res-change routine, the way I describe in the pH Down guide and the top-off and EC drift management routine.
The Res I Lost to a Runaway pH Swing
I will own this mistake because it is the one that finally made alkalinity click for me. Early on, proud of a new RO setup, I mixed a full lettuce res into straight RO with no buffer added back, set the pH to 5.8, and went to bed. By the next morning the pH had crashed below 4.5 — the unbuffered water offered no resistance to the acidifying effect of the nutrient salts and root processes, and my 5.8 became a memory overnight. The lettuce survived but stalled hard, and the root tips burned back. The pH pen was not broken and the nutrients were not bad; I had simply handed the res a glass of water with no capacity to resist change, then been surprised when it changed.
The lesson, which now governs how I treat every res, is that a stable pH is engineered, not luck. You pick a starting alkalinity in the 30 to 60 mg/L band, you re-mineralize RO water instead of running it raw, and you stop treating each pH swing as an emergency to dose your way out of. Once I started logging the alkalinity alongside EC and pH, the runaway swings stopped, and my res logs flattened out. The same discipline is what makes the dechlorination and disinfectant steps worthwhile — they all protect a buffer-and-biology balance you took the trouble to build.

What I Would Do Starting Today
If pH drift is your problem, here is the order I would attack it. Stop adding more pH Down and buy an alkalinity titration kit instead — measure the actual buffer load before you dose anything. If your source alkalinity is above 120 mg/L, blend with RO to bring it into the 30 to 60 mg/L band, and watch how much calmer the pH gets before you touch another drop of acid. If you are on straight RO and swinging wildly, add buffer back through re-mineralization or a measured tap blend instead of running unbuffered water. Log alkalinity next to EC and pH for a few cycles, and you will see the drift pattern line up with the buffer level exactly. The fix for pH drift is almost never in the pH bottle; it is in the alkalinity you have not measured.
As an Amazon Associate I earn from qualifying purchases.
What is the difference between pH and alkalinity in hydroponics?
pH is the current acidity or basicity of the water on a 0 to 14 scale. Alkalinity is the water’s capacity to resist pH change, measured as mg/L calcium carbonate. Two samples can share a pH but behave differently when you add acid, because their alkalinity differs. Alkalinity drives pH drift; pH only reports it.
What alkalinity level is best for a hydroponic reservoir?
Aim for roughly 30 to 60 mg/L as calcium carbonate in your starting water. Below about 30 mg/L the pH swings too easily, and above about 120 mg/L it resists your pH Down and climbs back overnight. The 30 to 60 band buffers normal biological swings without fighting your adjustments.
Why does my pH keep rising overnight in hydroponics?
High alkalinity in the source water is the usual cause. The carbonate buffer neutralizes the acid you add and keeps pushing pH back up. Reducing the buffer load with a partial RO blend solves it more reliably than adding more pH Down.
Does RO water have alkalinity?
Almost none. Reverse osmosis strips the bicarbonate along with the minerals, so straight RO water has near-zero alkalinity and pH swings wildly as a result. Re-mineralize it or blend in a measured amount of tap to add buffer back.
How do I test water alkalinity at home?
Use an alkalinity titration test kit, the same kind aquarium and pool owners use. Add indicator drops to a sample, then add the acid titrant drop by drop until the color changes, and convert the drop count to mg/L calcium carbonate using the kit instructions. It takes about five minutes.
Is high alkalinity the same as hard water?
They usually travel together but are not identical. Hardness is specifically calcium and magnesium content. Alkalinity is the bicarbonate and carbonate buffer. Hard water is typically also high-alkalinity because the carbonate rides in with the calcium, which is why reducing one often helps the other.