Convert shoe size between US, UK, and EU regions
Shoe labels vary by market, and the same physical shoe can carry a different number in the United States, the United Kingdom, and Europe.
Run — free
This converter takes one adult size, its regional system, and a men’s or women’s sizing category, then returns the corresponding values from a fixed comparison table. It is useful when shopping internationally, preparing product listings, or answering fit questions without doing mental arithmetic. The result includes all three regional labels, while invalid regions and sizes outside the supported table produce clear input errors.
Choose the source region and category carefully
Start with the number printed on the shoe or on the retailer’s size selector, then identify the system that number belongs to. Select US for a United States size, UK for a British size, or EU for a continental European size. Region matters because a bare number such as nine does not describe one universal length: a US men’s nine, a UK men’s nine, and an EU size interpreted as nine are completely different inputs. You must also choose men or women because standard adult retail tables use different US and UK sequences for those categories. Enter the numeric size exactly as listed, including a half size when present. The converter accepts region letters without regard to capitalization, so us and US resolve identically, but it deliberately rejects names outside the three supported systems. This strict behavior prevents a misspelling or an unsupported regional convention from silently producing a plausible-looking but wrong answer. The capability covers adult table entries only; it does not infer children’s sizing, width, age group, or a brand’s special fit. If a label is ambiguous, confirm its region and category on the original product page before converting it. That small check is more reliable than guessing from the magnitude of the number, especially on imported footwear whose box may display several labels together.
Understand how the table lookup works
The converter uses fixed comparison rows rather than estimating a result with a continuous formula. Each row contains one US value, one UK value, and one EU value that are commonly presented as adult retail equivalents for the selected category. The input region chooses which column is searched. Once an exact numeric match is found, the complete row is returned, including the original value and the two regional alternatives. For example, a men’s US size nine selects the row containing US 9, UK 8, and EU 42.5. Looking up that returned UK or EU value with the same category leads back to the same row, which makes the mapping deterministic and easy to audit. Exact lookup also explains why an unsupported quarter size or an out-of-range number is rejected instead of rounded automatically. Automatic rounding could move a customer toward a smaller or larger shoe without their knowledge. If your source shop uses a size that is absent from the table, consult that brand’s chart rather than changing the number simply to make it pass. Responses have a compact structure: input repeats the normalized size, uppercase region, and lowercase category, while sizes contains the US, UK, and EU equivalents. Successful API requests are priced at $0.002. There is no network call, changing external database, or random choice, so identical inputs always return identical JSON.
Treat conversions as a shopping reference, not a fit guarantee
Regional conversion tables are a practical starting point, but a converted label cannot guarantee comfort. Manufacturers may build footwear on different lasts, and two models carrying the same nominal size can differ in toe shape, internal volume, lining thickness, or intended sock weight. Width systems also vary independently of length and are not converted here. Use the output to locate the likely regional label, then compare it with the manufacturer’s own chart when one is available. For online shopping, measure both feet late in the day, follow the seller’s measuring instructions, and use the larger measurement if the feet differ. For marketplace data, preserve the original size and region alongside the converted values so buyers can see which label came from the product and which values were added as references. Customer-support teams should ask whether the reported number is men’s or women’s sizing before running a conversion, because selecting the wrong category can shift the suggested result. Returns data can also reveal when a particular model runs small or large, but that model-specific adjustment belongs in product guidance rather than in a general regional table. This capability is best suited to ordinary adult sizes found in its published rows. It intentionally reports an input error for an unknown region, an unknown category, a nonnumeric size, or a numeric value absent from the chosen table, making uncertain cases visible instead of disguising them as precise conversions.
What you can do with it
International shoe shopping
Turn a familiar local size into the labels used by an overseas retailer before checking the brand’s own fit chart.
Marketplace product listings
Add consistent US, UK, and EU reference values to adult footwear listings while retaining the original regional label.
Customer support
Help a shopper compare a known size with another market’s selector and clearly flag unsupported or ambiguous inputs.
FAQ
Which regional systems are supported?
The converter supports US, UK, and EU adult shoe-size systems. Any other region returns an invalid input error.
Why is gender required?
Men’s and women’s adult conversion rows differ, particularly in US sizing, so the category is required to select the correct table.
Does it support half sizes?
Yes, where a half size is explicitly present in the selected standard table. Unsupported values are not rounded automatically.
Does the result guarantee that a shoe will fit?
No. It converts nominal regional labels; brand construction, width, last shape, and model-specific fit can still differ.
How much does an API conversion cost?
Each successful API request costs $0.002. Invalid input is returned as an error rather than as a guessed conversion.
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/misc2/shoe-size-convert \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"size":9,"region":"US","gender":"men"}'const res = await fetch("https://api.kit.forhosting.com/misc2/shoe-size-convert", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"size": 9,
"region": "US",
"gender": "men"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/misc2/shoe-size-convert",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"size": 9,
"region": "US",
"gender": "men"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/misc2/shoe-size-convert", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"size":9,"region":"US","gender":"men"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"size":9,"region":"US","gender":"men"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/misc2/shoe-size-convert", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"size": 9,
"region": "US",
"gender": "men"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "misc2.shoe_size_convert",
"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. |