PK/PD Graph Builder
Draw concentration-time and effect curves for one, two and three compartment models. Change a number and the curve updates. All times are hours since the first dose.
Tap the graph to read values.
No reference locked yet.
For learning only. Not for patient care decisions. Always check with a qualified professional and the product label.
Multi-dose levels
Uses the route, compartments, CL and Vd from the main graph. Each level also has its own line style.
Focus the graph and use the arrow keys to read values.
Curve data
Values from the simulated curve, in the units you picked.
Results
| Readout | Value |
|---|---|
| Peak (Cmax) | – |
| Time to peak (Tmax) | – |
| Trough (Cmin) | – |
| Exposure (AUC) | – |
| Half-life (t½) | – |
| Clearance (CL) | – |
| Accumulation ratio | – |
| Average concentration | – |
| Time in window | – |
| Drug 2 exposure (AUC) | – |
| Drug 2 half-life (t½) | – |
Full NCA table (from the simulated curve)
Your data table
Type your time points and concentrations. The graph updates as you type.
| Time (hours) | Concentration (mg/L) | Remove |
|---|
Focus the graph and use the arrow keys to read values.
Upload real data: overlay points on the model
CSV or pasted text, one point per line: time in hours, concentration in mg/L. Example: 2, 18 then 4, 20. Points show as dots on the main graph. This does not fit the model, it only overlays your data.
No uploaded points yet.
Rule-of-thumb starting values
Rough teaching numbers from simple rules. They are not fitted to data, so replace them with real values when you have them.
How it works
Pick a dose, a clearance and a volume, and the tool draws the concentration curve for that drug. The model is a set of compartments: the drug enters the blood (or the gut first, for oral doses), spreads between compartments, and is cleared at a rate set by clearance and volume. The curve is solved with a 4th-order Runge-Kutta method, one small step at a time, so the numbers are stable even for steep curves.
Worked example. Take a 1000 mg oral dose with clearance 7.5 L/h, volume 50 L, absorption rate ka 1.2 per hour and full bioavailability. The elimination rate is k = CL / V = 0.15 per hour, so the half-life is 0.693 / 0.15 = 4.62 hours. The curve peaks at tmax = ln(ka / k) / (ka - k) = 1.98 hours, at Cmax = 14.86 mg/L. The total exposure is AUC = Dose / CL = 133.33 mg·h/L. If the same dose is given every 12 hours, the average level at steady state is Dose / (CL x 12) = 11.11 mg/L, and it takes about five half-lives (around 23 hours) to get there. Try these numbers in the tool and check the results table matches.
The effect curve uses the Emax model: effect rises with concentration and tops out at a ceiling. EC50 is the concentration where the effect is half of Emax. The Hill coefficient makes the curve steeper around EC50, and the effect delay (ke0) makes the effect trail behind the blood level, as it does in real life.
The maths
What the graph is calculating, with units. Values below use the numbers you entered.
Peak (Cmax) is the highest simulated concentration. AUC is the area under the curve by the trapezoidal rule, plus the tail C/lambda for a single dose. Half-life is 0.693 / terminal slope. Checked against three hand-worked examples (see the page source comments).
Results are shown to 3 significant figures.