TherapyLog
HomeLab markers › Total testosterone

Total testosterone: immunoassay versus LC/MS-MS, and the range by age

Total testosterone is the most-ordered hormone test in this population and one of the easiest to over-read. The method matters, the reference range moves with age, and a single draw says less than people think.

Last reviewed: 4 September 2026

What the test measures

Total testosterone is everything in the sample: the fraction bound tightly to sex hormone-binding globulin, the fraction bound loosely to albumin, and the small free fraction. It is one number covering three populations of molecules with quite different availability to tissue, which is why it is a starting point rather than a conclusion.

It is also the number that moves most over a day. Testosterone follows a diurnal rhythm that is pronounced in younger men and flatter with age, which is the reason morning draws are the convention — a result taken at four in the afternoon is not comparable to one taken at eight in the morning.

Immunoassay versus mass spectrometry

Most general panels run an immunoassay. It is fast and cheap and, in the middle of the adult male range, broadly adequate. Where it degrades is at the low end and in samples with unusual binding-protein or steroid profiles, and the direction of the error is not consistent.1

Established clinical use That the two methods diverge materially at low concentrations is established. The Journal of Clinical Endocrinology and Metabolism requires mass spectrometry for the sex steroid measurements it publishes,2 and comparisons of direct immunoassay against LC-MS/MS in men have found disagreement large enough to change how a result reads.1 The registry note the app carries puts it plainly: do not trend across methods without flagging the switch.

That last point is the practical one. If your first result came from an immunoassay and your second from LC/MS-MS, the difference between them is partly the method, and reading it as a change in you is a mistake. The app keeps the method with the value for exactly this reason.

The range, and why it moves with age

Total testosterone falls gradually with age in most men, and the reference intervals below reflect that — they are the bands the app itself applies, generated by running its own range function rather than transcribed.

Off-label or community practice The optimal band is a different thing from the reference range and is non-diagnostic. Reference intervals are built from a population; an "optimal" band is a convention drawn from clinical literature and community practice about where people tend to feel and function well. Neither is a diagnosis, and a number inside a range does not rule out a problem any more than a number outside one establishes one.

A diagnosis of testosterone deficiency conventionally rests on symptoms plus more than one low morning measurement, not on a single draw — which is worth knowing before acting on one number in either direction.

Reading a result on therapy

On testosterone therapy the number depends heavily on when it was drawn relative to the last injection. A trough drawn the morning of the next dose and a peak drawn two days after one are both "your level", and they can differ by a factor that dwarfs any change you might be trying to detect. Whatever you choose, keep it consistent, and record it — the app stores the draw timing alongside the value.

Off-label or community practice Community practice and most clinics settle on trough draws for monitoring, because a trough is reproducible in a way a peak is not: it is pinned to the injection schedule rather than to how fast a given ester released on a given week. Whether your protocol is right for you is a conversation for the clinician prescribing it, with a consistent draw time and a named assay in front of you.

What the app records for this marker

Marker
Total Testosterone
Panel group
hormones
Canonical unit
ng/dL
Units accepted
ng/dL (canonical)
nmol/L (× 28.84 → ng/dL)
ng/mL (× 100 → ng/dL)
Assay methods tracked
Immunoassay (immunoassay)
LC/MS-MS (lc-ms-ms)
Generic reference range
300–1000 ng/dL — generic reference range, male default. Your lab's printed interval takes precedence over this.
Optimal band
500–900 ng/dL non-diagnostic
LOINC
2986-8, 14913-8 — unverified seed, not checked against a vendor payload

How the app adjusts this range by sex and age

Generated by running the app's own range function against each band, so this table cannot drift from what the app flags against. The optimal column is non-diagnostic throughout.

WhoReference rangeOptimal band
Male, under 30400–1100 ng/dL600–900 ng/dL
Male, 30–39350–1000 ng/dL500–900 ng/dL
Male, 40–49300–950 ng/dL450–850 ng/dL
Male, 50–59250–900 ng/dL400–800 ng/dL
Male, 60 and over200–800 ng/dL350–700 ng/dL
Female, all ages15–70 ng/dL30–70 ng/dL
Unit converter

Runs the app's own conversion, which means it refuses the conversions the app refuses instead of approximating them.

Your lab's range wins

The reference interval printed on your own report is the one that counts, and it is the one TherapyLog flags against when your report carries it. That is not deference for its own sake: a reference interval belongs to the assay, the instrument and the population the lab validated it on, and two labs measuring the same blood can legitimately print different intervals. A generic range — like the one in the fact box above — is what the app falls back to when your report did not include one, and it is the weaker of the two.

The same applies to any optimal band. Those are drawn from clinical literature and community practice for reading a trend over time, they are non-diagnostic, and sitting outside one is not by itself a finding. What a value means for you is a question for the clinician who can see your whole chart.

Compounds whose monitoring panel includes this marker

Generated by matching this marker's own aliases against the monitoring note on every compound in the app's reference, so the list is the app's, not an author's.

Questions people actually ask

My level is "normal" but I feel terrible. What does that mean?

It means a population reference interval did not answer your question, which is a limit of the test rather than a contradiction. Reference intervals are wide, they are built from a population that includes people who feel fine and people who do not, and total testosterone does not describe how much is actually available to tissue. Free testosterone and SHBG address that second point directly. What it means for you is a clinical question, not a laboratory one.

Does the draw have to be in the morning?

For a diagnostic workup, conventionally yes — the diurnal rhythm is real and the reference intervals were built on morning samples. On established therapy the more important thing is consistency relative to your injection schedule, so that two results are comparable to each other.

How do I convert nmol/L to ng/dL?

The converter above does it with the app's own factor: nmol/L × 28.84 gives ng/dL. Most non-US reports print nmol/L, and mixing the two units is one of the more common reasons a result looks wildly out of range when it is not.

Sources

Every claim above that is not a definition is either labelled by evidence tier or carries a numbered reference to one of these.

  1. Measurement of Serum Testosterone in Nondiabetic Young Obese Men: Comparison of Direct Immunoassay to Liquid Chromatography-Tandem Mass Spectrometry Direct immunoassay compared against LC-MS/MS in men, with the size of the disagreement.
  2. Handelsman & Wartofsky, Requirement for Mass Spectrometry Sex Steroid Assays, J Clin Endocrinol Metab 98(10):3971 (2013) The journal requiring mass spectrometry for sex steroid assays in published work.
  3. ADLM (formerly AACC), Optimal Testing: laboratory test utilisation guidance Assay-selection guidance for sex steroids at low concentrations.

TherapyLog logs this marker with the unit, the reference interval your report printed and the assay method beside it, so a trend cannot silently switch methods on you.

Log your bloodwork

Built by Joel Gonzales, founder of TherapyLog. Not a clinician. Last reviewed 4 September 2026. The calculator on this page runs the same code as the app; how these pages are written, sourced and corrected is set out in the editorial policy.

This calculator does the arithmetic you typed and nothing else. It does not know what is actually in your vial, whether the label is accurate, or anything about you. Confirm the vial strength and the diluent volume on your own label before you draw, and take dosing decisions to a qualified provider.

TherapyLog is an informational tracking tool and is not a substitute for professional medical advice, diagnosis, or treatment. Always consult a qualified healthcare provider before starting, changing, or stopping any medical protocol.
TherapyLog LLC · Floresville, Texas · Privacy Policy · Consumer Health Data · Terms of Use · About · hello@therapylog.app