Reef tank water testing schedule (free tracker template)
The honest answer to "how often should I test" is that it depends on how old the tank is and which parameters are actually moving. A three week old cycling tank and a four year old SPS tank need almost nothing in common on the test bench.
Most schedules you find online do not say that. They list eight parameters, mark them all "weekly", and move on. That schedule is copied from another schedule which was copied from a forum post in 2013. It has you testing magnesium every week (it barely moves) and skipping alkalinity between Sundays (it moves every day). You end up spending reagents on the things that hold steady and missing the one thing that drifts.
Below is a schedule built the other way round, from what each parameter actually does. And a spreadsheet to log it in.
Get the spreadsheet
Make a copy in Google Sheets (needs a Google account)
Download the Excel version (no account needed)Free, no email, no attribution. 400 pre formatted rows, readings turn green inside your target band and red outside it, and the charts draw your target band as dashed lines.
The schedule
Frequencies below assume a normal mixed reef. Adjust the established column down if you run softies only, up if you run a heavy SPS system.
| Parameter | Cycling | First 6 months | Established |
|---|---|---|---|
| Ammonia | Every 2 to 3 days | Weekly for month 1, then stop | Never (only after a die off) |
| Nitrite | Every 2 to 3 days | Weekly for month 1, then stop | Never |
| Nitrate | Weekly | Weekly | Weekly |
| Phosphate | Not useful yet | Weekly | Weekly |
| Alkalinity | Once at start | 2 to 3x per week | Daily if dosing, 2x per week if not |
| Calcium | Once at start | Weekly | Every 1 to 2 weeks |
| Magnesium | Once at start | Every 2 weeks | Monthly |
| pH | Weekly | Weekly, same hour | Weekly, same hour |
| Salinity | Weekly | Weekly | Weekly, plus every mixed batch |
| Temperature | Daily | Daily | Daily |
A few notes on the stages.
Cycling. Only ammonia and nitrite tell you anything. Nothing is consuming calcium or alkalinity yet because there is nothing calcifying. Testing them daily during a cycle is wasted reagent. Once ammonia and nitrite both read zero and stay there through a repeat ammonia dose, the cycle is done. If nitrite is the one refusing to fall, that has its own causes: see nitrite not dropping to zero.
First 6 months. This is the stage where you are still learning what your specific tank does. Test alkalinity often here even if demand is low, because you are building a baseline, not reacting to one. Keep ammonia and nitrite going for the first month after stocking starts, then retire them.
Established. Demand is stable and predictable, so you can test less on most things and more on the one that moves. If you dose alkalinity, daily testing is not paranoia, it is how you catch a pump that stopped or a container that ran dry before your corals notice.
Why the frequency differs per parameter
Frequency should track two things: how fast the parameter moves, and how big the reservoir is relative to test kit resolution.
Alkalinity moves fastest. Typical consumption in a mixed reef is 0.3 to 1.0 dKH per day, and heavy SPS tanks run 1.0 to 2.0. Against a baseline of 8 to 9 dKH, a full day of unreplaced consumption is a measurable, meaningful change. That is why it earns the most tests.
Calcium moves at the same rate but on a much larger base. Calcification consumes roughly 7 ppm of calcium for every 1 dKH of alkalinity. So a tank burning 1 dKH per day also burns about 7 ppm calcium per day, against a baseline of 420 ppm. Most hobby calcium kits resolve to 10 or 20 ppm. One day of consumption is literally below what your kit can see. A week of it (around 50 ppm) is not. Weekly is the right cadence.
Magnesium barely moves. The reservoir is around 1350 ppm and consumption is a fraction of calcium's. Many tanks drop 10 to 20 ppm per week, which is inside the error of a titration kit that steps 30 ppm per drop. Testing it weekly means reading noise. Monthly gives the drift enough time to exceed your kit's resolution.
Nitrate and phosphate accumulate rather than deplete, driven by feeding and export. They respond to changes in feeding schedule, a skimmer that needs cleaning, or a new fish. Weekly catches a trend early. Target ranges most people run: nitrate 2 to 10 ppm, phosphate 0.03 to 0.10 ppm. Zero on both is not a goal, it is a warning.
Ammonia and nitrite are cycling instruments. In an established tank they read zero because the bacteria population handles the load within minutes. Testing them monthly on a healthy three year old tank tells you nothing you did not already know. Keep the kits for emergencies: a dead fish you did not find, a filter you cleaned too thoroughly, a power cut.
Same time, same spot, same kit
This matters more than adding another test day.
pH swings every 24 hours. Photosynthesis pulls CO2 out of the water while the lights are on, so pH climbs through the photoperiod and falls overnight. A swing of 0.15 to 0.40 units between the pre dawn low and the late evening high is completely normal. If you test at 7am one week and 9pm the next, you will see 7.92 and 8.28 and conclude something is wrong. Nothing is wrong. You measured two different points on the same daily curve.
Alkalinity has a quieter version of the same problem. Calcification runs faster under light, so alkalinity falls faster during the photoperiod than overnight. Testing Monday morning and Thursday evening mixes a full day of light driven consumption into your numbers. And if you dose, testing 30 minutes after a dose gives you a spike, not a baseline.
Three rules that remove most phantom problems:
- Same hour. Pick a time, ideally a couple of hours before lights out or right before your dose fires, and keep it.
- Same spot. Draw from the same place every time, away from the dosing outlet and away from the skimmer.
- Same kit and same batch. Different brands disagree by 0.3 to 0.5 dKH on the same water. A new reagent lot can shift your readings slightly too. When you switch brands, note it in the tracker so future you knows why the line stepped.
The spreadsheet has a time column and a notes column for exactly this. Log the hour, log the kit change, and the charts stay interpretable a year later.
When to test more
Step the frequency up temporarily when you change something:
- After adding livestock. New fish means new bioload. Watch nitrate and phosphate for two weeks.
- After a large water change. Anything over 20% can shift alkalinity, temperature and salinity at once, and corals sometimes sulk afterwards. If yours have closed up, corals not opening after a water change covers the usual causes.
- New salt brand or a new bucket. Test the mixed saltwater itself, not just the tank. Alkalinity, calcium, magnesium and salinity, before it goes anywhere near the display. Batch variation between buckets of the same brand is real.
- Starting or changing dosing. Test alkalinity daily for the first week or two until the numbers hold flat. If you are working out how much to dose, measure your actual consumption first (how to calculate daily alkalinity consumption) and run it through the alkalinity consumption calculator to get a dose in millilitres.
- When something looks off. Retracted polyps, a sudden algae bloom, a fish breathing hard. Test before you change anything, so you know what you are treating.
When to test less
Over testing is not free. Reagents cost money, tests cost time, and a schedule you resent is a schedule you abandon.
The filter is simple: if the result would not change what you do this week, do not run the test.
That rules out a lot.
- Magnesium weekly on a stable tank. It has not moved enough to read.
- Ammonia and nitrite on any established system with no die off.
- Alkalinity daily on a softie tank with no dosing and 0.2 dKH per day of demand.
- Any test you run twice because you did not like the first number. Hobby alkalinity kits carry roughly 0.1 to 0.2 dKH of error. Readings of 8.3, 8.1 and 8.4 across three days are one flat line, not a trend.
Chasing test kit noise causes more crashes than testing less often does. The tank that gets adjusted every time a number wobbles is the tank that never settles.
Log it somewhere you will actually look
A schedule only works if the readings land somewhere comparable. Scraps of paper and phone notes do not show you that alkalinity has been sliding 0.1 dKH per week for two months.
That is what the tracker is for. Enter the reading, and it turns green if it is inside your band and red if it is not, using bounds you set yourself on the Targets sheet. Change a target and the colours and the chart bands both follow. There is a Maintenance sheet alongside it for water changes, doses, filter swaps and glass cleaning, so when a parameter moves you can see what you did that week.
Get the spreadsheet
Make a copy in Google Sheets (needs a Google account)
Download the Excel version (no account needed)
We are building Recif, an app that does automatically what this spreadsheet does by hand: log readings, flag them against your targets, and work out consumption trends without you maintaining a file. It is still in development and not released yet. You can see what we are working on at our apps page. Until then, the spreadsheet does the job on its own.