Home › Medical & Clinical › Dose by Weight Calculator
Dose by Weight Calculator
Converts a weight-based dose (mg/kg per dose or per day) into milligrams per administration and per day, the volume per administration for a given concentration, and applies an optional maximum single dose.
When to use
A drug reference gives a dose in mg/kg and you know the patient's weight, the dosing frequency and, optionally, the product concentration or a maximum dose.
Do not use when: The dose is based on body surface area (use body-surface-area), units are not mg/kg (e.g. mcg/kg/min infusions), or renal or hepatic adjustment is required; drug-specific references govern the actual prescription.
Formula
per_dose basis: dose_mg = dose_mg_per_kg × weight_kg; per_day basis: dose_mg = dose_mg_per_kg × weight_kg / doses_per_day; dose_mg = min(dose_mg, max_dose_mg); daily_total = dose_mg × doses_per_day; volume_ml = dose_mg / concentration_mg_per_ml
Generic arithmetic only: it does not know drug-specific limits, rounding to available strengths, or renal and hepatic adjustments. Results are informational only and not a substitute for clinical judgement or medical advice.
Inputs
| Parameter | Type | Unit | Required | Description |
|---|---|---|---|---|
dose_mg_per_kg | number | mg/kg | yes | Dose in mg per kg, per administration or per day as set by dose_basis. Range: > 0, ≤ 1000 |
weight_kg | number | kg | yes | Patient weight in kilograms (the dosing weight, e.g. actual or adjusted). Range: > 0, ≤ 700 |
dose_basis | enum: per_dose | per_day | default per_dose | Whether dose_mg_per_kg is per administration or the total for the day. | |
doses_per_day | integer | default 1 | Number of administrations in 24 hours (e.g. 3 for every 8 hours). Range: ≥ 1, ≤ 24 | |
concentration_mg_per_ml | number | mg/mL | no | Optional product concentration (e.g. 250 mg/5 mL = 50 mg/mL) to obtain the volume. Range: > 0, ≤ 10000 |
max_dose_mg | number | mg | no | Optional cap per administration (often the adult dose); the calculated dose is limited to it. Range: > 0, ≤ 100000 |
Outputs
| Output | Type | Unit | Description |
|---|---|---|---|
dose_per_administration_mg | number | mg | Milligrams per dose (after any cap). |
daily_total_mg | number | mg/day | Dose per administration × doses per day. |
volume_per_administration_ml | number | mL | Dose / concentration; only when concentration_mg_per_ml is given. |
daily_volume_ml | number | mL/day | Only when concentration_mg_per_ml is given. |
dosing_interval_hours | number | h | 24 / doses per day. |
dose_capped | boolean | True when the weight-based dose exceeded max_dose_mg and was limited. |
Example
10 mg/kg per dose, 20 kg, 3 times daily, 50 mg/mL: {"dose_mg_per_kg":10,"weight_kg":20,"dose_basis":"per_dose","doses_per_day":3,"concentration_mg_per_ml":50} → {"dose_per_administration_mg":200,"daily_total_mg":600,"volume_per_administration_ml":4,"daily_volume_ml":12,"dosing_interval_hours":8,"dose_capped":false}
30 mg/kg/day divided in 2, 15 kg: {"dose_mg_per_kg":30,"weight_kg":15,"dose_basis":"per_day","doses_per_day":2} → {"dose_per_administration_mg":225,"daily_total_mg":450,"dosing_interval_hours":12}
15 mg/kg per dose, 60 kg, cap 500 mg: {"dose_mg_per_kg":15,"weight_kg":60,"max_dose_mg":500} → {"dose_per_administration_mg":500,"dose_capped":true}
GET https://tttkmbb.com/api/v1/calculate/dose-by-weight?dose_mg_per_kg=10&weight_kg=20&dose_basis=per_dose&doses_per_day=3&concentration_mg_per_ml=50
Machine access
- API:
GET https://tttkmbb.com/api/v1/calculate/dose-by-weight(query parameters) orPOSTwith a JSON body{"inputs": {...}} - Schema: https://tttkmbb.com/api/v1/calculators/dose-by-weight · Markdown: https://tttkmbb.com/medical/dose-by-weight.md · JSON definition: https://tttkmbb.com/medical/dose-by-weight.json
- MCP: server
https://tttkmbb.com/mcp, toolrun_calculator with calculator_id="dose-by-weight" - OpenAPI operationId:
calculate_dose_by_weight - Freshness:
static. Authentication: none. Rate limit: fair use (see rate limits).
Sources
FAQ
Is 'mg/kg/day' the same as 'mg/kg per dose'?
No. A daily dose is divided by the number of administrations; entering a per-day dose as per-dose would overdose by the frequency factor, which is why dose_basis is explicit.
How do I get mg/mL from a label like 250 mg/5 mL?
Divide: 250 / 5 = 50 mg/mL. For percentage solutions, 1% = 10 mg/mL.
Related calculators
- Adjusted Body Weight Calculator — Choose the dosing weight for overweight patients.
- Body Surface Area Calculator — BSA-based dosing alternative.
- IV Drip Rate Calculator — Set the infusion rate for the calculated volume.