Convert bra size between US, UK and EU regions
Bra labels can look deceptively similar across countries, yet the same letters do not always represent the same cup volume.
Run — free
This converter takes one complete size in the US, UK, or EU system and returns the corresponding label in all three regions. It uses a fixed conversion table rather than a rough arithmetic guess, handling both the band number and the different cup progressions. Enter a regional system and a size such as 34DD or 75E to receive consistent, easy-to-compare results.
Enter the label exactly as it appears
Start by selecting the system printed on the garment or stated by the retailer: US, UK, or EU. Then enter the full size with its numeric band first and alphabetic cup second. A space between them is accepted, so both 34DD and 34 DD work. The source system matters because identical-looking cup letters can occupy different positions in regional progressions. For example, the UK sequence introduces doubled letters such as FF and GG, while the EU sequence normally advances through single letters after D. The converter parses the label as one size, validates both parts against the chosen system, and uses their positions in the relevant tables. It does not infer a region from the number because that could make an apparently reasonable but incorrect choice. If a store merely says “international sizing,” check its own chart or product description before converting. Providing the declared source system is the safest way to preserve the intended band and cup volume.
Understand how the conversion is calculated
Band and cup are converted as two coordinated table positions. US and UK band labels use the same even-number ladder in the supported range, while EU labels use the corresponding five-centimetre steps. Thus a 34 band occupies the same position as an EU 75 band. Cup conversion is not performed by copying the letters. Instead, the source cup is located on that region’s ordered volume ladder, and the label at the same position is selected from each target ladder. This distinction becomes especially important above D. A US DDD, UK E, and EU F share one position in the table used here, although their printed names differ. The result includes US, UK, and EU labels every time, including the original region in normalized form, which makes comparisons straightforward. Conversion tables are useful starting points rather than manufacturing standards: individual brands may grade bands, cup depth, wire shape, and fabric tension differently. Always consider the retailer’s own fit notes when choosing a product.
Check the result before buying
Use the converted label to search a regional catalogue, compare a retailer’s chart, or communicate a known size to customer support. Keep in mind that a nominal equivalent does not guarantee an identical fit. Cup shape, wire width, strap placement, stretch, and brand-specific grading can change how two bras feel even when their table positions match. If you are between sizes, trying the converted size alongside nearby sister sizes may be useful, but sister sizing is a separate adjustment and is not performed by this tool. The converter deliberately rejects malformed strings, odd or unsupported bands, and cups that do not belong to the selected regional ladder. That strict behavior prevents a typo from silently becoming a plausible result. When an error appears, verify the region, remove unrelated words, and enter only the band and cup. For labels outside the supported table, use the manufacturer’s chart, since extended-size conventions vary more widely. The API version costs $0.002 per item and returns the same deterministic table conversion used in the browser.
What you can do with it
Shop from an overseas retailer
Translate your familiar size into the regional label used by a foreign store before checking its product chart.
Normalize catalogue data
Add consistent US, UK, and EU equivalents to product records that arrive with only one regional size.
Support a customer
Give a shopper quick regional equivalents while clearly separating standard table conversion from brand-specific fit advice.
FAQ
Which sizing systems are supported?
The converter accepts US, UK, and EU sizes and returns an equivalent in all three systems.
Why do cup letters change between regions?
Regional systems use different letter sequences, especially after D, so the same table position can have a different printed cup label.
Can I include a space in the size?
Yes. Formats such as 34DD and 34 DD are both accepted, with surrounding whitespace ignored.
Does an equivalent size guarantee the same fit?
No. The result follows a standard conversion table, but brand grading, materials, and bra shape can affect actual fit.
What does the API conversion cost?
Each converted item costs $0.002. The calculation is deterministic and requires no network lookup.
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/bra-size-convert \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"size":"34DD","system":"US"}'const res = await fetch("https://api.kit.forhosting.com/misc2/bra-size-convert", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"size": "34DD",
"system": "US"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/misc2/bra-size-convert",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"size": "34DD",
"system": "US"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/misc2/bra-size-convert", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"size":"34DD","system":"US"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"size":"34DD","system":"US"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/misc2/bra-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": "34DD",
"system": "US"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "misc2.bra_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. |