Free tool · Testosterone half-life calculator
Testosterone half-life & steady-state calculator. See the accumulation, not just the number.
Pick your ester, dose and injection frequency. The model charts how levels build across six weeks of injections — when accumulation flattens into steady state, and how far you swing between peak and trough. Same pharmacokinetics engine as the TRT AI iPhone app, on a deliberately relative axis.
Model: elimination half-life 8 days (192 h), absorption half-life 19.2 h (derived), first-order Bateman kinetics with dose superposition. Output is relative — it is not a serum ng/dL prediction.
Testosterone Cypionate · 100 mg · every 3.5 days
Time to ~steady state
≈ 35days (95% of final trough)
Peak-to-trough ratio
1.11 : 1at steady state
Elimination half-life
8days
Made with TRT AI · trtai.app
What this model shows
Each injection is modelled with a two-compartment first-order (Bateman) curve — an absorption ramp off the oil depot followed by exponential elimination — and repeated doses are summed by superposition. Because a long ester is still releasing when the next shot lands, levels accumulate for the first several weeks before settling into a repeating steady-state rhythm, conventionally reached after roughly four to five elimination half-lives.
The maths, stated plainly
- Single dose: A(t) = D · (ka / (ka − ke)) · (e−ke·t − e−ka·t)
- Rate constants: ke = ln2 / t½elimination and ka = ln2 / t½absorption
- Absorption half-life defaults to 10% of the elimination half-life, clamped to 0.1–24 hours — so a long ester gets a multi-hour ramp rather than an instant spike.
- Multi-dose level at time t is the sum of every past dose’s contribution; steady-state peak and trough are found by summing the series at each phase across one interval.
- Where absorption is much faster than elimination (ka ≥ 20·ke) the model collapses to simple decay, which is the same simplification the app makes.
Worked example: 100 mg of cypionate a week, three ways
Holding the weekly milligrams constant and changing only the interval, with an 8-day elimination half-life:
| Schedule | Weekly total | Peak-to-trough | Time to ~steady state |
|---|---|---|---|
| 100 mg once weekly | 100 mg | 1.4 : 1 | ≈ 35 days |
| 50 mg every 3.5 days | 100 mg | 1.11 : 1 | ≈ 35 days |
| ~14 mg daily | 100 mg | 1.01 : 1 | ≈ 36 days |
Same milligrams, three different curves. More frequent injections flatten the line rather than raise it: the average is set by milligrams per week, the swing is set by the interval. That is a property of the model, not a recommendation — how often you inject is a decision for the clinician who prescribes it.
What the model deliberately ignores
- Bioavailability, volume of distribution and clearance — none of them are inputs.
- Individual absorption variability, injection site, depot volume and technique.
- SHBG, albumin and everything else that decides how much of a level is free rather than bound.
- Blend esters: Sustanon 250 is approximated as one composite curve rather than four separate ones.
Which is why the y-axis is relative and unlabelled. A calculator that hands you a serum concentration in ng/dL is claiming knowledge that pharmacokinetic constants alone cannot provide; the number that matters comes from a blood draw. Where in the interval that draw should sit is covered in the lab timing guide, and the full background is in the injection frequency guide.
Read the background
More free TRT tools