Corticosteroid converter
Convert a dose of one systemic corticosteroid into the matching dose of another: 20 mg of prednisone equals 80 mg of hydrocortisone or 0.75 mg of dexamethasone, from a fixed table anchored on hydrocortisone 20 mg. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Drug
- Prednisone
- Dose
- 20
- Target
- Hydrocortisone
- Dose mg
- 20 mg
- Equivalent dose mg
- 80
- Source equivalent mg
- 5
- Target equivalent mg
- 20
Switching a patient from one systemic corticosteroid to another is a daily task in clinics, hospital pharmacies, discharge planning, and exam-prep tables, and the milligram arithmetic is easy to get wrong when agents differ tenfold in anti-inflammatory potency. This corticosteroid dose equivalent calculator accepts a recognized drug name, a finite milligram dose, and a target steroid type, then returns the equivalent dose in milligrams using a fixed conversion table anchored on hydrocortisone twenty milligrams. Prednisone and prednisolone sit at five milligrams, methylprednisolone and triamcinolone at four, dexamethasone and betamethasone at zero point seven five, cortisone at twenty-five, deflazacort at six, and paramethasone at two.
What corticosteroid dose equivalence means
Corticosteroid dose equivalence is the textbook conversion that answers a practical question: if someone is taking a given milligram amount of one systemic glucocorticoid, what milligram amount of another agent matches the same anti-inflammatory glucocorticoid effect. The conversion is not a chemical identity and it is not a pharmacokinetic simulation. It is a published ratio table anchored on hydrocortisone, historically assigned twenty milligrams as the reference equivalent dose.
In that table five milligrams of prednisone or prednisolone, four milligrams of methylprednisolone or triamcinolone, and zero point seven five milligrams of dexamethasone or betamethasone are treated as anti-inflammatory matches for those twenty milligrams of hydrocortisone. Cortisone sits at twenty-five milligrams because it is a less potent precursor, deflazacort at six milligrams, and paramethasone at two milligrams. This capability applies that table as a pure ratio: equivalent dose in milligrams equals the source dose multiplied by the target agent's equivalent milligrams divided by the source agent's equivalent milligrams.
The result is a single milligram figure for the target drug, returned with the canonical names, the table rows used, and the conversion factor so a reviewer can recompute the arithmetic by hand. Mineralocorticoid potency, biological half-life, plasma protein binding, first-pass activation of prednisone to prednisolone, and topical or inhaled local activity are outside this ratio. Those properties matter clinically and they are not encoded here, which is why the output is labelled equivalent milligrams rather than a recommended prescription.
Use the number as a transparent starting conversion between named systemic corticosteroids, then apply clinical judgment, taper schedules, and local formulary rules on top of it.
Where equivalent-dose conversions belong—and where they do not
Hospital pharmacists converting a ward prednisolone taper to an equivalent hydrocortisone infusion need a single, auditable milligram figure rather than a spreadsheet cell that drifted between shifts. Discharge teams mapping a dexamethasone course back onto oral prednisone for the community prescription use the same ratio so the outpatient dose is not an order-of-magnitude error. Research coordinators batch-converting historical glucocorticoid exposures into prednisone-equivalent milligrams for cohort analysis need a closed table and a deterministic factor, not a model that changes between runs.
The conversion does not replace a prescriber: it does not taper, it does not adjust for hepatic activation of prednisone, it does not convert inhaled budesonide or topical clobetasol, and it does not report mineralocorticoid activity. Failed validation does not consume balance. Treat the output as anti-inflammatory milligram equivalence against the hydrocortisone twenty milligram table, then apply local protocol for duration, route, and monitoring.
What you can do with it
Ward and discharge glucocorticoid switches
Convert a documented milligram dose of prednisone, methylprednisolone, or dexamethasone into the equivalent milligrams of the agent on the discharge prescription so the handoff figure is auditable.
Prednisone-equivalent exposure in research logs
Batch-map historical systemic corticosteroid records onto prednisone-equivalent milligrams with one closed table so cohort analyses share a single conversion factor.
Exam-prep and pharmacy teaching tables
Let learners check textbook conversions such as twenty milligrams of prednisone to eighty milligrams of hydrocortisone against a deterministic oracle instead of a silent empty result.
FAQ
How do I convert a prednisone dose to hydrocortisone milligrams?
Send drug prednisone, dose as milligrams, and target hydrocortisone. The calculator multiplies dose by 20/5, so 20 mg prednisone returns 80 mg hydrocortisone equivalent.
Which corticosteroids does this calculator recognize?
Betamethasone, cortisone, deflazacort, dexamethasone, hydrocortisone, methylprednisolone, paramethasone, prednisolone, prednisone, and triamcinolone.
Why is dexamethasone listed as 0.75 mg equivalent?
The anti-inflammatory table is anchored on hydrocortisone 20 mg. Dexamethasone and betamethasone sit at 0.75 mg in that row, so they are about twenty-six times as potent milligram-for-milligram as hydrocortisone.
Does this convert topical, inhaled, or anabolic steroids?
No. Only the named systemic glucocorticoids are in the table. Inhaled, topical, intra-articular, and anabolic agents such as testosterone are not recognized corticosteroids here and are rejected.
What does a steroid dose equivalent leave out?
It matches anti-inflammatory effect only. Mineralocorticoid potency, half-life, protein binding and the body's conversion of prednisone to prednisolone are not in the ratio, so treat the figure as a starting point, not a prescription.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/health/steroid \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"drug":"prednisone","dose":20,"target":"hydrocortisone"}'const res = await fetch("https://api.kit.forhosting.com/health/steroid", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"drug": "prednisone",
"dose": 20,
"target": "hydrocortisone"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/steroid",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"drug": "prednisone",
"dose": 20,
"target": "hydrocortisone"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/steroid", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"drug":"prednisone","dose":20,"target":"hydrocortisone"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"drug":"prednisone","dose":20,"target":"hydrocortisone"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/steroid", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"drug": "prednisone",
"dose": 20,
"target": "hydrocortisone"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.steroid",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
Unrecognized names—including anabolic steroids and ordinary analgesics—fail with invalid_input instead of a guessed conversion.
How to send a conversion and read the milligram result
If drug or target is missing, empty, or not a recognized corticosteroid, the task fails and is not billed—anabolic agents such as testosterone, and ordinary analgesics such as ibuprofen, are rejected rather than silently mapped. Example: twenty milligrams of prednisone to hydrocortisone yields eighty milligrams, because the factor is twenty divided by five. The same twenty milligrams of prednisone to dexamethasone yields zero point seven five milligrams. POST three fields. The first is drug: the source systemic corticosteroid, as a canonical name from the closed set betamethasone, cortisone, deflazacort, dexamethasone, hydrocortisone, methylprednisolone, paramethasone, prednisolone, prednisone, and triamcinolone. Matching is case-insensitive; common aliases such as decadron for dexamethasone or medrol for methylprednisolone are accepted and echoed back as the canonical key. Aliases steroid, from, source, drug_name, and corticosteroid map to the same field. The second field is dose: a finite milligram amount strictly greater than zero. Aliases dose_mg, amount, and value are accepted. Zero, negative, missing, and non-numeric doses fail with invalid_input naming dose. The third field is target: the corticosteroid you want milligrams of, from the same recognized set. Aliases to, target_drug, and target_steroid map here. On success the body returns drug and target as canonical names, dose_mg as cleaned input, equivalent_dose_mg as the converted milligram amount, unit as mg, the two table rows source_equivalent_mg and target_equivalent_mg, conversion_factor equal to target_equivalent_mg divided by source_equivalent_mg, and a formula string restating the ratio and the hydrocortisone twenty milligram anchor. There is no network hop and no randomness, so free browser checks match the API byte for byte.
Where equivalent-dose conversions belong—and where they do not
If the source name is not in the recognized systemic list, the honest result is invalid_input, not a guessed milligram amount. Keep requests small, pin equivalent_dose_mg in tests, and you get reproducible steroid milligram equivalence for checklists, pharmacy scripts, and education tools without standing up a clinical decision-support stack.
Technical questions
What does a corticosteroid equivalent-dose conversion cost?
The browser tool is free. API requests use prepaid balance at $0.002 per successful call; unrecognized names and other invalid input are not billed.