How to read a well water test report, line by line

An annotated composite lab report, column by column: what each unit, limit and qualifier letter means, when "not detected" still leaves a question, and which line of the decision table your result falls in.

General information, not medical or professional advice. Check the dated sources below, ask your health department about your own well, and see our terms.

The short answer: read every line of a well water test report in the same order: the analyte, the result, the unit (including any "as N" or "as CaCO3"), the reporting limit, the limit the lab printed beside it, and any qualifier letter. Then check the header to see whether the sample reached the lab in time. A number means little until you know all six.

This guide works through a whole composite report, column by column, including what unit tables leave out: qualifier letters, why "not detected" can leave a question open, and what to do when the lab's limit sits above the health limit. Private wells have no federal limits of their own; NDSU Extension notes that EPA's maximum contaminant levels "can serve as a reference," and that is how they are used here.

The sample report we'll decode

This is a composite with fictitious values, not anyone's real results. Its layout follows example reports published by NDSU Extension and the Minnesota, New York and Vermont health departments. The method codes come from EPA's drinking-water rules and New York's example report.

Composite report, fictitious values. Example Certified Laboratory · Lab sample ID 26-04417 · Sample point: kitchen tap, cold, treatment bypassed · Sample type: raw water, private well · Collected: Monday 04/06/2026, 7:40 AM, by owner · Received: Monday 04/06/2026, 2:55 PM · Temperature on receipt: 4.0 °C

AnalyteResultQual.UnitsRLMDLLimit printedMethod
Total coliformPresentP/A per 100 mLn/an/aAbsentSM 9223 B
E. coliAbsentP/A per 100 mLn/an/aAbsentSM 9223 B
Nitrate as N6.2mg/L0.100.0210EPA 300.0
Nitrite as NNDUmg/L0.050.011EPA 300.0
Arsenic4.2µg/L1.00.310EPA 200.8
Lead (first draw)0.6Jµg/L1.00.215EPA 200.8
Manganese0.081mg/L0.0050.0010.05 (secondary)EPA 200.8
Hardness205mg/L as CaCO35n/anonelab code
pH6.4pH unitsn/an/a6.5–8.5lab code
PFOA<5.0ng/L5.01.54.0EPA 537.1
PFOS3.1Jng/L5.01.54.0EPA 537.1

Start at the top: the header decides whether the rest can be trusted.

The header: sample point, times and who collected it

Minnesota's health department lists the parts of a report to review first: sample point, collection date, analyte and result. The sample point matters because "kitchen tap, treatment bypassed" describes the well, while a sample taken after a softener or filter describes what you drink. NDSU Extension prefers a raw sample for routine testing and says a second sample after the treatment equipment "will help you determine if your equipment is functioning properly."

Next, compare the collection time with the received time. In the composite, about seven hours passed. Montana State University's Well Educated program tells readers to make exactly this check: "You can determine the hold time by comparing the 'Collection Date' to the 'Received Date'." On temperature, EPA's coliform rule says public systems are "encouraged but not required to hold samples below 10 deg. C during transit."

Holding times: the clock that decides whether a line counts

Each test has a maximum time between sampling and analysis, and some depend on how the bottle was preserved. These limits are from EPA's rules for public water systems. Montana State notes there are no hold-time requirements for private-well bacteria samples, but the times explain why your kit came with ice packs or an acid-preserved bottle.

TestPreservationMaximum holding timeRule
Total coliform, E. coliCool (below 10 °C encouraged)30 hours from collection to start of incubation40 CFR 141.852
Nitrate4 °C48 hours; 14 days if the sample is chlorinated40 CFR 141.23(k)(2)
Nitrite4 °C48 hours40 CFR 141.23(k)(2)
Nitrate-nitrite (combined)Sulfuric acid28 days40 CFR 141.23(k)(2)
ArsenicNitric acid to pH below 26 months40 CFR 141.23(k)(2)
MercuryNitric acid28 days40 CFR 141.23(k)(2)
FluorideNone1 month40 CFR 141.23(k)(2)
How long a sample can wait before analysis, by test and preservationdays (maximum holding time)
Show the numbers
ItemValueNote
Nitrate, chilled to 4 °C2 days (maximum holding time)48 hours
Nitrite, chilled to 4 °C2 days (maximum holding time)48 hours
Nitrate, chilled, chlorinated sample14 days (maximum holding time)14 days
Nitrate-nitrite, sulfuric acid28 days (maximum holding time)28 days
Mercury, nitric acid28 days (maximum holding time)28 days

Maximum holding times from EPA's sampling table for inorganic chemicals. These limits are written for public water systems; the table adds that samples should be analyzed as soon after collection as possible. Source: 40 CFR 141.23(k)(2), inorganic chemical sampling: preservation, container and maximum holding time table (Cornell LII), accessed 2026-11-03.

A chilled, unpreserved nitrate bottle that reaches the lab on day three is outside the public-system window, so ask the lab how it handled it. For bacteria, lateness errs in one direction only. Montana State says a late "Absent" result is not reliable, but "bacteria cannot become present in a sample due to long hold time (i.e. false positives do not occur)." The well water testing guide covers how to take each sample so it arrives in time.

Chain of custody: when the paperwork matters

A routine test you collected yourself doesn't need a chain-of-custody form. Penn State Extension describes chain-of-custody, or "third-party," testing as testing done "to legally document water quality before a nearby activity or land use change, such as gas drilling, mining, or construction," and says it "may also be used in some real estate transactions." On the form, "all individuals who handle the sample are documented ... to show that only unbiased professionals have had access to the sample." Not all state-accredited labs offer it, Penn State adds, so confirm before you book. Its testing guide is blunt: where legal action could follow, "it is best to have samples collected by an unbiased professional."

The results table, column by column

Result and units

NDSU Extension explains that milligrams per liter (mg/L) "is approximately equal to one part per million (ppm)." Virginia Tech's household water program adds that 1 mg/L equals 1,000 µg/L (parts per billion), and New York's health department says a nanogram per liter "is equal to parts per trillion (ppt)," the unit PFAS results use. So the composite's arsenic, 4.2 µg/L, is 0.0042 mg/L, against EPA's 0.010 mg/L. Put both numbers in the same unit before comparing. The testing guide has a full unit table.

"As N", "as NO3" and other "as" units

Some results are reported "as" something else, and the same water can give two very different numbers. The University of Georgia's water lab says some labs report nitrate as mg NO3/L and some as mg N/L, and "the two methods differ by a factor of 4.43": "1 mg/L nitrate-nitrogen (NO3-N) = 4.43 mg/L nitrate (NO3)." EPA's limit, 10 mg/L "measured as Nitrogen," is therefore 44.3 mg/L as nitrate. The composite's 6.2 mg/L as N is about 27.5 mg/L as NO3. For nitrite, UGA gives a factor of 3.28. The nitrate as N explainer covers what the levels mean for health.

Hardness usually appears "as CaCO3." Virginia Tech's interpretation sheet gives "17.1 mg/L = 1 grain per gallon," so 205 mg/L is about 12 grains per gallon; the hard water guide explains the number. NDSU's example report shows "Sulfate-sulfur," another line whose basis you need before comparing it with a sulfate guideline. When an "as" is unclear, ask the lab before converting.

MDL, RL and PQL: three different limits

Many reports print two limit columns. The Minnesota Department of Health's guide to interpreting lab results (June 2026) defines them:

  • The method detection limit (MDL) is "the lowest measured concentration of a substance that can be reported with 99% confidence that the measured concentration is distinguishable from method blank results," following EPA's 2016 procedure (EPA 821-R-16-006).
  • The reporting limit (RL) is "the lowest concentration that can be reported as a quantifiable value." MDH says reporting limits "can and do change," citing a lead RL that dropped from 5.0 µg/L to 0.5 µg/L.
  • The practical quantitation limit (PQL) is "the lowest concentration that can be reliably measured within specified limits of precision and accuracy during routine laboratory operation conditions."

Put simply, the MDL is where the lab can tell something is there; the RL is where it can say how much. MDH says an RL is "generally" two to five times the MDL. New York's example PFAS report fits: an RL of 1.8 ng/L and an MDL of 0.45 ng/L for most compounds.

New York's example PFAS report: two results sit between the MDL and the reporting limitng/L (ppt)

MDL 0.45 RL 1.8

Show the numbers
ItemValueNote
PFHxS0.86 ng/L (ppt)J
PFHxA1 ng/L (ppt)J
PFOA1.8 ng/L (ppt)at the RL
PFBS2.6 ng/L (ppt)
PFOS2.7 ng/L (ppt)

Detected results on the New York State Department of Health's example lab report. PFHxA and PFHxS carry a J flag (above the MDL, below the RL), so their values are estimates. Three other compounds were ND. Most compounds had an MDL of 0.45 ng/L; PFOA's was 0.53. Source: New York State Department of Health, Understanding Your Lab Report (private well PFAS pilot, 8/26), accessed 2026-11-03.

MDH warns that "different regulations, analytical methods, and labs may use different terminology," so if your report says MRL, LOQ or PQL, check its glossary.

ND, "<", U and J

New York's guide defines ND, non-detect, as "below the level that could be measured by the laboratory equipment." MDH says a "<" means "the result is less than the reporting limit or basically considered non-detect or zero for compliance purposes." That last phrase is about how a public system's compliance is counted. For your decision, "<5.0" means less than 5.0, not zero. New York's qualifier key adds two letters often seen beside these results:

  • U: "not detected at a level greater than the method detection limit, or is non-detect." The composite's nitrite row is one.
  • J: "detected at a level greater than the method detection limit but less than the reporting limit." MDH calls it "an estimated value between the MDL and RL." The composite's lead row (0.6 J µg/L, RL 1.0) means lead was seen, at roughly that level.

Vermont's state lab tells customers that the less-than symbol "means your result was so low that it is not a concern." That may hold for its own tests. It isn't true of every report, as the PFAS rows show below.

The limit column: whose number is it?

The limit printed beside your result is chosen by whoever issued the report, and it isn't always EPA's current number. Vermont calls it the "threshold," "the maximum amount of an analyte that is accepted for drinking water based on federal or state guidelines." Programs differ:

  • NDSU Extension's safe-levels table gives pH as 6.0 to 9.5 and total dissolved solids as less than 1,500 mg/L. EPA's secondary standards are 6.5 to 8.5 and 500 mg/L.
  • NDSU gives nitrate as "less than 45 mg/l as NO3"; UGA's exact conversion is 44.3.
  • Virginia Tech's sheet lists lead with a "Health Action Level (HAL)" of 0.010 mg/L. EPA's lead action level for public systems is 0.015 mg/L, and EPA says systems must meet a revised 0.010 mg/L from November 1, 2027. EPA's health goal for lead is zero.

So the composite's "15" for lead is today's action level. EPA describes it as the level at which a water system with too many high tap samples "must take additional steps," which is not the same as a safe level. EPA's secondary standards (manganese 0.05 mg/L, pH 6.5 to 8.5) concern taste, staining and corrosion, and EPA "does not enforce" them. Manganese also has an EPA lifetime health advisory of 0.3 mg/L (2004), which a lab may not print; see the manganese explainer. A health limit and a staining guideline can share one column, so read the footnote that names each source.

Method and analysis date

EPA's rules for public systems list ion chromatography (EPA 300.0) among approved nitrate methods, ICP-mass spectrometry (EPA 200.8) for arsenic, and Standard Methods 9223 B, an enzyme substrate test, for coliforms. New York's example PFAS report used EPA Method 537.1. Comparing years, check whether the method and RL changed. Certification is also earned test by test: EPA's inorganic rule requires a lab to pass performance samples for each contaminant "and for each method for which the laboratory desires certification." Our lab finder lists state-certified labs by test.

Qualifier letters, decoded

A qualifier is, in MDH's words, "an annotation that provides additional information about the results, indicating any issues or uncertainties related to the analysis." Letters vary by lab, so check your report's key. These come from the New York and Montana reports:

FlagWhat the lab is telling youSource
UNot detected above the method detection limitNY DOH
JDetected above the MDL but below the reporting limit; the value is an estimateNY DOH, MDH
B"Detected in a blank sample and the sample result may be biased high"NY DOH
EAbove the instrument calibration curve, "so the sample was rerun"NY DOH
D"A diluted sample was run to bring the chemical within the calibration curve"NY DOH
HBacteria sample arrived after the 30-hour ideal hold time; results "may have limited reliability"Montana State University Well Educated

A "B" is worth a phone call: if the chemical showed up in the lab's own clean water, part of your number may come from the lab. For a "D," ask whether the dilution changed that line's reporting limit.

Bacteria lines: presence/absence or a count

EPA's coliform rule uses a 100 mL sample, and public systems "need only determine the presence or absence of total coliforms and E. coli." Penn State Extension explains that with a presence/absence test, "present" only means at least one bacterium was in 100 mL. Other methods count:

  • Colonies per 100 mL (often CFU), from membrane filtration, where Penn State says bacteria grow overnight on a filter and are counted.
  • MPN per 100 mL, the "most probable number," a statistical estimate. Virginia Tech's program says its MPN can range from 0.3 to more than 2,419, "represented as '>2419' or 'too numerous to count'." Ohio State University Extension's tool equates "less than one CFU or MPN" with no detection.
  • TNTC or "confluent." Penn State says TNTC is "generally higher than 200 colonies per 100 mL" and confluent means other bacteria overgrew the plate. Either way, submit another sample.

EPA calls total coliforms "not a health threat in itself"; the test "is used to indicate whether other potentially harmful bacteria may be present." EPA says fecal coliforms and E. coli "only come from human and animal fecal waste." For the composite's line, see total coliform present, and for an E. coli positive, the E. coli guide.

When the lab's reporting limit is above the health limit

No unit table catches this one. If the RL is higher than the benchmark, "not detected" can't tell you whether you're under the benchmark.

Take the composite's PFOA row: "<5.0 ng/L," RL 5.0, limit 4.0. EPA's 2024 rule set enforceable limits for public systems of 4.0 ng/L (parts per trillion) for PFOA and PFOS, with health goals of zero. EPA's PFAS page (updated May 18, 2026) says EPA has proposed keeping those two limits, with an option of two more years to comply (to 2031), and proposed rescinding the rules for PFHxS, PFNA, HFPO-DA and the Hazard Index mixture. Those proposals are not final. Either way, "less than 5.0" covers everything from zero to just under 5.0, and 4.0 sits inside that range. The PFOS row fails differently: 3.1 J is under 4.0, but it is an estimate from a lab that couldn't quantify below 5.0.

EPA's inorganic rule offers a yardstick. Public systems may composite samples only if "the detection limit of the method used for analysis is less than one-fifth of the MCL." That rule is about composited samples, not your well, but a limit at a fifth of the benchmark or lower is a sensible thing to ask for. For arsenic, the same table lists method detection limits of 0.0005 to 0.0014 mg/L, well under the 0.010 MCL, so arsenic seldom has this problem. PFAS often does. EPA's minimum reporting level for PFOA and PFOS in its national public-system monitoring (UCMR 5) is 0.004 µg/L, or 4 ng/L, the same as the limit itself. EPA sets that level at the lowest concentration that, with 95% confidence, at least 75% of labs nationwide can achieve with the specified method, so a lab's PFOA or PFOS reporting limit can easily sit at or above 4.0. The PFAS explainer covers state health values and which reporting limit to ask a lab for.

What to do: ask the lab which method and reporting limit it offers for that analyte and whether a lower one is available, then retest with a lab certified for it.

The QC pages at the back

MDH says quality-control pages "generally don't require review unless you want to dive into the details." They show the batch was checked. MDH's nitrate example includes a method blank (lab water run like a sample, which must stay below the reporting limit), a laboratory control sample whose recovery "must be between 90 and 110% of the true value," duplicates within a "10% relative percent difference tolerance," and a matrix spike. New York adds "%Rec," the percent of a control sample the equipment detected, and says QC samples "do not impact your actual results."

Certification sets a similar bar. Under EPA's rule, a lab certified for nitrate must analyze performance samples at least once a year and land within ±10% of the true value at 0.4 mg/L and above. That is a pass band for test samples, not the error on your result, but it is a reason to confirm a result close to a limit.

What each line tells you to do

Use this table after converting units.

Your line showsWhat it meansNext step
A number, no flag, below the benchmark, RL well below itMeasured and under that limit. EPA's health goal for arsenic, uranium and lead is zero, so under the limit is not "no risk"Keep the report (NDSU: keep copies to track changes); test on schedule
A number above a health limit (MCL, action level or EPA health advisory, for example manganese 0.3 mg/L)Above a health-based yardstickConfirm with a second sample; call your health department; read the explainer
A number above a secondary standard only, and below any health limit or advisoryTaste, staining or corrosion; EPA does not enforce itCheck related lines (EPA links low pH with corrosion); see the treatment guide
ND, U or "<RL", RL well below the benchmarkNot found at a level that matters for that benchmarkNo action; note the RL for next time
ND or "<RL", RL at or above the benchmarkInconclusive for that benchmarkAsk for a method with a lower RL; retest
JDetected; amount estimated (NY DOH, MDH)Treat as present; retest if near a limit
BAlso found in the lab's blank (NY DOH)Ask the lab; retest if it matters
E or DHigh result rerun or diluted (NY DOH)Ask the lab which run the number comes from and what that line's RL is
Bacteria "Absent" with an H, or received long after collectionMay have limited reliability (MSU)Resample; deliver faster
Total coliform present, E. coli absentIndicator found; other harmful bacteria may be present (EPA)Follow the coliform steps; retest
E. coli presentFecal waste is reaching the water (EPA)Ask your health department or the lab before anyone drinks it
TNTC or "confluent"Count not possible (Penn State)Submit another sample
Nitrate "as NO3"Whole-ion units (UGA)Divide by 4.43 before comparing with 10 mg/L as N

If a baby, a pregnant person or someone who is ill drinks the water, ask a doctor or your health department what to do while you sort out a result.

Three worked examples

"PFOA <5.0 ng/L, RL 5.0." The RL is above EPA's 4.0 ng/L limit, so this is the "RL at or above the benchmark" row: inconclusive. Ask for a method with an RL below 4.0 ng/L and retest.

"Total coliform: Absent. Collected Friday 9 AM, received Monday 10 AM, qualifier H." That is 73 hours, past the 48 hours beyond which Montana State says results "are likely not reliable." This is the "Absent with an H" row: resample early in the week and deliver the same day if you can.

"Nitrate 27 mg/L," limit "45," no "-N." A limit of 45 suggests whole-ion nitrate, the "as NO3" row. Divide by 4.43: about 6.1 mg/L as N, below EPA's 10. If the report doesn't name its unit, call the lab first.

Check your numbers, then take the next step

With the analyte, number and unit for each line in hand, check your numbers in the results tool. It sets each result against EPA's limits, health advisories and secondary standards for 25 analytes, including nitrate, arsenic, lead, manganese, PFOA, PFOS, pH and both bacteria tests, and converts between mg/L, µg/L and ng/L. For nitrate, pick "mg/L as nitrate (NO3)" if your report uses it. For an "ND" or "<" line, type it as printed, such as "<5.0": the tool reports it as not detected below that reporting limit and warns when the limit is above EPA's value.

For a high line, read its explainer: nitrate, arsenic, lead, manganese, PFAS or coliform bacteria. Low pH is a cue to test lead and copper, as the pH and TDS guide explains. When you're ready to fix a problem, match the system to your result. Penn State Extension says to "be cautious of water test results from any uncertified lab or from water treatment salespeople." The how often to test guide covers the schedule, and the lab finder lists certified labs for each test.

This guide is general information, not medical advice. The composite report uses fictitious values. Federal limits quoted here apply to public water systems, not private wells.

Questions people ask

What does ND mean on a well water test?
ND means non-detect. New York's health department defines it as below the level the lab's equipment could measure. It does not mean zero: it means below that lab's reporting limit for that test. Check the RL printed on the same line. If it is well below the benchmark you care about, that line is not a concern for that benchmark. If it is at or above the benchmark, the result is inconclusive and worth retesting with a more sensitive method.
What is the difference between the MDL and the reporting limit?
The Minnesota Department of Health defines the method detection limit (MDL) as the lowest concentration the lab can distinguish from a blank with 99% confidence. The reporting limit (RL) is the lowest concentration it can report as a quantifiable value. MDH says an RL is generally two to five times the MDL. Between the two, the lab can see the chemical but can only estimate the amount, which is what a J flag marks.
What does a J flag mean on a water test report?
A J means the chemical was detected above the method detection limit but below the reporting limit, according to New York's health department. Minnesota's health department calls it an estimated value between the MDL and the RL. Treat a J result as present at roughly that level. If the estimate is close to a limit that matters to you, ask for a retest.
Is nitrate as N the same as nitrate?
No. The University of Georgia's water lab explains that some labs report nitrate as nitrogen (NO3-N) and some as the whole nitrate ion (NO3), and that 1 mg/L nitrate-N equals 4.43 mg/L nitrate. EPA's 10 mg/L limit is measured as nitrogen, which is 44.3 mg/L as nitrate. Divide an "as NO3" result by 4.43 before comparing it with 10. If your report doesn't say which it uses, ask the lab.
What does MPN mean on a coliform test?
MPN stands for most probable number, a statistical estimate of how many bacteria were in a 100 mL sample. Virginia Tech's household water program says its MPN results can range from 0.3 to more than 2,419. Ohio State University Extension treats less than one CFU or MPN as no detection. A simple presence/absence test only tells you whether at least one coliform was in the 100 mL, so Penn State says you may want to ask the lab for a count.
What does an H qualifier mean on a bacteria result?
On Montana State University's Well Educated reports, an H means the bacteria sample reached the lab after the 30-hour ideal hold time, so an "Absent" result may have limited reliability. MSU says results more than 48 hours old are likely not reliable and suggests retesting. A "Present" result stands regardless of hold time: MSU says bacteria cannot become present in a sample because of a long hold time. Other labs may use different letters, so check your report's key.
Are the limits printed on my well test report legal limits?
Not for a private well. EPA's maximum contaminant levels are enforceable for public water systems; NDSU Extension notes they can serve as a reference for well owners. The printed limit is chosen by the lab or program, and it can differ from EPA's current number: NDSU, for example, lists pH 6.0 to 9.5 while EPA's secondary range is 6.5 to 8.5. Check the report's footnotes for each limit's source, and ask your health department about state guidance.
SourcesFederal limits quoted here apply to public water systems, not private wells. This page is general information, not medical advice. Rules change: check the dates on each source.