← All posts

Why are lab reference ranges different between labs?

By Firebird Systems, the makers of HealthViewer · Published October 25, 2026 · Last reviewed October 25, 2026

You have your TSH checked at one lab and it comes back 4.3, unflagged. A year later a different lab reports 4.3 again, this time with an H next to it. Nothing about you changed. The range printed next to the number did.

This happens all the time, and it confuses people for a good reason: the reference range looks like a fixed medical fact, printed in the same column on every report. It is not. Each lab sets its own, and the reasons it differs from lab to lab say a lot about how to read your results, especially once your history spans more than one lab.

How a lab sets a reference range

For most tests, a reference range is a statistical description of healthy people. The lab measures a group of people with no known disease and takes the middle 95 percent of their results. The 2.5 percent at the bottom and the 2.5 percent at the top fall outside the range, even though those people are healthy too.

The laboratory standard for doing this, the Clinical and Laboratory Standards Institute’s EP28 guideline, Defining, Establishing, and Verifying Reference Intervals in the Clinical Laboratory, calls for at least 120 healthy people in each group the range applies to. A range split by sex and three age bands needs 720 people. That is expensive, so most labs do not build their ranges from scratch. They start from the range the test’s manufacturer published and check it against a smaller sample of their own patients.

U.S. law requires that check. Under the federal lab rules, a lab that brings in a manufacturer’s test must “verify that the manufacturer’s reference intervals (normal values) are appropriate for the laboratory’s patient population” before reporting results. A lab that modifies a test, or develops its own, must establish the range itself.

So a range is tied to two things: the method the lab uses and the population the lab checked it against. Change either one and the range can move.

Why ranges differ between labs

The test method

The same name on a report can mean different tests underneath. Several manufacturers make tests for TSH, testosterone, vitamin D, and many other things, and they do not all give the same number for the same blood sample. A lab using one maker’s test needs a range that matches that test.

How far tests agree depends on whether there is an agreed reference point to calibrate against:

The reference population

A range describes whoever the lab counted as healthy. If that group includes many people with a common, quiet condition, the range absorbs it.

Ferritin is the clearest example. Iron deficiency is common enough that a range drawn from “typical” people includes many who are deficient, so the bottom of a printed ferritin range is often lower than the cutoffs clinicians use. How to track your ferritin over time covers those cutoffs. ALT is similar: fatty liver is common and often silent, and the upper limit many labs print is well above what liver specialists now consider normal. How to track your ALT over time goes through the guideline values.

Two labs that drew their reference groups from different populations, or screened them differently, can end up with different ranges for the same test even when their methods agree.

Age, sex, and pregnancy

Many ranges are split into groups, and labs do not all split them the same way. One lab may print a single adult range for a test where another prints separate ranges for men and women, or for several age bands. TSH, for example, tends to rise with age in people without thyroid disease, but most labs still print one adult range. Pregnancy changes TSH and several other tests enough that guidelines prefer pregnancy-specific ranges. Children’s ranges differ from adults’ for many tests, alkaline phosphatase among them, because growing bones raise it.

If you are near the boundary of a group, a birthday can change the range on your report. So can a lab that splits by sex when your previous lab did not.

Some ranges are guideline cutoffs, and labs pick different ones

For some tests, the “range” column holds a number from clinical guidelines, not from the middle 95 percent of healthy people. LDL cholesterol, fasting glucose, and A1c work this way. These cutoffs describe risk or diagnosis, and they are usually the same from lab to lab.

The trouble is the tests where guidelines disagree, and each lab chooses one. Vitamin D is the main case. Some labs print 30 ng/mL as the bottom of the range, from a 2011 Endocrine Society guideline that was replaced in 2024 by one that no longer endorses that target. Others use 20, the level the Institute of Medicine (now the National Academy of Medicine) considered adequate for most people. A result of 24 can be flagged low at one lab and fine at another. How to track your vitamin D over time has the details.

Units and rounding

A range in mmol/L looks completely different from one in mg/dL, even when it is the same range. Labs also round their limits differently, so “0.45–4.50” and “0.4–4.5” can be the same range written two ways, and a result of exactly 4.5 can fall on either side. The lab unit converter handles the common unit pairs.

Which tests differ most

A rough guide to how much you should expect the printed range to change between labs:

TestHow much ranges differMain reason
Hemoglobin A1cVery littleStandardized; cutoffs come from guidelines
LDL, HDL, total cholesterolVery littleGuideline targets, not population ranges
Fasting glucoseVery littleDiagnostic cutoffs
Sodium, potassium, chlorideA littleMostly method and rounding
TSHModeratelyNo reference method; tests are calibrated differently
Free T4Moderately to a lotLarge differences between methods
TestosteroneModeratelyOlder ranges predate harmonization; some labs still use them
Vitamin DModeratelyLabs choose between guideline cutoffs; methods differ
FerritinA lotReference groups include iron-deficient people; split by sex
ALTA lotMethods not harmonized; reference groups include fatty liver

This is a general pattern, not a promise about any particular pair of labs. The range printed on your own report is the one that applies to that result.

What changes when you switch labs

Moving from one lab to another can change two separate things, and it helps to keep them apart.

The flag can change while the value does not. This is the TSH example at the top. Your number is the same and the line it is compared against moved. Nothing happened to you.

The value itself can shift. If the new lab uses a different method, the same blood can give a slightly different number. On a chart, this shows up as a step at the point you changed labs: a jump that holds steady afterward, rather than a trend.

Here is a made-up TSH history across two labs:

DateLabResultPrinted rangeFlag
Mar 2024Lab A3.10.45–4.50
Sep 2024Lab A3.40.45–4.50
Mar 2025Lab A3.20.45–4.50
Oct 2025Lab B3.90.27–4.20
Apr 2026Lab B4.30.27–4.20H

The H in April 2026 is partly the lower upper limit at Lab B. The jump from about 3.2 to 3.9 at the switch could be the method, a real change, or ordinary variation, and one result cannot tell you which. The rise to 4.3 at the same lab is easier to read, because the method and range stayed the same.

How to compare results from different labs

If you are using a lab in another country, or an older report, check the units too before you compare anything.

Questions to ask your clinician

Comparing labs in HealthViewer

We make HealthViewer, so weigh this section accordingly.

HealthViewer is a lab results tracker that runs on your own computer. It imports results from lab report PDFs, MyChart downloads, and direct connections to your health system, and each result keeps the reference range printed on its own report. Its Normal, Borderline, or Abnormal status is worked out against that range, so a result from Lab B is judged by Lab B’s range.

Labs often name the same test differently. HealthViewer files common variants under one test and converts units, so every result for a test lands on one chart. If one of your labs uses a name it does not recognize, you can merge the two in the Test Catalog. In Trends, the Tables view lists the date, value, unit, printed range, and status of every result, so you can see where the range changed.

Because a history from several labs has several ranges, the most useful thing to chart against is usually one you choose. Set a custom range for a test in the Test Catalog, such as your clinician’s target or a guideline cutoff, and the chart shades that band for every result. Add a journal note on the date you changed labs, then open the Journal menu in Trends and choose Show journal. The note appears as a marker on the chart, so a step at the switch is easy to spot.

Everything is stored in one encrypted file on your computer, with no account and no cloud service. How to track your lab results over time covers the general method, with or without an app. If you are deciding where to keep a history from several labs, Where should your lab results live? compares the options.


This post is general information, not medical advice. Talk to your clinician about which range or target applies to you, and before acting on a change in any result.