← All posts

Testosterone units: ng/dL, nmol/L and pg/mL

Put three testosterone reports from three countries side by side and the numbers can look wildly different: 400 on one, 13.9 on another, 4.0 on a third. People in that situation often assume something changed, or that one lab got it wrong.

All three can be the same result. A US lab usually reports total testosterone in ng/dL, much of Europe, the UK and Australia use nmol/L, and some labs use ng/mL. 400 ng/dL is 13.9 nmol/L is 4.0 ng/mL. The conversion is fixed and exact, because it comes from the weight of one testosterone molecule. Getting it right is the first step before comparing any two reports.

Converting total testosterone: ng/dL to nmol/L

The factor is 28.84. It comes from testosterone's molar mass, about 288.4 grams per mole: one nanomole per litre of testosterone weighs 288.4 nanograms per litre, which is 28.84 ng/dL.

  • nmol/L = ng/dL ÷ 28.84 (or ng/dL × 0.0347)
  • ng/dL = nmol/L × 28.84
  • ng/dL = ng/mL × 100
ng/dL nmol/L ng/mL
200 6.9 2.0
300 10.4 3.0
400 13.9 4.0
500 17.3 5.0
600 20.8 6.0
800 27.7 8.0
1000 34.7 10.0

And the other direction, for people reading a European report:

nmol/L ng/dL
8 231
11 317
14 404
20 577
25 721
30 865

These tables only translate units. What a result means depends on the lab's own reference range, how the test was done, and you.

Converting free testosterone: pg/mL, ng/dL and pmol/L

Free testosterone is a much smaller amount, so it comes in smaller units, and this is where most mix-ups happen.

  • 1 ng/dL = 10 pg/mL
  • pmol/L = pg/mL × 3.467
  • nmol/L = pmol/L ÷ 1000

So a free testosterone of 100 pg/mL is 10 ng/dL, 347 pmol/L and 0.347 nmol/L. A US report saying 10 and a European one saying 347 can be the same result.

People often search "pg/mL vs ng/dL" because a total testosterone in ng/dL and a free testosterone in pg/mL sit next to each other on one report. They're two different measurements in two different units, and they can't be compared directly. Free testosterone is usually a few percent of total or less. Our post on free vs total testosterone explains how the two relate, and the one on calculated vs direct free testosterone covers why the same report can show two different free values.

The other units on a testosterone panel

The lines around testosterone have their own units, and some of them also switch by country.

Marker Common units Conversion
SHBG nmol/L Almost always nmol/L everywhere
Estradiol pg/mL or pmol/L pmol/L = pg/mL × 3.671
Albumin g/dL or g/L g/L = g/dL × 10
LH and FSH mIU/mL or IU/L The same number
PSA ng/mL or µg/L The same number

Keeping your testosterone history in one unit

Pick one unit and convert everything into it

Use the unit your current doctor and lab use, so the numbers you discuss match theirs. Convert the old results and keep the original value in a separate column, in case you want to check a conversion later.

Check every report for the unit, not only the number

Some reports put the unit in a column header, some next to each value, and some leave it out entirely on the PDF table. A total testosterone of 6 is almost certainly ng/mL or nmol/L, but a 20 could be nmol/L total or pg/mL free. Look before you paste.

Keep total and free in separate columns

They're different measurements, even when the unit is the same. Free testosterone in ng/dL looks like a tiny total testosterone and will flatten any chart it ends up on.

Watch the decimal separator

Many European labs write 13,9 with a comma. Spreadsheets in English settings may read that as text, or as 139. Check a few cells after pasting.

Convert before using a calculator

Our free testosterone calculator takes total testosterone in ng/dL, SHBG in nmol/L and albumin in g/dL. If your report is in nmol/L, multiply by 28.84 first. The same goes for the testosterone to estradiol ratio, which takes testosterone in ng/dL and estradiol in pg/mL.

Remember that a new lab can still move the number

Converting units fixes the arithmetic. It doesn't make two methods agree. Labs use different machines, and testosterone results can differ between methods. A step right after switching labs is worth a "new lab" note before you read it as a change in you.

This is total testosterone in ng/mL across 13 tests, with four stacks shaded:

A line chart of total testosterone in ng/mL over two years with four shaded stacks. It sits around 4.5 to 4.9 ng/mL at baseline, climbs to about 9.8 after TRT starts, above the lab's upper line at 9.16, and settles between about 6.3 and 8.3 in the last stack.

Sample data, not a real person.

The lab reported ng/mL, so 4.9 on the chart is 490 ng/dL or 17 nmol/L. If a later report came back in ng/dL and went on the same chart unconverted, the line would jump a hundred times higher and the rest of the history would look flat.

How often do you need to convert?

Every time a result comes from a new lab or a new country, and once for your old history. After that, a single unit for each marker means you never have to think about it again. If you're on TRT, the timing of each test matters as much as the unit. Our post on TRT blood test timing covers that.

A spreadsheet that handles mixed units

Date Lab Marker Value as printed Unit as printed Value (ng/dL) Notes
2023-09-12 Lab in Berlin Total testosterone 14,2 nmol/L 410 comma decimal
2024-10-05 Clinic, US Total testosterone 4.9 ng/mL 490
2025-03-18 Clinic, US Total testosterone 955 ng/dL 955 on TRT, day 3

Chart the converted column. Keep the original two columns so anyone can check your arithmetic.

Where dialedin fits

We built dialedin because pasting values from PDFs in different units into a spreadsheet goes wrong sooner or later.

You upload a lab PDF and it is read into individual markers, with the value and the unit the lab printed, and you check them before saving. Every report goes on one timeline, and the same marker under different lab names, including names in other languages, stays one line. You can record what you were taking and when, and an optional daily check-in shows which levels line up with your better days. You can export your history as a PDF for your doctor.

It's free while we're in beta. If your testosterone results are spread across labs, countries and units, put them on one timeline and see what actually changed.


This article is general information, not medical advice, and it can't take your own history into account. Talk to your doctor about what your testosterone results mean for you.