REEF SCIENCE · GUIDE

How to read your reef ICP results, whatever lab you used.

The report is back and it's forty numbers, half of them elements you've never dosed for. Here's how to actually read it: what the groups mean, the unit trap that causes fake emergencies, and the order to work through it so you don't panic-dose.

By Carlos Mendiluze · August 11, 2026 · 9 min read
A water chemistry test report with parameter readings and target ranges

Every reefer's first ICP report lands the same way. You paid for precision, you waited a week, and now you're staring at a wall of numbers: some green, some yellow, a couple red, and at least ten elements you have never once thought about. Rubidium? Barium? The instinct is to fix everything red by Friday. That instinct is how stable tanks get wrecked.

This guide is lab-agnostic on purpose. Whether your report came from ATI, Triton, Oceamo, Fauna Marin, or Reef Labs, the structure is the same and so are the traps. The labs present the data differently, but reading it well comes down to the same handful of habits.

The three things worth understanding

  1. The report has a hierarchy, even if the layout hides it. Salinity and the big three (alkalinity, calcium, magnesium) drive your tank's day to day stability. Trace elements fine-tune a tank that's already stable. Reading top to bottom in the lab's order treats a 2 µg/L rubidium flag like it matters as much as a 6.1 dKH alkalinity reading. It doesn't.
  2. Units are where most misreadings happen. Majors come in ppm or dKH. Traces usually come in µg/L, which is a thousand times smaller than ppm. Confuse the two and a completely normal iodine level reads like a contamination event.
  3. Target ranges are opinions, and the opinions disagree. Each lab calibrates its instrument and publishes its own ranges.4 The same element can carry a different "ideal" depending on who ran your sample. Your own history with one lab is worth more than a cross-lab comparison ever will be.

What's actually on the report

Strip away each lab's branding and dashboard design, and every ICP report is the same four groups of numbers, each answering a different question.3

Major elements: the foundation

Salinity, alkalinity, calcium, magnesium, plus the bulk ions like sodium, chloride, potassium, and strontium. These are the parameters your corals experience every hour of every day. They're also the ones your hobby test kits already track, which makes the ICP reading a useful cross-check on your kits rather than brand new information.1

Nutrients: nitrate and phosphate

These tell you about the biological engine of the tank: feeding, export, and bacterial activity. Worth noting that some labs measure phosphorus and calculate phosphate from it, which is why the number can differ slightly from your Hanna checker. Neither is wrong. They're measuring different things and converting.

Trace elements: the long tail

Iodine, iron, manganese, zinc, and the rest of the list that makes ICP feel worth the money. These matter, but they're the last thing to act on, not the first, and some of the readings need more skepticism than the report lets on. More on that below.

Contaminants: the actual emergencies

Copper, aluminium, tin, lead. This is the one group where a red flag can justify fast action, because elevated metals are toxic at concentrations far below anything a hobby kit can see, and they usually point to a specific source: a corroding pump, a metal clip, contaminated rock, or your source water.1 If your report includes a separate RO/DI water analysis, read it side by side with the tank result. It tells you whether the problem is coming in with your top-off.

The µg/L trap

This one causes more forum panic than everything else combined, so here it is plainly. Major elements are reported in mg/L, which is the same thing as ppm. Trace elements are usually reported in µg/L, micrograms per liter, which is parts per billion. One thousand µg/L equals one ppm.

So an iodine reading of 60 µg/L is 0.06 ppm, which is right in the neighborhood of natural seawater. Read that same 60 as ppm and you'd believe your tank held a thousand times the normal level. People genuinely make this mistake, dose or water-change against it, and then wonder why the tank got worse. Before you react to any trace number, check the unit column first, every single time.

The same discipline applies to "not detected" readings. Every instrument has a detection limit, and a zero on the report means "below what the machine can see," not "absent from your tank."2 A zero next to an element your corals need slowly is rarely the crisis it looks like.

Why your lab's ranges don't match the forum's

ICP instruments are calibrated against a reference solution, and labs make different choices about that reference: freshwater, generic seawater, or reef-tank water specifically. Those choices measurably shift the output.4 On top of the calibration differences, each lab publishes its own target ranges, built from its own data and its own husbandry philosophy.

How much do the published numbers actually vary? Enough that even a single lab can disagree with itself. Triton's method page lists magnesium at 1250 to 1350 ppm while its own FAQ says 1320 to 1370, and its alkalinity range shifts between pages too.56 That's the market's most established lab. If the people running the instruments land on different ideals, the forum thread telling you your strontium is "wrong" is not a reliable referee.

The practical rule that falls out of this is simple. Use the range printed on your own report, from the lab that ran your sample. Pick one lab and stay with it, because your trend over time with one instrument is real data, while a jump between two labs is mostly noise.8 Your third test with the same lab tells you more than your first tests with three different ones.

The reading order that keeps you sane

Here's the sequence I use on every report, mine or anyone else's. It runs mostly opposite to how the reports are laid out.

First: salinity

Every major element scales with salinity. If your salinity reads 33 instead of 35, then calcium, magnesium, and the rest of the bulk ions will all read proportionally low, and "correcting" them individually while ignoring salinity is dosing against a measurement artifact. Check salinity, and if it's off, fix that first and mentally re-read the majors in that light.

Second: alkalinity, calcium, magnesium

The big three drive coral calcification and daily stability. If alkalinity is meaningfully out of range, nothing else on the report matters yet, because no trace element correction survives an unstable alkalinity. Get these into range and holding steady before anything else earns your attention.

Third: nutrients

Nitrate and phosphate at extremes (stripped to zero, or climbing month over month) explain more coral symptoms than nearly any trace element deficiency. Pale, slow-growing corals in a zero-nutrient tank don't need an iodine correction. They need food.

Fourth: contaminants

Scan copper, aluminium, tin, lead. Anything meaningfully elevated deserves a hunt for the source before you dose anything at all, because dosing into a contaminated tank is decorating a problem.

Last: trace elements, one or two at a time

Only now do the traces get a look, and even then with restraint. Correct one or two elements, wait, and retest before touching more. Correcting six things at once means your next report can't tell you which correction did what, and you've bought an expensive test that can no longer answer questions.2

One more reason for restraint: some flagged readings reflect chemical forms your corals can't use either way. Iodine exists as iodide, iodate, and elemental iodine, and only part of that total is biologically active, so a "high" or "low" total iodine number doesn't map cleanly onto what your corals are experiencing.17 The number is honest. It's just answering a narrower question than the report layout implies.

What this means when your next report lands

Open it, check the units, and walk the order: salinity, big three, nutrients, contaminants, traces. Write down at most three actions, sized conservatively, and put a retest date on the calendar before you dose anything. A report read this way is a planning document. A report read top to bottom in a panic is a shopping list, and the shopping list mostly benefits whoever sells the bottles. Once you've read the report and know what's flagged, the next question is what to fix first: that 30-day sequence gets its own guide in the order of operations. And if you haven't picked a lab yet, or you're wondering whether to switch, the honest rundown is in the ICP test comparison.

And if you'd rather have the reading done for you, that's literally what Decode is. You upload results from any lab, tell it about your tank and livestock, and get back one written, prioritized plan with the reasoning shown and a retest date attached. It exists because the hardest part of ICP testing was never the chemistry. It's the interpretation.

Further watching

If you want to see this territory covered on video, these are worth your time:

Top Shelf Aquatics

"The Importance of ICP Tests and Trace Elements in Our Reef Tanks!"

Interview walkthrough of what ICP testing does well and where hobbyists commonly misread the results

Bulk Reef Supply

"Can you trust your saltwater test kit OR your testing skills on your reef tank?"

BRStv Investigates · why home test readings drift, and how lab testing fits alongside your weekly kit routine

FAQ

What order should I read my ICP results in?

Salinity first, because every major element scales with it. Then the big three: alkalinity, calcium, magnesium. Then nutrients, then contaminants like copper and aluminium. Trace elements come last, because they matter least until everything above them is stable.

What does µg/L mean on my ICP report?

Micrograms per liter, which is the same as parts per billion. Divide by 1,000 to get mg/L (ppm). An iodine reading of 60 µg/L is 0.06 ppm. Misreading µg/L as ppm makes a normal trace reading look like a thousand-fold emergency.

Why does my lab's target range differ from what forums say?

Labs calibrate their instruments differently and publish different reference ranges, and even a single lab's own pages can disagree with each other. Use the range printed on your own report, stick with one lab, and compare against your own tank's history rather than someone else's numbers.

Should I dose something for every element that's out of range?

No. Correcting many elements at once makes your next test impossible to interpret, and some flagged readings reflect chemical forms your corals can't use anyway. Fix the foundational parameters first, correct one or two trace elements at a time, and retest before touching more.

How is Decode different from the recommendations my lab already gives me?

Most lab recommendations resolve to that lab's own product line, and they don't know your tank. Decode is lab-agnostic: it reads results from any lab, factors in your tank profile, livestock, and photos, and returns one prioritized written plan with a retest date. $39, no subscription.

Sources & further reading

Every factual claim in this article is sourced from peer-reviewed research, established reef husbandry publications, or the labs' own documentation. If you want to verify anything yourself, here are the primary references:

1 · Reef Builders

"A Beginner's Guide to ICP Testing"

Reef Builders · source for what ICP measures, contamination detection, and the iodine and tin bioavailable-form distinction

2 · Charterhouse Aquatics

"Interpreting ICP Test Results to Adjust Your Trace Elements Routine"

Charterhouse Aquatics · source for one-element-at-a-time correction practice and detection-limit caveats

3 · Charterhouse Aquatics

"A Guide to Reef Aquarium ICP Testing"

Charterhouse Aquatics · source for the element-group structure of ICP reports

4 · Zhang, L. et al.

"The Accurate Determination of Major and Trace Elements in Seawater Using ICP-OES"

Research Square, peer-reviewed preprint · academic confirmation that seawater matrix and calibration choices measurably shift ICP-OES readings

5 · Triton GmbH

"The TRITON Method"

triton.de · publishes magnesium at 1250 to 1350 ppm and alkalinity at 6.5 to 8.5 dKH

6 · Triton GmbH

"TRITON FAQ"

triton.de · the same company's FAQ lists magnesium at 1320 to 1370 ppm and alkalinity at 7.0 to 9.0 dKH, demonstrating range disagreement even within one lab

7 · Sun, Y.-J. et al.

"Iodine-to-Calcium Ratios in Deep-Sea Scleractinian and Bamboo Corals"

Frontiers in Marine Science, peer-reviewed · coral iodine incorporation depends on chemical speciation, not just total concentration

8 · ATI North America

"Choose the Right ICP Testing for Your Reefing Needs: a Comparison"

ATI North America · lab-side discussion of test tiers and why consistency with one provider matters for trend data

9 · Reef Labs

"How to Read the Results of Your ICP-OES Water Test"

Reef Labs · a lab's own walkthrough of its report layout, useful as a worked example of the structure described here

SKIP THE HOMEWORK

Get your report read by something that knows your tank.

Submit your ICP results from any lab, plus your tank profile and photos, and get one prioritized written plan with a built-in retest date. $39, no subscription required.