Money weight calculator
Ten one-dollar bills, five twenties and two hundreds weigh 17 grams, because every US note weighs one gram. List each denomination and how many notes you have, in dollars, euros or pounds sterling, and get the total weight for shipping, insurance or a scale check. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Currency
- USD
- Bill count
- 17
- Amount
- 310
- Weight g
- 17
- Weight (kg)
- 0.017
Cash in a drawer, a till, or a cash-in-transit bag has a physical mass that people rarely compute until they need to ship it, insure it, or answer the classic question of how much a million dollars weighs. This money weight calculator turns a list of bill denominations and counts into a total weight in grams using published standard banknote masses for United States Federal Reserve notes, euro banknotes, and Bank of England polymer notes. Each row is a denomination and a non-negative integer count; the engine looks up the unit mass for that currency and note, multiplies, and sums.
What standard bill weights are and how the gram total is built
Paper money is not an abstract number: every circulating banknote is a physical sheet with a published mass. United States Federal Reserve notes from the Bureau of Engraving and Printing all use the same cotton-linen stock and the same finished size, so every current one-, two-, five-, ten-, twenty-, fifty-, and one-hundred-dollar bill is treated as one gram. That is the figure cash offices, classrooms, and trivia pages use when they ask how much a million dollars weighs in hundreds versus ones.
Euro banknotes are different: the European Central Bank publishes a distinct mass for each denomination because the notes grow in size with face value, from sixty-three hundredths of a gram for a five-euro note to one gram and twelve hundredths for a five-hundred-euro note. Bank of England polymer notes use a compact standard table of seven-tenths, eight-tenths, nine-tenths, and one gram for the five-, ten-, twenty-, and fifty-pound notes.
This calculator looks up the unit mass for the currency and denomination you send, multiplies by the integer count on that row, and sums every row. The identity is simply weight in grams equals the sum of count times unit weight. Face value is reported alongside so you can see how the same cash amount can be light in hundreds or heavy in ones, which is the whole point of pairing denomination with count instead of asking only for a dollar total.
Where a money weight calculator earns its keep
Cash offices and couriers need a gram total before they choose a bag, a scale check, or an insurance line for a sealed envelope of notes. Teachers and quiz writers ask how much one million dollars weighs in hundred-dollar bills versus one-dollar bills, and a deterministic oracle answers without a spreadsheet. Museum shops, casino cages, and charity cash-counts can convert a denomination tally into a shipping or vault figure in grams, kilograms, ounces, or pounds.
Keep lists within ordinary till sizes, pin the rounded gram total in tests, and you get reproducible masses for homework, logistics scripts, and edge workers without standing up a currency-research notebook of your own. Coins, straps, bands, and wrappers are out of scope: this product weighs banknotes only, from standard published unit masses, so a coin-roll or bag-tare intent belongs to a different search and a different tool.
What you can do with it
Cash-office and courier bag checks
Convert a till or sealed-envelope denomination tally into a gram and kilogram total before choosing a bag, a scale check, or an insurance line.
Classroom and trivia answers
Show how much one million dollars weighs in hundreds versus ones with a deterministic table instead of a one-off spreadsheet.
Vault, casino, and charity cash counts
Turn a counted stack of USD, EUR, or GBP notes into grams, ounces, and pounds for shipping, vault logs, or donor reports.
FAQ
How is the weight of a cash amount calculated?
Send a currency and a bills list of denomination plus count. The engine looks up the standard unit mass for that note, multiplies by the integer count, and sums every row.
How much does a United States dollar bill weigh?
Every current Federal Reserve note is treated as 1.00 gram, regardless of face value. Ten one-dollar bills and ten hundred-dollar bills both weigh ten grams; only the face amount changes.
Which currencies and denominations are supported?
USD notes 1, 2, 5, 10, 20, 50, and 100; EUR notes 5, 10, 20, 50, 100, 200, and 500 with ECB masses; GBP polymer notes 5, 10, 20, and 50. Currency defaults to USD. Unknown denominations are rejected.
Do all euro notes weigh the same?
No. The European Central Bank publishes a different mass for each note, because euro notes get larger as their face value rises: from about sixty-three hundredths of a gram for the 5-euro note to just over one gram for the 500-euro note.
How much does a million dollars weigh?
It depends on the notes. Every US note weighs one gram, so the weight in grams equals the number of notes: a million in hundred-dollar bills is a hundred times lighter than the same million in one-dollar bills.
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/life/money-weight \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"bills":[{"denomination":1,"count":10},{"denomination":20,"count":5},{"denomination":100,"count":2}]}'const res = await fetch("https://api.kit.forhosting.com/life/money-weight", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"bills": [
{
"denomination": 1,
"count": 10
},
{
"denomination": 20,
"count": 5
},
{
"denomination": 100,
"count": 2
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/money-weight",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"bills": [
{
"denomination": 1,
"count": 10
},
{
"denomination": 20,
"count": 5
},
{
"denomination": 100,
"count": 2
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/money-weight", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"bills":[{"denomination":1,"count":10},{"denomination":20,"count":5},{"denomination":100,"count":2}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"bills":[{"denomination":1,"count":10},{"denomination":20,"count":5},{"denomination":100,"count":2}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/money-weight", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"bills": [
{
"denomination": 1,
"count": 10
},
{
"denomination": 20,
"count": 5
},
{
"denomination": 100,
"count": 2
}
]
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.money_weight",
"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.
Limits
max_items | 200 |
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
Negative counts fail with invalid_input because a stack of notes cannot have a negative quantity.
Input contract, currencies, denominations, and error behaviour
Each bill object needs denomination, a positive integer face value that exists for the chosen currency, and count, a non-negative integer. Duplicate denominations are merged so ten twenties plus five more twenties become fifteen twenties before the mass is applied. Negative counts are the explicit product rule: a cash stack cannot contain minus three twenties, so the task is rejected and is not billed. POST a JSON body with a required bills array of one to two hundred objects and an optional currency that defaults to USD. Aliases notes, notes_list, cash, and stack are accepted for the array; denomination also accepts denom, value, face, and face_value; count accepts qty, quantity, n, and notes. Currency may arrive as USD, EUR, or GBP, with aliases currency_code and ccy, and is matched case-insensitively. A missing list, an empty list, a non-object row, a missing denomination, a denomination that is not a standard note for that currency, a missing count, a fractional count, or a negative count fails with invalid_input naming the field. On success the body returns currency, bill_count, amount as the summed face value, weight_g as the primary mass, plus weight_kg, weight_oz, and weight_lb using exact avoirdupois constants. The breakdown array lists each merged denomination with its count, unit_weight_g, row weight_g, and row amount. source names the table that was used and formula restates the sum so clients can display the method next to the number.
Where a money weight calculator earns its keep
Because the implementation is tier A analytic arithmetic with no model tokens and no outbound network, every successful call costs the published $0.002 base price, and validation failures never consume balance.
Technical questions
What happens if a bill count is negative?
The task fails with invalid_input. A cash stack cannot contain a negative number of notes, so the request is rejected and is not billed.
What does the money weight calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.