All posts

Free reef tank parameter tracking spreadsheet (Google Sheets and Excel)

Almost everyone starts a reef log. Almost nobody still has one six months later.

The reason is not laziness. It is that most homemade sheets take more effort to maintain than the testing does. You test alkalinity in four minutes, then spend six minutes finding the right row, re-checking whether 8.4 dKH is inside your band, and repainting a cell. Add a chart and now you are dragging the series range every time you add a week of data. The sheet becomes a chore that sits on top of a chore, and the first busy week kills it.

So here is one that is already built. Free, no email, no attribution.

Get the spreadsheet
Make a copy in Google Sheets (needs a Google account)
Download the Excel version (no account needed)

The Google link opens straight into the copy dialog, so you get your own editable file and nothing you type touches ours. The Excel file is the same workbook if you would rather keep it local.

What is actually in it

Four working sheets plus a read me.

Readings. One row per test session. Columns for date, time, alkalinity (dKH), calcium, magnesium, nitrate, phosphate, pH, salinity, temperature, ammonia, nitrite, and a notes column at the end. 400 rows come pre formatted, which at two test sessions a week is about four years of logging. Panes are frozen so the header stays put once you scroll past row 30, and autofilter is on so you can pull up, say, every row where you noted a water change.

Automatic colour. Type a value and it turns green if it is inside your target band and red if it is outside. You never write a conditional formatting rule, never copy formatting down, never eyeball a number against a range you half remember. This is the part that decides whether a log survives, because it turns logging from data entry into an actual check.

Targets. Editable low and high bound for every parameter, one row each. Change a bound here and the colours on the Readings sheet reflow immediately across all 400 rows. The formatting rules point at these cells, so the Targets sheet is the only place you ever set a number.

Charts. Line charts for alkalinity, calcium, magnesium, nitrate and phosphate. Each chart carries two dashed lines showing your target band, and those lines are pulled from the Targets sheet, so if you move a bound the band on the chart moves with it. The series extend automatically as you add rows, so you are not re-pointing ranges every month. A chart is where a swing becomes obvious. A column of numbers hides a trend that a line makes impossible to miss.

Maintenance. Date, task, amount or detail, notes. The task column is a dropdown: water change, dose, test, clean glass, clean skimmer, filter change, top off, equipment check, feed, other. Dropdown rather than free text on purpose, because "WC", "water change" and "wc 20%" typed across six months are three different things to a filter and one thing to you.

Read me. Short usage notes so you are not guessing at what is safe to edit.

How to actually use it week to week

Do not test everything every time. That is the other way logs die.

A realistic cadence for an established mixed reef:

ParameterHow oftenWhy
Alkalinity2 to 3 times a week, daily while tuning a doserMoves fastest, consumed continuously, warns you first
CalciumEvery 2 weeksLarge reservoir, moves slowly relative to alk
MagnesiumMonthly, or when alk and calcium stop behavingHuge reservoir, weeks of drift before it matters
NitrateWeeklyDrives colour and nuisance algae both directions
PhosphateWeeklySame, and worth pairing on the same day as nitrate
SalinityWeekly, plus every mixed batchCheap to check, catches ATO faults
TemperatureWhatever your controller logs, spot check weekly
Ammonia, nitriteNew tanks and emergencies onlyBlank in a running tank, and that is fine

New tank still cycling is the exception. There you are testing ammonia and nitrite every day or two, and the rest barely matters yet. If nitrite is the thing keeping you up, nitrite that will not drop to zero covers what is usually going on.

Log the time, not just the date

The time column looks like fussy overkill until you compare two alkalinity readings taken five days apart at different hours.

pH swings across the photoperiod, often 0.2 to 0.4 units between pre dawn low and late afternoon high, more on a tank with a strong refugium and no reverse light cycle. Alkalinity gets consumed hardest during peak calcification, so a Saturday morning test and a Wednesday evening test are not measuring the same point in the cycle. If you are trying to work out daily alkalinity consumption, the interval between two readings has to be a real number of hours, not "about five days". Two timestamps give you that for free, and the alkalinity consumption calculator will turn them into dKH per day.

Pick a slot and mostly stick to it. Same hour, same conditions, same reagent handling. Consistency in when you test removes more noise than upgrading your test kit does.

The notes column is the most valuable column in the file

Numbers tell you what happened. Notes tell you why. Log anything that changes the system or the measurement:

  • New bucket of salt, and the brand or batch if you switched
  • New reagent lot or a new test kit entirely
  • Any dosing change, with the old and new amount
  • Water change, size and which salt
  • New livestock, a loss, a coral that looks off
  • Skimmer adjusted, GFO or carbon swapped, filter roll changed
  • Anything you did to the tank that you would not do again next week

Six weeks from now, when your alkalinity reads 0.4 dKH higher than the trend for no reason, the note that says "new Hanna reagent lot" is the answer. Without it you will chase a chemistry problem that is really a measurement change. Same story when corals sulk after a water change and the note reads "first bucket from the new salt" (why that happens).

Set your own targets, not the defaults

The defaults in the file are reasonable starting bands, not prescriptions. Open the Targets sheet and make them yours before you log anything.

The reason is stability. A tank sitting flat at 7.6 dKH grows better coral than a tank yo-yoing between 7.8 and 9.2 chasing a number someone posted. Alkalinity is the parameter where this bites hardest. A swing of more than about 0.5 dKH inside a day will show up as tissue recession on acropora tips before it shows up anywhere else.

Practical way to set bands:

  • Take your last 4 to 6 weeks of readings for a parameter and find where it actually lives
  • Set the low and high bound tight around that, roughly plus or minus 0.3 dKH for alkalinity, 20 ppm for calcium, 50 ppm for magnesium
  • If you want to move a parameter, move the target slowly (no faster than about 0.5 dKH per day for alkalinity) and move the bounds with it

Because the charts read their dashed band lines from the same cells, tightening a bound narrows the band on the chart too. You immediately see how much of your recent history actually sat inside the range you claim to be holding. That is usually a humbling five seconds and the most useful thing the file will show you all month.

What a spreadsheet cannot do

Worth being straight about this.

It does not notice absence. If you skip magnesium for five weeks, the sheet shows nothing. Blank cells are not red, they are just blank, and the chart draws a line straight over the gap as though nothing were missing.

It does not read trends. Every individual alkalinity reading can be green while your daily swing quietly widens from 0.2 to 0.7 dKH, which is the swing that damages corals. Green cells only ask "is this value inside the band right now". They never ask "is this tank getting less stable".

It does not compare parameters. Alkalinity falling while calcium holds steady means something quite different from both falling together, and no amount of conditional formatting will point that out.

And it decays. The first genuinely busy week, you test, you do not open the sheet, and you tell yourself you will backfill on the weekend. You will not. Every paper and spreadsheet log has this failure mode, and honestly the fix is mostly logging right at the test bench, phone or laptop open next to the kit, not later from memory.

Within those limits it is still the single best cheap upgrade to how you run a tank. Most reefing problems are trend problems, and you cannot see a trend you never wrote down.

Get the spreadsheet
Make a copy in Google Sheets (needs a Google account)
Download the Excel version (no account needed)

About Recif

We are building Recif because of the limits above. It is a reef tank tracker that logs from your phone at the tank, flags a parameter you have not tested in too long, and watches trends instead of just single values, which is the work a spreadsheet leaves to you.

Recif is still in development and is not on any app store yet. You can see what we are working on at our apps page. Until then the spreadsheet above does the job, and it will keep working whether or not you ever install anything from us.