Steroid Plotter

These curves are simplified half-life estimates, not bloodwork. They do not tell you what to take. Read the disclaimer.

Methodology

The v1 model is the classic Reddit plotter: first-order decay, stacked doses, ester weight, and a simple rise to Tmax. It is intentionally teachable, not a clinical PK suite.

What we plot

Y-axis is estimated remaining active milligrams. For esters, milligrams injected are multiplied by the parent-hormone fraction (100 mg testosterone enanthate is not 100 mg testosterone). GLP-1s use a fraction of 1. This is not ng/dL and not a blood test.

The curve for one dose

activeDose = doseMg × activeFraction

remaining(t) =
  0                          if t < t0
  activeDose × (t − t0)/Tmax if t0 ≤ t < t0 + Tmax
  activeDose × 0.5^((t − t0 − Tmax) / t½)  otherwise

Every later dose is the same function, shifted in time. The chart adds them together. That superposition is why long esters climb for weeks and why weekly semaglutide plateaus around 4–5 half-lives.

Stats

What we are not modeling

Catalog

Sustanon expands into four testosterone esters; three of those esters are not listed on their own. Orals use a 100% parent fraction and a hours-scale half-life. Rows marked estimate have weaker published PK.

CompoundGroupTmaxParentUnit
Test E (Testosterone enanthate)Testosterone4.5d2d72%mg
Test C (Testosterone cypionate)Testosterone5d2d69%mg
Test P (Testosterone propionate)Testosterone0.8d1d80%mg
Test U (Testosterone undecanoate)Testosterone21d7d63%mg
Sustanon (Sustanon 250)Testosterone7.5d3d70%mg
Test gel (Testosterone gel)Testosterone1d0.3d100%mg
Deca (Nandrolone decanoate)Injectable7.5d4d64%mg
NPP (Nandrolone phenylpropionate)Injectable1.5d1d67%mg
EQ (Boldenone undecylenate)Injectable14d4d61%mg
Mast E (Drostanolone enanthate)Injectable4.5d2d70%mg
Mast P (Drostanolone propionate)Injectable0.8d1d80%mg
Tren A (Trenbolone acetate)Injectable1d0.5d87%mg
Tren E (Trenbolone enanthate)Injectable4.5d2d70%mg
DHB (Dihydroboldenone cypionate) *Injectable5d2d70%mg
Primo (Methenolone enanthate)Injectable4.5d2d70%mg
Winny (Stanozolol suspension)Injectable1d0.3d100%mg
Superdrol (Methasterone injectable) *Injectable1d0.3d100%mg
Anavar (Oxandrolone)Oral0.4d0.0d100%mg
Dianabol (Methandienone)Oral0.2d0.0d100%mg
Anadrol (Oxymetholone)Oral0.6d0.0d100%mg
Superdrol (Methasterone) *Oral0.4d0.0d100%mg
Proviron (Mesterolone)Oral0.5d0.1d100%mg
Halotestin (Fluoxymesterone)Oral0.4d0.0d100%mg
Turinabol (Chlorodehydromethyltestosterone)Oral0.7d0.0d100%mg
Winny (Stanozolol oral)Oral0.4d0.0d100%mg
Ozempic (Semaglutide)GLP-17d2d100%mg
Mounjaro (Tirzepatide)GLP-15d2d100%mg
Reta (Retatrutide)GLP-16d2d100%mg
Saxenda (Liraglutide)GLP-10.5d0.5d100%mg
Trulicity (Dulaglutide)GLP-15d2d100%mg
Rybelsus (Oral semaglutide)GLP-17d1d100%mg
Mazdu (Mazdutide) *GLP-118d3d100%mg
HGH (Somatropin)Peptide0.1d0.1d100%mg
HCG (Chorionic gonadotropin)Peptide1.5d0.5d100%iu
SermorelinPeptide0.1d0.0d100%mg
CJC-1295 *Peptide0.3d0.1d100%mg
MK-677 (Ibutamoren)Peptide1d0.2d100%mg

Ester fractions follow published testosterone/nandrolone ester tables. Injectable half-lives follow the community steroidplot/Behre-era set. GLP-1 half-lives follow FDA labels. Population averages, not your labs.