Radiation exposure converter
Turn survey-meter readings into SI units and back: 1 roentgen is exactly 0.000258 C/kg and 1 milliroentgen is a thousandth of a roentgen, so logs and quizzes show both units without a factor table. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Value
- 1
- Source unit
- R
- Target unit
- C/kg
- Result
- 0.000258
- From label
- roentgen
- To label
- coulomb per kilogram
- C per kg
- 0.000258
A radiation exposure converter turns a quantity written in one exposure unit into another without hunting conversion tables or rewriting spreadsheet formulas.
Supported units and how the conversion is computed
The converter accepts three radiation exposure families under stable canonical codes: C/kg for the coulomb per kilogram, the SI unit of exposure; R for the roentgen; and mR for the milliroentgen equal to one thousandth of a roentgen. Factors follow the ICRU and SI definition: one coulomb per kilogram is one C/kg, one roentgen is exactly two point five eight times ten to the minus four coulombs per kilogram, and one milliroentgen is two point five eight times ten to the minus seven coulombs per kilogram.
Because the intermediate is always C/kg, converting A to B and B to A is consistent up to the published rounding of twelve decimal places, and there is no pairwise matrix that can drift out of sync. Absorbed dose in grays or rads, equivalent dose in sieverts or rems, and activity in becquerels or curies are intentionally out of scope so health-physics, survey-meter, and classroom users get predictable results under one clear exposure convention rather than a mixed dose catalog.
Where exposure readings get converted
Use the free in-browser radiation exposure converter when you need a quick roentgen-to-C/kg, milliroentgen-to-roentgen, or C/kg-to-mR check while reading a survey-meter manual, radiation-protection procedure, health-physics homework problem, or instrument datasheet. Open the page, enter the number and units, and copy the result without installing a spreadsheet, a unit library, or a desktop calculator pack. Source inputs follow the same retention rules as other KIT parse items, and results are safe to cache because the algorithm is fully deterministic.
Authors shipping mobile apps or chatbots can map the result and formula fields directly into cards that show both the number and the conversion path students, RPTs, and engineers expect on paper.
What you can do with it
Survey meters and field instruments
Convert roentgen and milliroentgen readings to SI coulombs per kilogram so logs and exports match modern health-physics reporting without hand-written factor tables.
Radiation-protection training
Translate R, mR, and C/kg in quizzes and worked examples so students see both customary survey units and SI exposure on the same deterministic contract.
FAQ
Which radiation exposure units does this converter support?
Coulombs per kilogram (C/kg), roentgens (R), and milliroentgens (mR).
What is the exact factor between roentgen and C/kg?
By definition, 1 R equals exactly 2.58×10⁻⁴ C/kg. One milliroentgen is 0.001 R, or 2.58×10⁻⁷ C/kg. The converter uses those fixed factors through a C/kg intermediate.
What happens if I send an unknown unit?
The message names the field and lists supported units (C/kg, R, mR). Validation failures are not charged.
Is the radiation exposure converter free?
The browser tool runs free on your device.
Can it convert roentgen to gray or sievert?
No. It covers exposure only: coulombs per kilogram, roentgen and milliroentgen. Absorbed dose in grays or rads, equivalent dose in sieverts or rems and activity in becquerels or curies are different quantities.
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/radiation-exposure \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":1,"from":"R","to":"C/kg"}'const res = await fetch("https://api.kit.forhosting.com/conv/radiation-exposure", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": 1,
"from": "R",
"to": "C/kg"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/conv/radiation-exposure",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": 1,
"from": "R",
"to": "C/kg"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/conv/radiation-exposure", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":1,"from":"R","to":"C/kg"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":1,"from":"R","to":"C/kg"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/conv/radiation-exposure", 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": "R",
"to": "C/kg"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "conv.radiation_exposure",
"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
The browser tool runs free on your device; the prepaid API charges $0.002 per successful item when pipelines need the same contract from servers and automation.
Supported units and how the conversion is computed
Friendly aliases such as coulomb per kilogram, coulombs per kilogram, Ckg, C_kg, roentgen, roentgens, milliroentgen, milliroentgens, milli-roentgen, and milli roentgen are normalized case-insensitively so forms and APIs can pass either short codes or full names. Every request multiplies the input value by the exact coulombs-per-kilogram factor for the source, then divides by the coulombs-per-kilogram factor for the target.
Request shape, response fields, and unknown-unit errors
The error message names the bad field and lists the supported set so clients can correct forms without guessing. Negative values are allowed when you need signed exposure deltas in engineering pipelines; zero converts cleanly to zero in every target unit. Send a JSON body with three required fields: value as a finite number, from as the source unit string, and to as the target unit string. Aliases amount and quantity are accepted for value; unit_from and source for from; unit_to and target for to. On success the response echoes the canonical from and to codes, human-readable from_label and to_label strings, the converted result, the intermediate c_per_kg quantity, the dimensionless factor from source to target, a short formula line suitable for UI display, the method tag radiation_exposure_si, and the fixed list of units_supported. Missing value, non-finite numbers such as NaN or Infinity, missing unit fields, and any token that does not map to a supported unit fail with invalid_input and are not charged after the engine rejects the request. Identical inputs always yield identical JSON because the path is pure arithmetic with no randomness, no remote lookup, and no dependence on the wall clock, which makes the endpoint safe to pin in continuous-integration goldens and SDK contract tests. Micro-scale milliroentgen results and large coulomb-per-kilogram results share the same code path, so extreme magnitude pairs remain well-defined as long as IEEE double precision can represent the intermediate product.
Browser use, API pricing, and everyday workflows
Switch to the prepaid API when a dosimetry logbook, radiation-safety training platform, LIMS export normalizer, classroom checker, or field-instrument pipeline must convert exposure at scale under a stable KIT contract at $0.002 per successful item; validation failures that raise invalid_input do not consume balance after rejection. Pair this endpoint with other unit converters when a product pipeline needs several measure families, or call it alone when search traffic is specifically for radiation exposure conversion—coulombs per kilogram, roentgens, and milliroentgens—rather than a general unit switchboard.
Integration use cases
LIMS and lab pipelines
Normalize exposure units from mixed instrument vendors with a prepaid API, clear invalid_input on unknown names, and goldens that pin exact ICRU factors.
Technical questions
How do I convert 1 roentgen to coulombs per kilogram?
Send JSON with value: 1, from: "R", to: "C/kg". The response result field is 0.000258, plus a c_per_kg intermediate and a readable formula.