Mass converter
Enter a weight once and see it in seven units: 1 kilogram is 2.20462262185 pounds, 35.2739619496 ounces and 1000 grams. Kilograms, grams, milligrams, pounds, ounces, stones and tonnes all pass through the exact kilogram. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Mass magnitude to convert
- 1
- Input mass unit
- kg
- Output mass unit
- lb
- Result
- 2.2046226219
- Kilograms
- 1
- Grams
- 1,000
- Milligrams
- 1,000,000
Mass conversion between metric and imperial units is a daily chore in shipping labels, kitchen scales, lab notebooks, gym tracking, and international product specs. People search for a mass converter when they need kilograms next to pounds, stones next to kilograms, or milligrams next to grams, not a general multi-unit toolbox that also handles length and temperature. This capability accepts one finite amount plus from and to unit labels among kilograms, grams, milligrams, pounds, ounces, stones, and metric tonnes, bridges every conversion through the kilogram so results stay consistent, and returns the target value together with the same mass expressed in all seven units. Unrecognized unit names are rejected with a clear validation error instead of silently guessing a nearby symbol.
How the mass converter maps metric and imperial units through kilograms
Start from the kilogram as the SI base unit of mass and express every other unit as an exact fixed factor into kilograms. One gram is one thousandth of a kilogram and one milligram is one millionth of a kilogram, so metric micro and milli steps are pure powers of ten.
The international avoirdupois pound is defined as exactly zero point four five three five nine two three seven kilograms; one ounce is one sixteenth of that pound, and one stone is fourteen pounds, which is the traditional British body-weight step. One metric tonne equals one thousand kilograms, also called a megagram in SI language. This calculator never mixes those paths ad hoc.
It multiplies the input amount by the factor of the source unit to reach kilograms, then divides by the factor of the target unit to produce the result. Because every path shares the same intermediate kilogram, converting one kilogram to pounds and then back, or comparing stones to kilograms and ounces, stays numerically consistent within ordinary floating-point precision.
The tool does not convert United States short tons, United Kingdom long tons, troy ounces, carats, or slugs, does not convert force units such as newtons into mass, and does not fetch live commodity prices. It answers only the algebraic mass unit conversion people mean when they type mass converter into a search bar and expect kilograms, grams, pounds, ounces, stones, tonnes, and milligrams.
What you enter and what you get back
Send three fields: amount, a finite number for the mass magnitude; from, a string naming the input unit; and to, a string naming the output unit. Both unit fields accept short keys and everyday words in any common casing, including kilogram or kilograms or kg, gram or g, milligram or mg, pound or pounds or lb or lbs, ounce or oz, stone or stones or st, and tonne or tonnes or t or metric ton.
When a unit string is unknown the error message includes Unrecognized unit and lists the seven supported families so clients can fix the label rather than guessing. Classic checks include one kilogram becoming about two point two zero four six two pounds, one pound becoming sixteen ounces, fourteen pounds becoming one stone, one thousand kilograms becoming one tonne, and one gram becoming one thousand milligrams.
Where dedicated mass conversion shows up in real work
Secondary-school science and home-economics courses constantly assign problems that give a mass on one scale and ask for another, often mixing kitchen-style ounces with lab-style grams and body-weight stones in the same worksheet. E-commerce and logistics teams normalize product weight fields between kilograms for international carriers and pounds for domestic United States labels before rate shopping.
Clinical and sports apps display body mass in kilograms in most of the world and in stones and pounds in parts of the United Kingdom, so a single conversion pass keeps storage metric while the UI localizes. Laboratory and pharmacy workflows step between milligrams and grams for reagents and dose prep without reimplementing powers of ten in every spreadsheet.
If you later need general multi-category unit conversion, temperature scales, length, or density from mass and volume, treat those as separate search intents and landings rather than overloading this mass converter page.
What you can do with it
Shipping and product weight labels
Normalize catalog and parcel weights among kg, g, lb, and oz so international and domestic carrier fields stay consistent.
Body mass in kg, stones, and pounds
Store metric mass and display stones and pounds for UK-facing fitness and clinical UIs from one conversion call.
Lab and kitchen answer keys
Convert textbook and recipe masses among grams, milligrams, ounces, and kilograms with one ground truth for grading and prep.
FAQ
Which mass units does this converter support?
Kilograms (kg), grams (g), milligrams (mg), pounds (lb), ounces (oz), stones (st), and metric tonnes (t).
What happens if I send an unrecognized unit?
The error message includes Unrecognized unit and lists the supported families so you can correct the label.
Is the pound definition exact?
Yes. One international avoirdupois pound is exactly 0.45359237 kilograms. Ounce is lb/16 and stone is 14 lb, so imperial ratios stay exact.
Does it convert short tons or troy ounces?
No. Only the metric tonne (1000 kg) is supported among ton-like units, and only avoirdupois ounces. Short ton, long ton, troy ounce, and carat are different search intents.
What does it cost?
The browser tool is free and runs locally.
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/mass \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"amount":1,"from":"kg","to":"lb"}'const res = await fetch("https://api.kit.forhosting.com/conv/mass", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"amount": 1,
"from": "kg",
"to": "lb"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/conv/mass",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"amount": 1,
"from": "kg",
"to": "lb"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/conv/mass", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"amount":1,"from":"kg","to":"lb"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"amount":1,"from":"kg","to":"lb"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/conv/mass", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"amount": 1,
"from": "kg",
"to": "lb"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "conv.mass",
"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
What you send and what you get back from the API and browser form
Missing fields, non-numeric amount strings, NaN, Infinity, and unrecognized unit labels fail with invalid_input and are not charged. On success the response echoes the cleaned amount, normalized from and to keys, the primary result in the target unit, the same mass as kilograms, grams, milligrams, pounds, ounces, stones, and tonnes with twelve significant digits of stable precision, the SI factors used, the formula string, and method kilogram_bridge. Pricing for successful API calls is the published base of $0.002 per item; validation failures do not consume prepaid balance.
Where dedicated mass conversion shows up in real work
Data pipelines that ingest mixed IoT or ERP payloads with kg, lb, and g tags can call this capability once per reading instead of reimplementing the factors in every service. Because this capability is a pure parse engine, API pricing is the published base of $0.002 per successful item and failed validation does not consume balance.