Convert equivalent dose
One sievert equals 100 rem, and one millisievert is 1000 microsieverts. Convert equivalent dose between Sv, mSv, µSv and rem so old badge reports, monitor logs and imaging notes share one scale, without a slip by a factor of a thousand. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Value
- 1
- From
- Sv
- To
- Rem
- Value
- 100
- Sievert
- 1
Radiation protection reports rarely stay in one unit. Regulatory limits may be written in millisieverts, older US and military documentation still quotes rem, environmental monitors often log microsieverts, and SI lab work prefers the sievert itself. This equivalent dose converter accepts a numeric value plus a source unit and a target unit, then returns the converted dose through one deterministic path based on sieverts.
Why equivalent dose units still mix in real workflows
Equivalent dose (symbol H) weights absorbed dose by radiation type so risk can be compared across exposures. In practice the numbers land in different scales: annual public limits are often 1 mSv, occupational dose records may still be summarized in rem, airport or medical screening notes sometimes cite microsieverts, and textbook SI problems stay in sieverts.
Teams that combine those sources frequently paste a one-line multiplier into a spreadsheet or a helper function, then discover months later that one service treated 1 Sv as 100 rem while another used a rounded factor, or that someone converted millisieverts as if they were microsieverts and understated a reading by a thousand. Those mistakes are not academic: an overstated dose can trigger false alarms, and an understated one can hide a real exposure trend.
Units covered and how the conversion is defined
The converter accepts the four units people actually type for equivalent dose work: Sv (sievert), mSv (millisievert), µSv also accepted as uSv (microsievert), and rem. Every conversion goes through sieverts as the SI base: the input is multiplied by a fixed factor to Sv, then divided by the factor for the target unit. Optional full names such as sievert or millisievert are accepted for convenience.
The tool does not convert absorbed dose (gray), activity (becquerel), or exposure (roentgen); it is only for equivalent dose between the listed units.
What you can do with it
Occupational dose record normalization
Map historical badge and dosimeter exports from rem and microsieverts into a single millisievert standard before compliance reports and ALARA dashboards store the values.
Medical physics and imaging logs
Convert protocol and shielding notes between mSv and µSv so exam documentation and regulatory submissions stay comparable without hand calculation.
Training materials and field apps
Show drill scenarios and instrument readings in the unit the local audience expects while keeping a single sievert value in the backend.
FAQ
Which equivalent dose units can I convert?
Sv, mSv, µSv (also written uSv), and rem.
How is the conversion calculated?
The response includes both the converted value and the intermediate sievert figure.
Is rem still used?
Yes in some US, military, and older documentation. This tool keeps rem as a first-class unit so those records convert without ad-hoc spreadsheets.
What happens if I send an unknown unit?
No silent fallback and no charge for the failed call.
Does it convert gray, becquerel or roentgen?
No. It only converts equivalent dose between sieverts, millisieverts, microsieverts and rem. Absorbed dose in gray, activity in becquerel and exposure in roentgen are different quantities and need their own tools.
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/conv/equivalent-dose \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":1,"from":"Sv","to":"rem"}'const res = await fetch("https://api.kit.forhosting.com/conv/equivalent-dose", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": 1,
"from": "Sv",
"to": "rem"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/conv/equivalent-dose",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": 1,
"from": "Sv",
"to": "rem"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/conv/equivalent-dose", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":1,"from":"Sv","to":"rem"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":1,"from":"Sv","to":"rem"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/conv/equivalent-dose", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"value": 1,
"from": "Sv",
"to": "rem"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "conv.equivalent_dose",
"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
There is no scraped lookup table, no model that can drift, and the same result whether you use the free browser tool or call the API at $0.002 per successful request.
Why equivalent dose units still mix in real workflows
Putting conversion behind a single tested endpoint means every report generator, badge export normalizer, and field form applies the same factors.
Units covered and how the conversion is defined
Factors are exact conventional constants—1 mSv = 0.001 Sv, 1 µSv = 0.000001 Sv, and 1 rem = 0.01 Sv (equivalently 1 Sv = 100 rem). Case is ignored on unit strings, so MSV, mSv, and msv resolve the same way, and the response echoes a canonical spelling for each unit. Unknown unit names fail fast with an invalid_input error that names the bad field and lists the supported set, so a typo never becomes a silently wrong number charged to your balance.
Where to run it: browser tool or paid API calls
For a one-off check—reading an older badge report in rem and wanting millisieverts, or translating a monitor log from microsieverts to sieverts—use the free in-browser tool. Responses are deterministic: the same inputs always yield the same outputs, with floating-point noise cleaned to conversion-grade precision. The same pure function powers the API path when you need to normalize mixed unit columns, product safety datasheets, or batch imports without embedding conversion tables in every service. Each successful API call costs $0.002; failed validation is not billed, so probing an unknown unit or forgetting the value field does not drain prepaid balance. Drop the call into a warehouse ETL step that standardizes occupational dose history, a medical physics pipeline that stores everything in mSv while accepting rem from legacy equipment, or a public-facing calculator that still displays rem for users who expect that scale.
Technical questions
How much does the API cost?
$0.002 per successful request. The browser tool is free. Invalid input is not charged.