Bed size calculator
A 160 × 200 cm mattress covers 3.2 m² of floor, is labelled queen and sleeps two. Enter width and length in centimetres, metres, inches or feet to get the floor area, the retail size name and how many people it fits. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Width
- 160 cm
- Length
- 200
- Width m
- 1.6 cm
- Length m
- 2
- Area m2
- 3.2
- Size label
- queen
A bed is the largest furniture footprint in most bedrooms, and the floor area it occupies decides whether a nightstand still fits, whether two adults can sleep without a shoulder hanging off the edge, and which sheet and duvet SKU you should buy. This bed size calculator accepts the mattress width and length as positive finite numbers, converts them from centimetres, metres, inches, or feet into metres, and returns the rectangular floor area in square metres together with a retail size label and a sleeping-capacity count. Twin and crib widths are treated as one sleeper; full through king widths as two; oversized slabs as three.
How floor area, the size label, and sleeping capacity are computed
A mattress is a rectangle. Floor area in square metres is the product of the two sides after each side has been converted to metres. The conversion factors are exact SI identities: one centimetre is 0.01 m, one international inch is 0.0254 m, and one international foot is 0.3048 m.
The calculator does not assume you already work in metres — most shop tags are centimetres or inches — so you send the numbers as printed and name the unit. The size label is not a marketing mood: it is a deterministic width band, and for two pairs of well-known siblings a length cut, measured in centimetres after conversion. Widths under 80 cm are crib, one sleeper.
Widths from 110 up to 148 cm are full, two sleepers, covering the US Full 54-inch mattress and the European 140 cm double. Widths from 148 up to 168 cm are queen, which catches the US Queen at 60 inches and the common 160 by 200 cm continental size. Widths from 188 up to 210 cm are king, the US 76-inch King.
Anything 210 cm wide or wider is oversized and counted as three sleepers — Alaskan King and other specialty slabs. Width is the shoulder-to-shoulder dimension; length is head-to-foot. The algorithm never swaps the two, because a square oversized mattress is a real product and silently sorting the sides would mis-label it.
Where a bed size calculator earns its keep
Homeowners planning a bedroom layout need the floor area in square metres so they can check that a nightstand, a chest, and a walkway still fit after the bed goes in, and they need a size label so they can order sheets that actually match the mattress they already own. Furniture retailers and marketplace listings can turn a width and length from a product feed into a consistent area and sleeper count instead of leaving King and 160x200 as free text that never sorts.
Interior designers and staging teams walking a rental or a show home can punch the tape-measure numbers — centimetres in Europe, inches in the United States — and get the same SI area and the same label, which is what a takeoff spreadsheet needs. Hospitality operators replacing mattresses across a floor plate can classify a mixed inventory of 90 centimetre singles and 160 centimetre queens without maintaining a lookup table of their own.
What you can do with it
Bedroom layout before you buy the frame
Turn a 160-by-200 cm mattress into 3.2 m² and a queen label so you can check nightstand clearance and order matching sheets.
Hospitality mattress replacement
Classify a mixed floor of 90 cm singles and 160 cm queens without a homemade lookup table of regional names.
FAQ
How do I calculate the floor area of a bed?
Send positive width and length plus unit (cm, m, in, or ft; cm if omitted).
Which size label will a 160 × 200 cm mattress get?
Queen, with two sleepers. The 148–168 cm width band covers both that continental size and the US Queen (60 × 80 in).
What happens if width or length is zero or negative?
Bed dimensions must be positive finite numbers, and those failures are not billed.
Can I enter the mattress size in inches or feet?
Yes. Choose centimetres, metres, inches or feet; with no unit chosen, centimetres are assumed. A US Queen of 60 × 80 inches gets the same queen label as a 160 × 200 cm mattress and covers just over 3 m².
How many sleepers does each bed size count?
Crib and twin widths count as one sleeper, full through king as two, and any mattress 210 cm wide or more as three, which covers the Alaskan King and other oversized beds.
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/bed-size \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"width":160,"length":200}'const res = await fetch("https://api.kit.forhosting.com/life/bed-size", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"width": 160,
"length": 200
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/bed-size",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"width": 160,
"length": 200
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/bed-size", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"width":160,"length":200}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"width":160,"length":200}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/bed-size", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"width": 160,
"length": 200
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.bed_size",
"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
Zero, negative, missing, or non-finite dimensions fail with invalid_input and are not billed.
How floor area, the size label, and sleeping capacity are computed
Widths from 80 up to 110 cm are twin, or twin_xl when the length is at least 198 cm — that is the US Twin versus Twin XL split. Widths from 168 up to 188 cm are california_king when length is at least 208 cm and super_king otherwise, so a 72 by 84 inch California King and an 180 by 200 cm European super king do not collide.
Input contract, units, response fields, and validation errors
Width is the side-to-side measure of the mattress; length is head to foot. Unit is one of cm, m, in, or ft and defaults to cm when omitted, because that is the unit printed on most mattress labels outside the United States. A formula string restates the conversion factors and the width-band table so a user interface can show the rule next to the number. A typical continental 160 by 200 centimetre mattress yields 3.2 square metres, the queen label, and two sleepers. A US Queen of 60 by 80 inches yields the same queen label with area 3.096768 square metres, which is 1.524 m times 2.032 m. POST a JSON body with two required positive finite numbers, width and length, and an optional unit field. The short aliases w and bed_width are accepted for width, and l, len, and bed_length for length; errors always name the canonical field so the web form can mark the right control. The value is trimmed and folded to lower case; any other token fails with invalid_input naming unit. On success the body echoes the cleaned width, length, and unit, returns width_m and length_m as the SI sides, returns area_m2 as the rectangular floor area, and returns size_label and sleepers as the retail name and the integer sleeping capacity. Missing fields, empty strings, non-numeric tokens, NaN, Infinity, zero, and negative values all fail with invalid_input and a message that names the field; those failures are not billed. Successful API calls use the published base of $0.002 per item; the free browser path runs the same solve function without consuming prepaid balance.
Where a bed size calculator earns its keep
Keep both dimensions positive and finite, name the unit if it is not centimetres, pin area_m2 and size_label in your tests, and you get a reproducible footprint for a renovation spreadsheet, a catalogue feed, a design-studio tablet, or an edge worker without standing up a furniture-layout engine for a two-number rectangle.
Integration use cases
Catalogue and marketplace product feeds
Normalise mixed cm and inch listings into one SI area, one size_label, and a sleeper count that actually sorts.
Technical questions
How is sleeping capacity decided?
By width after conversion to centimetres: crib and twin (including twin_xl) are one sleeper, full through king are two, and oversized (width 210 cm or more) is three.
What does the bed size calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.