Miles to km converter
10 miles are exactly 16.09344 km, because one international mile is 1.609344 km to the last digit. Enter a route, a training distance or a haul in miles and get the kilometer figure metric itineraries, pace charts and manifests expect. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Miles
- 10
- Result
- 16.09344
- Km
- 16.09344
- Factor
- 1.609344
- Factor label
- 1 mi = 1.609344 km (exact)
Converting miles to kilometers is one of the most common distance unit tasks when road signs, training plans, travel itineraries, and logistics manifests cross the imperial–metric boundary. This calculator multiplies your distance by the exact international factor of 1.609344 kilometers per statute mile—the same definition used in science, surveying, and education since the 1959 yard and pound agreement fixed one mile at 1,609.344 meters.
Why one mile is exactly 1.609344 kilometers
The international statute mile is not a rounded estimate. Since the 1959 yard and pound agreement, one foot is exactly 0.3048 meters, and a mile holds five thousand two hundred eighty of those feet, which makes one mile exactly 1609.344 meters, or 1.609344 kilometers. That is the factor taught in schools and built into standards, mapping defaults and transport rules around the world. To convert, multiply the distance in miles by 1.609344: 10 miles become 16.09344 kilometers, and 1 mile is 1.609344 kilometers on the nose.
When you need it and what to watch for
Road signs, training plans, travel itineraries and shipping manifests switch between miles and kilometers all the time. Travelers turn US or UK route distances into metric itineraries and fuel estimates, runners move training miles onto metric race calendars and pace charts, and fleet managers, students and teachers check their answers against the exact factor. Keep two things in mind: nautical miles and the old survey mile are different lengths that this page does not use, and a negative value is accepted only as a signed offset or difference. Zero converts to zero.
How the exact miles-to-kilometers factor works
The international statute mile is defined so that one mile equals exactly 1.609344 kilometers, or equivalently 1,609.344 meters. That definition follows from five thousand two hundred eighty feet per mile and the exact foot of 0.3048 meters, and it is the factor taught in schools and hard-coded in standards bodies, mapping defaults, and transportation regulations worldwide. To convert, take your distance in miles and multiply by 1.609344; the product is the distance in kilometers.
For example, ten miles equals 16.09344 kilometers, and one mile equals 1.609344 kilometers on the nose. Negative values are allowed when you model signed deltas or offsets; zero converts to zero.
What you can do with it
Travel and road trip planning
Travelers and mapping tools convert US or UK route distances from miles to kilometers for metric itineraries, fuel estimates, and international driving guides.
Fitness, running, and race plans
Athletes and coaches convert training miles to kilometers for metric race calendars, pace charts, and wearable apps that store distances in SI units.
Logistics and homework checks
Shippers, fleet managers, students, and teachers verify miles-to-km answers with the exact factor, see a readable formula line, and get a clear error on non-numeric input.
FAQ
What conversion factor does this calculator use?
There is no approximate, survey-mile, or nautical-mile mode.
What happens if I send non-numeric input?
Missing fields, NaN, Infinity, and non-numeric strings are rejected and not charged.
Is the miles to km converter free?
The browser tool runs free on your device.
How many kilometers is 10 miles?
It is 16.09344 km. Multiply by 1.609344, the exact number of kilometers in one international mile, so 1 mile is 1.609344 km on the nose.
Can I convert a negative distance?
Yes. Negative values are accepted for signed offsets or differences, and zero gives zero. The same exact factor applies, so the sign simply carries through.
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/miles-to-km \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"miles":10}'const res = await fetch("https://api.kit.forhosting.com/conv/miles-to-km", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"miles": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/conv/miles-to-km",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"miles": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/conv/miles-to-km", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"miles":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"miles":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/conv/miles-to-km", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"miles": 10
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "conv.miles_to_km",
"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
Results are deterministic and instant: the free browser tool runs entirely on your device, and the prepaid API returns the same JSON contract for apps, spreadsheets, and automation at $0.002 per successful item. Invalid or missing input fails clearly with invalid_input and is not charged, so you can validate forms without burning balance.
How the exact miles-to-kilometers factor works
This capability accepts a single finite numeric field named miles (aliases value, mi, mile, and distance) as a JSON number or a plain numeric string, including scientific notation when you need very large or very small distances. Non-numeric strings, empty bodies, NaN, and Infinity raise invalid_input with a message that names the field, so client validation can surface the same error the API returns. There is no network call, no approximate lookup table, and no nautical-mile or survey-mile option: every successful response uses the same exact factor and the method label exact_international_mile so downstream code can trust the contract.
Reading the response fields and using the formula string
The formula field restates the arithmetic as a single readable line—for example ten mi times 1.609344 equals 16.09344 km—so user interfaces can show the working without rebuilding the expression. On success the JSON echoes the parsed miles value, returns km and the synonymous result field with the converted distance, and includes factor set to 1.609344 plus a short factor_label that states the exact identity one mile equals 1.609344 kilometers. Units are also named explicitly via from_unit mi and to_unit km for multi-converter dashboards that switch labels dynamically. Use km or result when you only need the number for a database column; use formula when tutoring software, race-plan helpers, or shipping generators should display the calculation; use factor when you cache the constant for offline batch jobs that must match this endpoint bit-for-bit. Missing miles, pure text such as ten miles spelled out without a number, and infinite magnitudes all fail with invalid_input and never consume prepaid balance after the engine rejects the request.
API usage, pricing, workflows, and practical limits
Send a JSON body with the required miles field, or any documented alias, and call either the free in-browser miles-to-km converter for one-off checks or the prepaid KIT API when fitness apps, travel platforms, logistics middleware, classroom tools, or mobile apps need a stable machine-readable contract. Successful conversions bill as one item at $0.002; validation failures are free. Pair this endpoint with your own reverse conversion or multi-unit distance tools when a pipeline must round-trip imperial and metric labels, but keep this landing focused on the high-volume search intent miles to km. Magnitudes above one quadrillion miles are rejected as out of range so Worker isolates stay safe.
Technical questions
How do I convert miles to kilometers?
Send JSON with miles set to a finite number (for example miles: 10). The response returns km and result equal to miles × 1.609344, plus a formula string.
Can I use aliases instead of the field name miles?
Yes. value, mi, mile, and distance are accepted aliases for the same required distance field.