Paper thickness calculator
A stack of 500 sheets that measures 50 mm means each sheet is 0.1 mm thick, or 100 micrometres. Measure a ream, enter the count and read the caliper in millimetres, micrometres, mils or inches. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Thickness
- 50 mm
- Sheets
- 500
- Unit label
- millimetres (mm) mm
- Sheet thickness
- 0.1
- Sheet thickness mm
- 0.1
- Sheet thickness um
- 100
A single sheet of office paper is usually about one tenth of a millimetre thick, too thin for a kitchen ruler and noisy for one squeeze of a handheld micrometer. Print shops, paper mills, converting houses, and warehouse receiving desks therefore measure a stack of known count and divide: per-sheet thickness equals the measured stack thickness divided by the number of sheets. This paper thickness calculator performs that caliper division, converts the result into millimetres, micrometres, mils, and inches, and rejects any sheet count that is not a positive integer so a blank, zero, or fractional count never looks like a real stack. Enter a positive stack thickness and a positive integer sheet count in millimetres by default, or switch the unit to micrometres, mils, inches, or centimetres.
How paper caliper is measured from a counted stack
Paper thickness, also called caliper in mills and print shops, is the perpendicular distance through one sheet. Office copy paper is often near one tenth of a millimetre, or about one hundred micrometres, which is too thin for a kitchen ruler and noisy for a single squeeze of a handheld micrometer.
The method used on mill floors, in converting houses, and at warehouse receiving docks is therefore to stack a known number of sheets, measure the height of that stack with a ruler, height gauge, or dead-weight micrometer, and divide: sheet thickness equals stack thickness divided by sheet count. This paper thickness calculator implements that exact division and nothing else.
The stack must be even, counted honestly, and left at rest rather than crushed: a five-hundred-sheet ream is the usual office sample, while a twenty-sheet swatch still works if that is what you measured. A missing, zero, negative, or non-finite thickness fails the same way.
What you can do with it
Print shop and prepress caliper check
Measure a counted ream or swatch, divide by sheet count, and confirm the stock matches the caliper on the job ticket before plates or a digital press run.
Warehouse receiving and mill-ticket audit
Receiving desks compare a measured stack against the mill ticket: if five hundred sheets are not the claimed height, the lot is flagged before it enters inventory.
Book-spine and packaging estimators
Estimators convert a measured sample into per-sheet thickness so spine width, carton fill, and wrap allowances scale with page count instead of a guessed caliper.
FAQ
How do I calculate the thickness of one sheet of paper?
Send a positive stack thickness and a positive integer sheet count.
What happens if the sheet count is not a positive integer?
Zero, negative, fractional, missing, and non-numeric sheet counts are rejected because they are not a physical stack.
Which units can I use for the stack measurement?
unit defaults to mm. You may send um (micrometres), mil (thousandths of an inch), in (inches), or cm (centimetres). The result is also converted to mm, um, mil, and in.
Does this convert paper weight or gsm?
No. This tool reports measured caliper only. Pair it with a paper-weight converter when you need grams per square metre or United States basis pounds.
How do I measure a paper stack accurately?
Count the sheets, square the stack and let it rest without squeezing it, then measure its height with a ruler or a gauge. A full ream of 500 sheets is the usual sample, though a smaller counted swatch also works.
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/paper-thickness \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"thickness":50,"sheets":500}'const res = await fetch("https://api.kit.forhosting.com/life/paper-thickness", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"thickness": 50,
"sheets": 500
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/paper-thickness",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"thickness": 50,
"sheets": 500
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/paper-thickness", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"thickness":50,"sheets":500}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"thickness":50,"sheets":500}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/paper-thickness", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"thickness": 50,
"sheets": 500
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.paper_thickness",
"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_thickness | 1000000 |
max_sheets | 10000000 |
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 prepaid API bills $0.002 per successful item when estimators, catalogues, and receiving apps need the same deterministic per-sheet thickness from servers and software development kits.
How paper caliper is measured from a counted stack
Send the measured stack height in field thickness, with aliases stack_thickness, stack, caliper, and value accepted, as a finite positive number or numeric string. Send the integer sheet count in field sheets, with aliases sheet_count, count, and n accepted. Optional unit defaults to millimetres (mm) and also accepts um for micrometres, mil for thousandths of an inch, in for inches, and cm for centimetres; aliases units and thickness_unit are honoured. Any sheet count that is not a positive integer fails with invalid_input, because a zero, negative, or fractional count is not a physical stack. Identical inputs always produce identical JSON: one division plus exact unit bridges, with no network, no random seed, and no wall clock.
Reading sheet_thickness, converted units, and error behaviour
Example: five hundred sheets measuring fifty millimetres yield one tenth of a millimetre per sheet, one hundred micrometres, and about three point nine three seven mils, which matches common eighty-gram copy paper. A two-inch stack of five hundred sheets yields four mils per sheet, typical of heavier text or light cover. On success the response echoes thickness, sheets, and unit after stable rounding to twelve decimal places, plus the primary field sheet_thickness, which is the per-sheet caliper in the same unit you measured. Parallel fields sheet_thickness_mm, sheet_thickness_um, sheet_thickness_mil, and sheet_thickness_in report the same physical thickness in millimetres, micrometres, mils, and inches so a European micrometre ticket and a United States mil chart can share one call. stack_thickness_mm restates the original stack in millimetres for an audit trail. unit_label is a short English gloss of the input unit. formula is always the string sheet_thickness equals thickness divided by sheets, and method is always stack_caliper_divide so clients can branch on a stable token. Use sheet_thickness when you stay in the unit on the ruler; use the converted fields when a mill ticket is in micrometres and a buyer quote is in mils. Missing required fields, non-finite values, a thickness that is not strictly positive, and any sheet count that is not a positive integer all fail with invalid_input and are not billed. This endpoint does not infer grammage from caliper, does not look up a brand, and does not compress the stack for you; it reports the measured average thickness of the sheets you actually counted.
API usage, pricing, print workflows, and practical limits
Use the free in-browser paper thickness calculator when you have a ream, a printed booklet, a notepad, or a sample swatch on the desk and a ruler or caliper in hand. For mixed lots, call once per stack so each stock-keeping unit is judged from its own count and measured height rather than from a blended pile. Magnitude caps on thickness and sheet count keep the isolate arithmetic finite. Send a JSON body with thickness, sheets, and optional unit, or the documented aliases for those fields. Use the prepaid API when a print estimator, packaging configurator, warehouse receiving app, or paper-catalogue page needs a stable contract billed at $0.002 per successful item; validation failures never consume balance. Authors shipping software development kits can map sheet_thickness and the four converted fields into a small table beside the measured stack, the same shape a mill ticket uses when it prints caliper next to grammage. Do not send a fractional sheet count, a zero stack, or a unit outside millimetres, micrometres, mils, inches, and centimetres: those requests fail with invalid_input instead of inventing a thickness.
Technical questions
What does the paper thickness calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful item; invalid input is not billed.