Scale conversion calculator
Turn a real-world length into its size on a 1:N drawing or model: a 10000 mm wall becomes 200 mm on a 1:50 plan, the same division used for HO trains, die-cast cars and building plans. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Dimension
- 10,000
- Scale ratio
- 50
- Scale notation
- 1:50
- Scale factor
- 0.02
- Scaled length
- 200
Scale conversion takes a real-world dimension and a scale ratio written as 1:N, such as 1:50, and returns the matching length on the drawing, model, or miniature. Architects, model railroaders, tabletop gamers, and product designers all face the same arithmetic: divide the true size by N so a wall, a coach, or a vehicle fits the chosen scale. This calculator performs that division after checking that the dimension is not negative and that the scale ratio is a positive finite number. Zero real length is allowed and yields a scaled length of zero.
What 1:N scale conversion does to a real-world length
A representative fraction such as 1:50 states that one unit on the drawing, the printed sheet, or the physical model stands for fifty of the same units in the real world. Convert a real-world dimension to a scaled length by dividing that true size by the scale ratio N. A wall ten thousand millimetres long on a 1:50 plan therefore occupies two hundred millimetres on paper, because ten thousand divided by fifty is two hundred.
The same identity is used by HO railroaders at 1:87, by tabletop wargamers at 1:56, by die-cast collectors at 1:18 or 1:24, and by architects who still dimension metric plans at 1:100 or 1:200. Units cancel: millimetres stay millimetres, inches stay inches, so you must feed the real length already expressed in the unit you want back. This calculator does not convert millimetres to inches; it only applies the 1:N reduction.
Zero real length is a valid empty feature and yields a scaled length of zero. The scale ratio must be a positive finite number: fifty means 1:50, eighty-seven means 1:87. A zero, negative, or non-finite ratio would invert or explode the result, so those cases fail before any length is returned.
The returned scale factor is simply one divided by N, which is the multiplier you would apply in a spreadsheet cell, and the printable scale notation restates the ratio as 1:N so a title block can copy it without reformatting.
Where a scale conversion calculator earns its keep
People who type scale conversion into a search box already know they want the model or drawing length from a real size and a 1:N ratio, not a unit converter and not a web-map zoom calculator.
A publisher ranking for that query is serving architects who must fit a facade onto an A3 sheet at 1:100, model-railroad builders who need HO or N lengths from prototype millimetres, wargamers reducing vehicles to twenty-eight millimetre or 1:56 tables, and industrial designers checking whether a 1:5 appearance model will still fit a shipping crate. Failed validation does not consume balance.
Pair this capability with a separate unit converter when you must change millimetres into inches first; keep this surface focused on the scaled length that people mean when they search scale conversion.
What you can do with it
Architectural plans at 1:50 or 1:100
Enter a facade or room length and the sheet ratio N to publish the drawing millimetres that belong on an A3 or A1 title block, without rebuilding the division in a CAD dimension style.
Model railroad and tabletop kit lengths
Reduce a prototype millimetre dimension at HO 1:87, N 1:160, or wargame 1:56 and compare the scaled length against a kit or 3D-print envelope.
FAQ
How do I convert a real-world length to a 1:50 scale?
Scaled length equals the real dimension divided by N.
What happens if the dimension is negative or the scale ratio is not positive?
A negative dimension or a scale ratio that is not a positive finite number is rejected and is not billed.
Does this convert millimetres to inches or read a CAD file?
Feed both values in the same linear unit. Unit conversion and CAD import are separate identities.
Which scale ratios are most common?
HO model railways use 1:87, tabletop wargames often 1:56, die-cast collectors 1:18 or 1:24, and architects 1:100 or 1:200. Enter the second number of the ratio and the real length.
How do I enter the scale ratio?
Type only the second number of the ratio, such as 50 for 1:50 or 87 for HO. It must be a positive number; the result is the real length divided by it, in the same unit you used.
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/scale-conversion \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"dimension":10000,"scale_ratio":50}'const res = await fetch("https://api.kit.forhosting.com/conv/scale-conversion", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"dimension": 10000,
"scale_ratio": 50
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/conv/scale-conversion",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"dimension": 10000,
"scale_ratio": 50
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/conv/scale-conversion", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"dimension":10000,"scale_ratio":50}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"dimension":10000,"scale_ratio":50}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/conv/scale-conversion", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"dimension": 10000,
"scale_ratio": 50
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "conv.scale_conversion",
"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
A zero, negative, infinite, or missing ratio is rejected as invalid_input rather than producing an infinite or inverted model. Successful calls are billed at $0.002; invalid input is not charged.
What 1:N scale conversion does to a real-world length
A negative dimension is not a length in this model and is rejected as invalid_input rather than being treated as a direction.
Input contract, response shape, and validation
POST a JSON body with two required finite numbers. dimension is the real-world length in any consistent linear unit and must be greater than or equal to zero; aliases length, real_length, real, size, and value are accepted so CAD exports and tape-measure logs do not need a rename step. scale_ratio is the positive N in the representative fraction 1:N—send 50 for 1:50, not 0.02 and not a punctuated 1:50 string—and must be a finite number strictly greater than zero; aliases scale, ratio, n, scale_n, and denominator are accepted. Absolute values must stay within one trillion so the quotient remains finite in IEEE double precision on the Worker and in the browser. Missing fields, empty strings, non-finite values, a negative dimension, a non-positive scale ratio, or a value outside those limits fail with invalid_input naming the field and are not billed. On success the body echoes rounded dimension and scale_ratio, returns scale_notation as the printable 1:N string, scale_factor as one divided by N, scaled_length as the real length divided by N, and a formula string you can print next to the numbers. Example: ten thousand at fifty yields scaled_length two hundred and scale_notation 1:50. Prefer JSON numbers over unit-suffixed strings; unit marks and thousands separators are not parsed. Pricing for a successful item is a flat $0.002.
Where a scale conversion calculator earns its keep
Classroom technical-drawing courses assign representative-fraction worksheets and need an oracle that marks a negative wall length as invalid_input. Automation pipelines call the same API contract at $0.002 per successful item without standing up a CAD kernel. Keep requests small, pin the rounded scaled_length in tests, and you get reproducible 1:N arithmetic for homework, kit-bash spreadsheets, and lightweight drawing webhooks without standing up a full CAD translator.
Integration use cases
Homework and representative-fraction oracles
Students divide a real length by N by hand and compare against a deterministic scaled_length that rejects a negative dimension as invalid_input.
Technical questions
Is scale_ratio the N in 1:N or the fraction 1/N?
The N in 1:N. Use 50 for 1:50, not 0.02. The response also returns scale_factor as one divided by N and scale_notation as the printable 1:N string.
What does the scale conversion calculator cost?
The browser tool is free. API requests use prepaid balance at $0.002 per successful call; invalid input is not billed.