How to Read Blood Test Results (Without Misreading Them)

Most people read their results as pass or fail. That's not how lab ranges work — and it's why "normal" results and real symptoms coexist all the time.

Based on NIH, NICE & published clinical research Covers 40+ markers Free, no account needed

The problem with how lab reports are designed

Reference ranges were built to catch disease — not to tell you where your body runs best. That distinction matters more than most people realise.

95%
Of the reference population — that's what "normal" captures
The reference range is the middle 95% of results from people who visited that lab. 5% of healthy people will have an "abnormal" result on any single test — purely by statistical design.
6
Common markers with well-documented borderline zones labs don't flag
Ferritin, vitamin D, TSH, B12, magnesium, and fasting glucose all have clinical evidence for symptom associations in ranges labs classify as normal. Your report doesn't show this.
Normal ≠ optimal — they are different standards
A result inside the range means you're not flagged for disease. It doesn't mean you're at the level where you function and feel your best. The range was not designed for that question.

Here's how reference ranges are constructed: a lab takes results from a reference population — typically people who came in for testing — excludes the bottom and top 2.5%, and calls the middle 95% "normal." That's it. No adjustment for symptoms, no distinction between "just inside" and "solidly in the middle," no consideration of what level actually correlates with feeling well.

This is not a flaw — it's by design. Reference ranges were created to identify people who clearly have a condition. They do that job well. What they weren't built to do is tell you whether a ferritin of 18 ng/mL explains your fatigue, or whether a TSH of 3.8 explains why you're cold all the time. For those questions, you need to know where within the range your result sits — and what clinical research says about that zone.

The practical consequence: two people can have identical "normal" reports and one feels fine while the other has been exhausted for six months. Both results are accurate. The pass/fail read misses what matters.

A 4-step framework for reading your results

Work through these in order — each step builds on the last and reveals a different layer of what's actually going on.

1
Look at flagged results first
Any result outside the printed reference range — marked H (high), L (low), or with an asterisk — needs attention first. Don't start by googling individual numbers. Start with what's actually flagged. Some flagged results are clinically urgent (e.g. eGFR below 60, TSH above 10); others are borderline and warrant monitoring. Flagged ≠ crisis, but it does mean act, not ignore.
2
Find where each value sits within its range — not just whether it passed
A ferritin of 18 ng/mL inside a 12–300 ng/mL range is very different from a ferritin of 180 ng/mL. Both are "normal." One is at the bottom 2% of the range; one is squarely in the middle. Same applies to vitamin D, TSH, B12, fasting glucose. Look at the number, look at the range, and mentally calculate where you are — not just in vs. out. Anything in the bottom 10–15% of a range with a well-documented borderline zone deserves the same attention as a flagged result.
3
Look for patterns across related markers — not just individual results
Low ferritin + low B12 + low folate together point toward nutritional depletion or absorption issues. Low B12 + elevated MCV (large red blood cells) together point toward megaloblastic anemia even before haemoglobin drops. High fasting glucose + high triglycerides + low HDL is a metabolic syndrome pattern. Single results are data points; patterns are diagnoses. Your report shows each number in isolation — you have to connect the dots.
4
Compare against any previous tests you have
Trends matter as much as absolute values. A fasting glucose that reads 91, 94, and 97 mg/dL across three annual tests is a meaningful trend toward insulin resistance — even though all three pass as normal. A TSH moving from 1.8 to 2.6 to 3.4 over two years is worth noting, even if 3.4 is still "in range." If you have previous panels, put the numbers side by side. Directional movement in any marker tells you more than any single reading.

The 6 markers most commonly misread on standard panels

These markers all have documented borderline zones — ranges that labs classify as normal but clinical research associates with real symptoms. Where your value sits within the range matters.

Ferritin
Lab flag threshold: typically <12–30 ng/mL · Clinical borderline: <50 ng/mL
Iron storage protein. Depletes months before haemoglobin drops — so your CBC can look perfect while you're iron-depleted. A ferritin of 14 ng/mL prints as normal at most labs. The Verdon et al. BMJ 2003 RCT found fatigue improvement in women with ferritin below 50 ng/mL. Hair loss, poor recovery, and restless legs can all appear in this zone.
Most commonly missed borderline marker
Vitamin D (25-OH)
Lab flag threshold: typically <20 ng/mL · NIH insufficiency: 20–29 ng/mL
The NIH classifies 20–29 ng/mL as insufficiency warranting correction — a zone most labs mark as normal. Fatigue, low mood, bone pain, and impaired immune function are associated with values in this range. A result of 22 ng/mL on your report likely shows no flag whatsoever despite being below the NIH's own sufficiency threshold.
Labs flag at 20, NIH sufficiency starts at 30
TSH (thyroid stimulating hormone)
Lab normal: 0.4–4.5 mIU/L · Symptomatic zone for many: 2.5–4.5
TSH is the signal the pituitary sends to the thyroid — not a thyroid hormone itself. High TSH means the brain is asking the thyroid to work harder because it's not producing enough. Many symptomatic patients with TSH in the 2.5–4.5 range report fatigue, cold intolerance, weight gain, and brain fog that their doctor attributes to other causes because the test "passed."
Upper half of normal range is symptomatic for many
Vitamin B12
Lab flag threshold: typically <180–200 pg/mL · NICE borderline: 140–220 pg/mL
NICE guidelines identify a borderline zone (140–220 pg/mL) where neurological symptoms — fatigue, tingling, brain fog — can appear before the value triggers a formal flag. A B12 of 195 pg/mL on most lab reports shows no asterisk. The serum test also has a ~30% false-negative rate for functional B12 deficiency; methylmalonic acid or holotranscobalamin are more sensitive if symptoms persist with a "normal" B12.
Neurological symptoms possible before lab flags
Fasting glucose
Normal: <100 mg/dL · Prediabetes (ADA): 100–125 mg/dL
Fasting glucose in the 90–99 mg/dL range is technically normal — but consistently tracking in this zone is an early signal of insulin resistance that won't show in HbA1c for years. More important: look at the trend. Glucose moving from 84 to 91 to 97 over three years means something different than a stable 95, even though all three values pass.
90–99 mg/dL: normal but worth watching
Magnesium
Lab range: 0.7–1.0 mmol/L serum · Intracellular depletion: not measured
The standard serum magnesium test measures roughly 1% of total body magnesium — the fraction in blood. The rest is in cells and bone. Intracellular magnesium depletion — associated with fatigue, muscle cramps, poor sleep, and anxiety — can be extensive while serum magnesium reads normal. If symptoms persist with a normal result, ask for RBC magnesium, which measures what's inside red blood cells.
Serum test misses intracellular depletion
Labs normal but still tired?
If all your results technically passed but you're still feeling off, there's a full guide on which of these 6 markers most often hide in the normal zone and what to do about it.
Read: Labs Normal, Still Tired? The Borderline Markers Standard Panels Miss

How to read the most common blood test panels

Most standard blood tests fall into a handful of panels. Here's what each one measures and what to focus on within it.

Panel What it measures What to focus on
CBC (Complete Blood Count) Red blood cells, white blood cells, platelets, haemoglobin, haematocrit, MCV, MCH, MCHC Haemoglobin for anaemia; MCV for red cell size (elevated = B12/folate, low = iron); WBC differential for immune status. CBC does NOT include ferritin — the most sensitive iron marker requires a separate test.
CMP / BMP (metabolic panel) Fasting glucose, kidney markers (creatinine, BUN, eGFR), liver enzymes (ALT, AST), electrolytes, total protein Fasting glucose trend (even in normal range); eGFR trajectory for kidney function; ALT/AST for liver — both are sex-adjusted, female normal is lower than male normal. Many labs use unisex ranges and miss elevated ALT in women.
Lipid panel Total cholesterol, LDL, HDL, triglycerides, and often non-HDL cholesterol LDL for cardiovascular risk; triglycerides for metabolic picture (high TG + low HDL is a stronger insulin resistance signal than LDL alone); HDL trajectory over time. LDL of 130 with TG of 350 tells a very different story than LDL of 130 with TG of 80.
Thyroid (TSH only vs. full panel) TSH alone, or TSH + Free T4 + Free T3 + antibodies (full panel) TSH screens; a full panel is needed to diagnose. TSH in the 2.5–4.5 range with symptoms warrants Free T4, Free T3, and Anti-TPO. Anti-TPO (Hashimoto's marker) is routinely excluded from standard panels — ask for it specifically.
Vitamin panel Vitamin D, B12, folate — run separately from CBC and metabolic panels Where within the range — not just pass/fail. D at 22 ng/mL is insufficiency by NIH standards but won't be flagged on most reports. B12 in the 140–220 pg/mL NICE borderline zone warrants attention even without a flag.
Iron studies Ferritin, serum iron, TIBC (total iron binding capacity), transferrin saturation Ferritin is the most important marker — the others add context. Serum iron fluctuates daily and is a poor standalone measure. Ferritin below 50 ng/mL in a symptomatic woman warrants action even if it doesn't trigger a lab flag.
Note: Lab values vary between laboratories, countries, and units of measurement. Always compare your result against the reference range printed on your own report. If in doubt about what a result means for your specific situation, discuss with your GP or a healthcare professional who has your full medical history.

Frequently asked questions

What do blood test reference ranges mean?
Reference ranges are built from the middle 95% of results from a reference population at that laboratory. A result is flagged "abnormal" if it falls outside the 95th percentile band. This means 5% of healthy people will have at least one "abnormal" result on any given test — purely by statistical design. Reference ranges are calibrated to detect frank disease, not to identify optimal function or symptom-related borderline values.
What does it mean if my results are "normal" but I still feel unwell?
It often means your values fall in a borderline zone — technically inside the reference range, but associated with symptoms in clinical research. Ferritin below 50 ng/mL causes fatigue in women even when above the lab's own flag threshold. Vitamin D at 20–29 ng/mL is NIH insufficiency despite not being flagged. TSH in the 2.5–4.5 range is symptomatic for many patients. The pass/fail read on your report doesn't capture any of this.
Are reference ranges the same at every lab?
No — ranges vary between labs based on their reference population, the instruments they use, and the units they report in. A ferritin of 20 ng/mL might be flagged at one lab and pass as normal at another. Always compare your value against the reference range printed on your own report. When comparing results across different labs over time, check that the units and ranges match.
Should I look at individual values or trends over time?
Both matter, but trends are often more informative. A fasting glucose of 97 mg/dL is normal. Three sequential tests at 91, 94, and 97 mg/dL over two years is a meaningful trend toward insulin resistance, even though all three values pass. The same applies to TSH, kidney markers, and lipids. If you have previous panels, compare the numbers — consistent directional movement tells you more than any single reading.
How do I know which results to focus on first?
Focus on flagged values first — anything outside the reference range. Then borderline values: anything in the bottom 10% of a range with a documented borderline zone (ferritin, vitamin D, TSH, B12). Then patterns across related markers — low ferritin + low B12 + elevated MCV together is a different picture than any single result. Prioritise by clinical significance, not by how far out of range something is — a TSH of 4.3 matters more than a slightly low platelet count in most cases.
What's the fastest way to check all my values against the right thresholds?
Upload your report to fixfirst.health — it extracts all markers automatically, scores each against evidence-based thresholds (not just lab pass/fail), adjusts for your sex and age, and ranks the top 3 to address first. 45 seconds, free, no account required.

Check your results against the right thresholds

Upload your report and get a ranked, evidence-based read on every marker — including the borderline zones labs don't flag. 45 seconds, free.

Analyse My Report Free