In short
- Below is a table of reference ranges for 111 blood tests, sorted by body system. Each one lists the unit and the source.
- A reference range is not a target. It is made by measuring many healthy people and taking the middle 95 %. So by definition 1 in 20 healthy people is outside the limits.
- Limits differ between laboratories because each is tied to a method and analyzer. The range printed next to your own report always applies.
- For some tests (thyroid, iron, hormones, creatinine, ALP) separate ranges apply by sex, age or cycle phase — this is marked in the table.
- A value right at the limit is usually not a disease. The trend over time and the context of other tests matter more.
This is the same table our app uses to explain reports. Every limit has a named source: a professional society guideline, a reference-interval project or the test manufacturer's specification. Where there is no source, or the value depends on the method, we do not invent a limit. The marker simply says that no assessment is available.
How a reference range is made
A laboratory (or a professional society) measures a large group of healthy people. It sorts the results by size and cuts off the bottom 2.5 % and the top 2.5 %. The middle 95 % remains — and that is the reference range. Two things follow from this, and both are worth knowing before you read a report:
- One in every twenty healthy people is outside the limits. If you measure 20 tests, the chance that at least one is outside its range is more than 60 %. That holds even if you are perfectly healthy.
- "Within limits" means "like most people", not "optimal". For some markers (LDL, HbA1c, ferritin) there is a separate, stricter target. It comes from risk research, not from the population.
Why another laboratory has different limits
A reference range is tied to the method and the analyzer. Thyroid hormones, ferritin, vitamin D and hormones are measured with immunoassays from several manufacturers. Each has its own calibration. So the same concentration in the blood does not always give the same number at two laboratories.
A practical rule. To assess a single value, always use the range printed next to your own report. To track values over time, stay with the same laboratory. Comparing two laboratories can be misleading for hormones and ferritin.
Table of reference values by system
The ranges below are the ones our app uses. The source on each row tells you where the limit comes from. Here "guideline" means a professional society, and "laboratory" means the limit depends on the method and is set by the laboratory doing the analysis. Where it says that a separate range applies, the values differ by sex, age or cycle phase. The app then uses your range, not the general one.
Hematology (18)
| Test | Range | Unit | Source |
|---|---|---|---|
| Basophils (abs.) | 0.1 or less | 10^9/L | laboratory |
| Basophils (percentage) | 1.5 or less | % | laboratory |
| Eosinophils (abs.) | 0.5 or less | 10^9/L | laboratory |
| Eosinophils (percentage) | 6 or less | % | laboratory |
| Red blood cells (RBC) a separate range by sex or age also applies | 3.94–5.71 | 10^12/L | NORIP (Nordic Reference Interval Project) |
| Hematocrit a separate range by sex or age also applies | 0.348–0.5 | L/L | NORIP (Nordic Reference Interval Project) |
| White blood cells (WBC) | 3.5–8.8 | 10^9/L | NORIP (Nordic Reference Interval Project) |
| Lymphocytes (abs.) | 1–4 | 10^9/L | laboratory |
| Lymphocytes (percentage) | 20–45 | % | laboratory |
| MCH | 27.1–33.3 | pg | NORIP (Nordic Reference Interval Project) |
| MCHC | 317–357 | g/L | NORIP (Nordic Reference Interval Project) |
| MCV | 82–98 | fL | NORIP (Nordic Reference Interval Project) |
| Monocytes (abs.) | 0.2–1 | 10^9/L | laboratory |
| Monocytes (percentage) | 10 or less | % | laboratory |
| Neutrophils (abs.) | 1.5–7.5 | 10^9/L | laboratory |
| Neutrophils (percentage) | 40–75 | % | laboratory |
| RDW (red cell distribution width) | 14.5 or less | % | laboratory |
| Platelets a separate range by sex or age also applies | 145–387 | 10^9/L | NORIP (Nordic Reference Interval Project) |
Iron (7)
| Test | Range | Unit | Source |
|---|---|---|---|
| Ferritin a separate range by sex or age also applies | 30–200 | µg/L | WHO |
| Haptoglobin | 0.3–2 | g/L | laboratory |
| Hemoglobin a separate range by sex or age also applies | 130 or more | g/L | WHO |
| Transferrin saturation a separate range by sex or age also applies | 20–45 | % | EASL |
| TIBC (total iron-binding capacity) | 45–72 | µmol/L | laboratory (often calculated from transferrin) |
| Transferrin a separate range by sex or age also applies | 2–3.6 | g/L | laboratory / IFCC-EFLM |
| Iron a separate range by sex or age also applies | 10–30 | µmol/L | laboratory |
Metabolism (6)
| Test | Range | Unit | Source |
|---|---|---|---|
| CK (creatine kinase) a separate range by sex or age also applies | 308 or less | U/L | IFCC / laboratory (37 °C) |
| Fasting glucose | 3.9–6.1 | mmol/L | WHO (ADA uses 5.6 as the upper limit) |
| HbA1c | 5.7 or less | % | ADA (WHO and NICE use 6.0 %) |
| HOMA-IR | 2 or less | Matthews DR et al. (formula) | |
| Fasting insulin | 8 or less | mIE/L | laboratory |
| Uric acid a separate range by sex or age also applies | 360 or less | µmol/L | laboratory |
Heart & vessels (10)
| Test | Range | Unit | Source |
|---|---|---|---|
| ApoA1 a separate range by sex or age also applies | 1 or more | g/L | laboratory |
| ApoB | 0.8 or less | g/L | ESC/EAS |
| HDL cholesterol a separate range by sex or age also applies | 1.2 or more | mmol/L | ESC/EAS |
| LDL cholesterol | 3 or less | mmol/L | ESC/EAS |
| Lp(a) | 75 or less | nmol/L | EAS (European Atherosclerosis Society) |
| non-HDL cholesterol | 2.6 or less | mmol/L | ESC/EAS |
| NT-proBNP | 125 or less | ng/L | ESC / NICE |
| Omega-3 index | 8 or more | % | Harris WS & von Schacky C |
| Total cholesterol | 5 or less | mmol/L | laboratory / ESC-SCORE |
| Triglycerides | 1.1 or less | mmol/L | ESC/EAS |
Liver (9)
| Test | Range | Unit | Source |
|---|---|---|---|
| Alkaline phosphatase (ALP) a separate range by sex or age also applies | 120 or less | U/L | laboratory |
| ALT a separate range by sex or age also applies | 33 or less | U/L | laboratory / IFCC C-RIDL |
| Amylase | 100 or less | U/L | laboratory |
| AST | 35 or less | U/L | IFCC C-RIDL |
| Bilirubin (total) a separate range by sex or age also applies | 21 or less | µmol/L | laboratory |
| Direct bilirubin | 5 or less | µmol/L | laboratory |
| GGT a separate range by sex or age also applies | 40 or less | U/L | laboratory / IFCC C-RIDL |
| LDH | 250 or less | U/L | laboratory |
| Lipase | 60 or less | U/L | laboratory |
Kidneys (4)
| Test | Range | Unit | Source |
|---|---|---|---|
| Cystatin C a separate range by sex or age also applies | 1 or less | mg/L | laboratory |
| eGFR | 90 or more | ml/min/1.73m² | KDIGO |
| Creatinine a separate range by sex or age also applies | 100 or less | µmol/L | NORIP (Nordic Reference Interval Project) |
| Urea a separate range by sex or age also applies | 2.8–7.5 | mmol/L | NORIP (Nordic Reference Interval Project) |
Thyroid (5)
| Test | Range | Unit | Source |
|---|---|---|---|
| fT3 (free triiodothyronine) a separate range by sex or age also applies | 3.1–6.8 | pmol/L | laboratory |
| fT4 (free thyroxine) | 12–22 | pmol/L | laboratory |
| Anti-Tg antibodies (thyroglobulin) | 115 or less | IU/mL | laboratory (Roche Elecsys) |
| Anti-TPO antibodies | 34 or less | IU/mL | laboratory (Roche Elecsys) |
| TSH a separate range by sex or age also applies | 0.4–4 | mIU/L | laboratory (assay-specific); interpretation per ETA |
Hormones (7)
| Test | Range | Unit | Source |
|---|---|---|---|
| Estradiol a separate range by sex or age also applies | 5000 or less | pmol/L | laboratory |
| FSH a separate range by sex or age also applies | 150 or less | IE/L | ESHRE / ASRM / IMS |
| Cortisol (morning) a separate range by sex or age also applies | 300–540 | nmol/L | ESE / Endocrine Society |
| LH a separate range by sex or age also applies | 60 or less | IE/L | laboratory |
| Progesterone a separate range by sex or age also applies | 90 or less | nmol/L | laboratory |
| Prolactin a separate range by sex or age also applies | 500 or less | mIU/L | Endocrine Society |
| PSA (prostate) a separate range by sex or age also applies | 4 or less | ng/mL | Oesterling et al. (age-specific limits) / EAU |
Vitamins (7)
| Test | Range | Unit | Source |
|---|---|---|---|
| Folate | 7 or more | nmol/L | laboratory |
| Vitamin A | 1.05–2.45 | µmol/L | laboratory |
| Vitamin B12 | 258 or more | pmol/L | laboratory (NICE NG239 sets no single cut-off) |
| Vitamin B6 | 20–120 | nmol/L | laboratory |
| Vitamin C | 50 or more | µmol/L | EFSA NDA |
| Vitamin D (25-OH) | 50 or more | nmol/L | EFSA NDA |
| Vitamin E | 12–42 | µmol/L | laboratory |
Minerals (6)
| Test | Range | Unit | Source |
|---|---|---|---|
| Zinc | 11–18 | µmol/L | laboratory |
| Phosphate a separate range by sex or age also applies | 0.81–1.45 | mmol/L | NORIP (Nordic Reference Interval Project) |
| Calcium | 2.15–2.51 | mmol/L | NORIP (Nordic Reference Interval Project) |
| Magnesium | 0.71–0.94 | mmol/L | NORIP (Nordic Reference Interval Project) |
| Parathyroid hormone (PTH) | 1.6–6.9 | pmol/L | laboratory |
| Selenium (serum) | 0.89–1.65 | µmol/L | EFSA + laboratory (biomonitoring) |
Electrolytes (3)
| Test | Range | Unit | Source |
|---|---|---|---|
| Potassium | 3.5–5.1 | mmol/L | UK Kidney Association |
| Chloride | 98–107 | mmol/L | laboratory |
| Sodium | 135–145 | mmol/L | ESE / ERA-EDTA / ESICM |
Inflammation (10)
| Test | Range | Unit | Source |
|---|---|---|---|
| ECP (eosinophil cationic protein) | 13.3 or less | µg/L | laboratory |
| Fibrinogen | 2–4 | g/L | laboratory / ESAIC |
| Histamine (plasma) | 1 or less | µg/L | laboratory |
| Homocysteine a separate range by sex or age also applies | 10 or less | µmol/L | Refsum et al. (Hordaland Homocysteine Study) |
| hs-CRP | 1 or less | mg/L | AHA/CDC |
| IgE (total) | 100 or less | kU/L | laboratory |
| Procalcitonin | 0.5 or less | µg/L | Surviving Sepsis Campaign |
| ESR (sedimentation rate) | 20 or less | mm/h | laboratory |
| Specific IgE (allergen-specific) | 0.35 or less | kU/L | laboratory / EAACI |
| Tryptase (baseline) | 11.4 or less | µg/L | WHO/ICC + ECNM/AIM |
Proteins (2)
| Test | Range | Unit | Source |
|---|---|---|---|
| Albumin a separate range by sex or age also applies | 36–48 | g/L | NORIP (Nordic Reference Interval Project) |
| Total protein | 62–78 | g/L | NORIP (Nordic Reference Interval Project) |
Coagulation (3)
| Test | Range | Unit | Source |
|---|---|---|---|
| aPTT | 25–38 | s | laboratory |
| D-dimer | 0.5 or less | mg/L | ESC / ISTH |
| INR | 0.8–1.2 | laboratory / ISTH (method) |
Immune system (4)
| Test | Range | Unit | Source |
|---|---|---|---|
| ANA (antinuclear antibodies) | 80 or less | titer | EULAR/ACR |
| IgA (immunoglobulin A) | 0.7–4 | g/L | laboratory |
| IgG (immunoglobulin G) | 7–16 | g/L | laboratory |
| IgM (immunoglobulin M) | 0.4–2.3 | g/L | laboratory |
Urine (7)
| Test | Range | Unit | Source |
|---|---|---|---|
| Urine bilirubin | 10 or less | EFLM | |
| Urine red blood cells | 10 or less | /µL | EFLM |
| Urine white blood cells | 10 or less | /µL | EFLM |
| Microalbumin (urine) | 30 or less | mg/L | EFLM |
| Urine pH | 5–8 | EFLM | |
| Urine specific gravity | 1.003–1.035 | EFLM | |
| Urobilinogen (urine) | 20 or less | µmol/L | EFLM |
Gut (1)
| Test | Range | Unit | Source |
|---|---|---|---|
| tTG-IgA (celiac disease) | 7 or less | U/mL | ESsCD |
Heavy metals (2)
| Test | Range | Unit | Source |
|---|---|---|---|
| Cadmium (urine) a separate range by sex or age also applies | 1 or less | µg/L | Kommission Human-Biomonitoring (UBA) |
| Mercury (urine) | 7 or less | µg/L | Kommission Human-Biomonitoring (UBA) |
The table is for orientation and applies to adults. Different ranges apply to children, pregnant women and people on treatment. Values may change when professional societies update their guidelines. The date of the last update is shown at the top of the page.
Reference range vs. optimal value
For some markers there are two different numbers, and both are correct. They answer different questions.
| Marker | Reference (population) | Guideline target (risk) |
|---|---|---|
| LDL cholesterol | up to about 3.0 mmol/L | below 1.8 at high risk, below 1.4 mmol/L at very high risk (ESC/EAS) |
| HbA1c | up to 5.7 % | 5.7–6.4 % is the prediabetes range, which is worth reversing (ADA) |
| Ferritin | 30–200 µg/L | with inflammation the deficiency threshold is 70 µg/L (WHO); in restless legs the target is above 75 µg/L |
| Vitamin D | above 50 nmol/L | sufficient according to EFSA is 50 nmol/L; higher targets have no uniform guideline basis |
That is why our explanation has two levels. The reference range shows whether you are within limits. Where there is a professional basis for it, a target range shows where it is worth moving the value. Where there is no target value, or it is disputed, we do not invent one.
What a value right at the limit means
The most common reason people worry about a report is a value slightly outside the range. Before you do anything, consider three things:
- Biological variation. The same person has different values from day to day: iron by up to 30 %, cortisol even more, blood sugar immediately after a meal. One measurement is a photograph, not a film.
- Pre-analytics. A hard workout, alcohol, a cold, a long wait standing in the waiting room or a biotin supplement can all shift a result. Sometimes by more than a disease does. All the preparation rules.
- Context. Ferritin without CRP, HbA1c without iron, creatinine without muscle mass. All three numbers can mislead if read on their own.
In practice: a slight deviation without symptoms is most often re-checked after 6–12 weeks. Action is taken only if it persists. A marked deviation, or a deviation with symptoms, belongs with a doctor right away. Our app says so next to every such value.
Frequently asked questions
Why does my report have different limits from your table?
Because reference ranges are tied to the laboratory's method and analyzer. To assess a single value, the range next to your own report always applies. Our table is for orientation and is the basis for the explanation in the app.
Is a value just above the limit a disease?
Generally not. Five percent of healthy people are outside the limits by definition. What matters are the trend, symptoms and other tests. A slight deviation is usually re-checked after 6–12 weeks.
Why are there separate ranges for some tests?
Because normal values differ by sex, age or cycle phase. Examples: TSH in older people, creatinine in men and women, estradiol across the cycle. The app uses your range, not the general one.
What does it mean when a value has no assessment?
That we have no threshold with a professional basis for your result. Either the guidelines do not define one, or it depends on the method. In that case we show the number without an assessment instead of inventing a limit.
Are the values in the table in mmol/L?
Yes, we use SI units, as reported by laboratories in Slovenia and most of Europe. The unit is listed on every row, because the same number in mg/dL means something quite different.
Sources: The limits and sources are the same as in our knowledge base: WHO (ferritin 2020, hemoglobin), ESC/EAS 2019 (lipids, ApoB, non-HDL), ADA Standards of Care 2024 (glucose, HbA1c), KDIGO 2024 (eGFR), ETA (TSH), EFSA NDA (vitamin D), NORIP — Nordic Reference Interval Project (biochemistry, hematology), IFCC C-RIDL (liver enzymes), EFLM (urine, pre-analytics), ESHRE/ASRM/IMS (female hormones), Endocrine Society (cortisol, testosterone). For markers marked "laboratory" the limit is method-dependent and is set by the laboratory performing the analysis.




