Calculate This Body · Free T
Module · Body

Free
Testosterone

Most testosterone in your blood is bound up and unavailable. This works out how much is actually free, and how much is bioavailable, from your total testosterone, SHBG and albumin - using the Vermeulen equation.

See the math behind this calculator
Typically free
1-3% of total

Bound to SHBG
~44-65%

Method
Vermeulen 1999
Total testosterone
SHBG
Albumin

If albumin wasn't measured, the conventional default of 4.3 g/dL is used. It has a modest effect on the result compared with SHBG.

Free testosterone -
How your total testosterone is distributed
Free - Albumin-bound - SHBG-bound -
Free, as nmol/L-
Free, percent of total-
Bioavailable-
Bioavailable, percent-

What the Vermeulen equation does

Testosterone doesn't float freely in your blood. Most of it is bound to two proteins, and the binding follows the law of mass action - which means if you know the concentrations and the binding strengths, you can solve for how much is left unbound.

SHBG binds testosterone tightly, with an association constant of about 1 × 10⁹ L/mol. Albumin binds it far more weakly, at about 3.6 × 10⁴ L/mol - roughly 28,000 times weaker - but there's an enormous amount of albumin in blood, so it still accounts for a large share of the total.

Published by Vermeulen and colleagues in 1999, the equation solves the resulting equilibrium as a quadratic. It has become the standard calculated method, and it tracks equilibrium dialysis - the reference measurement - closely enough to be clinically useful.

Reading the three fractions

FractionTypical shareAvailable to tissue
Free1-3%Yes
Albumin-bound33-54%Yes, released at the capillary
SHBG-bound44-65%Generally not

Bioavailable testosterone is the first two added together. The exact split shifts with your SHBG and albumin, which is what the bar in the readout is showing.

Why the number can disagree with your lab

If your lab also reported a calculated free testosterone and it differs from this one, that's expected rather than alarming. There are a few reasons.

Different calculators use different association constants. Some use 1.0 × 10⁹ for SHBG binding, others 5.97 × 10⁸, and the choice moves the answer. Some use an albumin molecular weight of 66,500 rather than 69,000. Some labs report a directly measured free testosterone by dialysis, which is a different thing entirely and is the more accurate of the two.

The constants this page uses are listed in the working at the bottom, so you can check them against whatever your lab used.

Free testosterone questions

What units should I enter?

Total testosterone accepts either ng/dL, which is standard in the US, or nmol/L, which is standard in most of the rest of the world. SHBG is entered in nmol/L, which is how essentially every lab reports it. Albumin takes g/dL or g/L.

I don't have an albumin result. Does it matter?

Less than you might think. Albumin binds testosterone weakly and its concentration varies over a narrow range in healthy people, so the default of 4.3 g/dL is usually close. SHBG is the input that genuinely drives the result. If you have liver disease, kidney disease or significant malnutrition, get an actual albumin figure.

Why is bioavailable so much higher than free?

Because it includes the albumin-bound fraction, which is typically 30 to 50% of your total. Albumin holds testosterone loosely enough that it dissociates during a single pass through a capillary bed, so it's treated as available to tissue even though it's technically bound.

What's a normal free testosterone?

There isn't one universal answer, which is why this page doesn't state one. Reference ranges differ by laboratory, by assay, and considerably by age. Use the range printed on your own lab report. A calculated value compared against another lab's range can be misleading.

Is this as good as a measured free testosterone?

No. Equilibrium dialysis is the reference standard and a calculated value is an estimate from a model. The estimate is good enough to be widely used clinically, and it's far better than judging from total testosterone alone, but if there's a genuine clinical question the measured test is the better answer.

Does this work for women?

The equation itself is not sex-specific - it's a binding model, and the chemistry is identical. What differs is the reference range, which is roughly an order of magnitude lower for women, and the fact that assay precision at those low concentrations is considerably worse.

Show the working

This is the Vermeulen equation in full, with your own numbers substituted at each step. If any of it looks wrong, it might be - tell us what we got wrong.

Step 1 — everything converted to mol/L ng/dL → nmol/L : × 0.034671 (10 ÷ 288.42) nmol/L → mol/L : × 1e−9 albumin g/dL → g/L : × 10 albumin mol/L : g/L ÷ 69000
Step 2 — the albumin binding term N = 1 + (Ka × albumin mol/L)
Step 3 — quadratic coefficients a = N × Kt b = N + Kt × (SHBG − total T) c = − total T
Step 4 — solve for free testosterone free T (mol/L) = ( −b + √(b² − 4ac) ) ÷ 2a
Step 5 — back into reportable units nmol/L = mol/L × 1e9 pg/mL = nmol/L × 288.42 percent free = free ÷ total × 100
Step 6 — bioavailable, and the three fractions bioavailable = free × N (free plus albumin-bound) albumin-bound = bioavailable − free SHBG-bound = total − bioavailable

Constants used

  • Kt = 1.0 × 10⁹ L/mol — testosterone to SHBG association constant
  • Ka = 3.6 × 10⁴ L/mol — testosterone to albumin association constant
  • 288.42 g/mol — molecular weight of testosterone
  • 69,000 g/mol — molecular weight of albumin. Some implementations use 66,500, which shifts the result slightly
  • 4.3 g/dL — default albumin when none is entered

Different published implementations use different constants — 5.97 × 10⁸ instead of 1.0 × 10⁹ for SHBG binding is common, as is 66,500 for albumin. That is the main reason two calculated free testosterone figures can disagree while both being correctly computed. The constants above are the ones this page uses, so you can check them against your lab's.

The sources

This page implements one specific published equation, so the sourcing is narrower than a survey - the first entry is the paper the equation comes from, and the rest are what other groups found when they tested it against measured free testosterone.

The equation, as published N = 1 + Kalb x ALB/69000 a = N x Kshbg b = N + Kshbg x (SHBG - TT) FT = (-b + sqrt(b^2 - 4ac)) / 2a
  1. Vermeulen A, Verdonck L, Kaufman JM. A critical evaluation of simple methods for the estimation of free testosterone in serum. J Clin Endocrinol Metab 84(10), 3666-72, 1999. The source of the equation itself and of both association constants - 10⁹ L/mol for testosterone to SHBG and 3.6 x 10⁴ L/mol for testosterone to albumin.
  2. Yang J, Hamilton C, Robyak K, Zhu Y. Discrepancies in Four Algorithms for the Calculation of Free and Bioavailable Testosterone. Clinical Chemistry 69(12), 1429, 2023. Where the 4.3 g/dL default albumin comes from, and the finding that Vermeulen agrees most closely with reference-laboratory free testosterone of the four algorithms compared.
  3. Free testosterone and cardiometabolic parameters in men: comparison of algorithms. PubMed Central, NIH. Confirms Vermeulen is the algorithm the Endocrine Society acknowledges, while arguing the newer Zakharov model may track total testosterone more closely.
  4. Reassessing Free-Testosterone Calculation by Liquid Chromatography-Tandem Mass Spectrometry Direct Equilibrium Dialysis. J Clin Endocrinol Metab 103(6), 2018. Measures calculated free testosterone against direct equilibrium dialysis, which is the reference method this equation is standing in for.
  5. Are there variances of calculated free testosterone attributed to variations in albumin and sex hormone-binding globulin concentrations in men? Clin Chem Lab Med, 2013. Directly relevant to the albumin field on this page - how much the answer moves when albumin is assumed rather than measured.

The albumin molecular weight is the one place implementations quietly differ. This page uses 69,000 g/mol, which is what the Vermeulen paper uses. Some calculators use 66,500 and land on a slightly different number from identical inputs, which is worth knowing if you are comparing against another tool.