Why are lab reference ranges different between labs?
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:
- Some tests are standardized. Hemoglobin A1c tests in the U.S. are certified by the NGSP against a common reference, which is why an A1c means the same thing from lab to lab. Cholesterol tests have long been checked against CDC reference methods.
- Some are being brought into line. Testosterone tests disagreed widely before the CDC’s standardization work. A 2017 study that recalibrated four large groups of men against the CDC’s reference method found that average levels for men in their forties had ranged from 501 to 618 ng/dL depending on the group, and fell between 471 and 494 after recalibration. It set a harmonized range of 264 to 916 ng/dL for healthy, non-obese men aged 19 to 39. Vitamin D has a CDC certification program for the same reason: in one comparison described in a review by Michael Holick, the same people’s samples averaged anywhere from about 17 to 36 ng/mL depending on the lab.
- Some have no reference method at all. TSH is a complex molecule, and there is still no reference measurement procedure for it. The IFCC working group on thyroid tests compared 16 TSH tests and proposed harmonizing them statistically, by calibrating each to the average of all of them on a shared set of patient samples. Until that is in routine use, TSH ranges stay specific to each test.
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:
| Test | How much ranges differ | Main reason |
|---|---|---|
| Hemoglobin A1c | Very little | Standardized; cutoffs come from guidelines |
| LDL, HDL, total cholesterol | Very little | Guideline targets, not population ranges |
| Fasting glucose | Very little | Diagnostic cutoffs |
| Sodium, potassium, chloride | A little | Mostly method and rounding |
| TSH | Moderately | No reference method; tests are calibrated differently |
| Free T4 | Moderately to a lot | Large differences between methods |
| Testosterone | Moderately | Older ranges predate harmonization; some labs still use them |
| Vitamin D | Moderately | Labs choose between guideline cutoffs; methods differ |
| Ferritin | A lot | Reference groups include iron-deficient people; split by sex |
| ALT | A lot | Methods 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:
| Date | Lab | Result | Printed range | Flag |
|---|---|---|---|---|
| Mar 2024 | Lab A | 3.1 | 0.45–4.50 | |
| Sep 2024 | Lab A | 3.4 | 0.45–4.50 | |
| Mar 2025 | Lab A | 3.2 | 0.45–4.50 | |
| Oct 2025 | Lab B | 3.9 | 0.27–4.20 | |
| Apr 2026 | Lab B | 4.3 | 0.27–4.20 | H |
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
- Read each result against the range printed next to it. Not the range from another report, and not one from a website.
- Record the lab with every result. It is the first thing to check when a chart suddenly steps up or down.
- Look for a step at the switch. If your values jump when the lab changed and then hold, suspect the method before you suspect your body. A repeat at the new lab shows whether the new level is stable.
- Compare results from the same lab when you can. A change between two draws at one lab is easier to trust than the same change across two labs.
- Use one target for the whole history. When your results come from several labs, the printed ranges will not line up. A single target, such as your clinician’s goal or the guideline cutoff for that test, gives you one line to read every result against.
- Watch your own band, not just the lab’s. Most people’s results sit in a much narrower band than the population range. A move that is large for you can happen entirely inside the range. How to track your TSH over time shows how narrow that band can be.
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
- Is this result different from my earlier ones, or only the range?
- Does the method at this lab differ from the one I used before?
- What range or target do you use for me on this test?
- Should I go back to the same lab for follow-up tests?
- Is a repeat worth doing before we act on a change that came with a switch of labs?
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.