# Bike Frame Size Calculator

> Estimates bicycle frame size from the rider's inseam with the common multiplier rules (road/gravel: inseam × 0.67 cm centre-to-top; hybrid/city: inseam × 0.685 cm; mountain: inseam × 0.226 inches), maps it to an XS–XL label, gives a standover-height target and cross-checks the result against a typical rider-height chart.

- Calculator id: `bike-frame-size` · Category: Sports & Fitness (`fitness`) · Tool name: `estimate_bike_frame_size`
- Canonical page: https://tttkmbb.com/fitness/bike-frame-size · This document: https://tttkmbb.com/fitness/bike-frame-size.md · JSON definition: https://tttkmbb.com/fitness/bike-frame-size.json

## Purpose

Estimates bicycle frame size from the rider's inseam with the common multiplier rules (road/gravel: inseam × 0.67 cm centre-to-top; hybrid/city: inseam × 0.685 cm; mountain: inseam × 0.226 inches), maps it to an XS–XL label, gives a standover-height target and cross-checks the result against a typical rider-height chart.

**Use when:** A rider knows their inseam (and optionally height) and wants a starting frame size or S/M/L label for a road, gravel, hybrid or mountain bike.

**Do not use when:** You need a precise fit (saddle height, reach, stack) or a brand's own geometry chart, which differ between manufacturers, for children's bikes (sized by wheel diameter), or for gearing questions (use bike-gear-ratio).

## Input

| Parameter | Type | Unit | Required | Description |
| --- | --- | --- | --- | --- |
| `inseam_cm` | number | cm | required | Inside leg length: floor to crotch, standing in socks with feet 15–20 cm apart and a book pressed firmly up into the crotch. (min 50, max 120) |
| `bike_type` | enum: road \| gravel \| hybrid \| mountain |  | optional, default "road" | Bicycle type; selects the multiplier and the unit the industry uses for that type. |
| `height_cm` | number | cm | optional | Optional rider height, used only to cross-check the inseam result against a typical manufacturer height chart. (min 120, max 230) |

## Output

| Field | Type | Unit | Description |
| --- | --- | --- | --- |
| `frame_size_cm` | number | cm | Seat-tube length in cm (road/gravel/hybrid: the primary size; mountain: the inch size × 2.54). |
| `frame_size_in` | number | in | Seat-tube length in inches (mountain: the primary size; road/gravel/hybrid: cm / 2.54). |
| `size_label` | string |  | XS/S/M/L/XL from the frame size: road cm < 50 XS, 50–53 S, 54–56 M, 57–59 L, ≥ 60 XL; mountain inches < 15 XS, 15–16 S, 17–18 M, 19–20 L, ≥ 21 XL. |
| `standover_height_cm` | number | cm | inseam_cm − 3: a top-tube standover height leaving about 3 cm of clearance (road); mountain bikes should have 5 cm or more. |
| `height_chart_size` | string |  | Size suggested by a typical manufacturer height chart for height_cm (only when height_cm is given). |
| `method_text` | string |  | The multiplier rule applied. |

## Formula

`road/gravel: frame_cm = inseam_cm × 0.67; hybrid: frame_cm = inseam_cm × 0.685; mountain: frame_in = inseam_cm × 0.226; frame_in = frame_cm / 2.54 (and vice versa); standover_height_cm = inseam_cm − 3`

The multipliers are the widely used rule-of-thumb estimates of seat-tube length (centre of bottom bracket to top of seat tube) for classic geometry; brands with compact or sloping frames label sizes differently, so treat the result as a starting point and confirm with the maker's chart and a test ride. The height chart is a typical guide and varies by brand.

## Data Sources

- REI Expert Advice – Bike Fit Basics (frame size, standover height, reach) — https://www.rei.com/learn/expert-advice/bike-fit.html (reference, retrieved 2026-09-24)
- Wikipedia – Bicycle frame (frame sizing) — https://en.wikipedia.org/wiki/Bicycle_frame (reference, retrieved 2026-09-24)

Data freshness: `static`. Deterministic formula with fixed constants; results never go stale. Inputs supplied by the caller determine the output.

## API

- `GET https://tttkmbb.com/api/v1/calculate/bike-frame-size?inseam_cm=…`
- `POST https://tttkmbb.com/api/v1/calculate/bike-frame-size` with JSON body `{"inputs": {…}}`
- Response: unified envelope (`success`, `request`, `result.values`, `result.units`, `sources`, `freshness`, `timestamp`, `next_actions`, `links`); see https://tttkmbb.com/docs/response-format.md
- Schema: https://tttkmbb.com/api/v1/calculators/bike-frame-size · OpenAPI operationId `estimate_bike_frame_size` in https://tttkmbb.com/openapi.json
- Authentication: none. Rate limit: fair use, see https://tttkmbb.com/docs/rate-limits.md.

## MCP

- Server: `https://tttkmbb.com/mcp` (Streamable HTTP, JSON-RPC 2.0, no auth)
- Tool:  `run_calculator` with `{"calculator_id": "bike-frame-size", "inputs": {…}}`

## Example

- Inseam 80 cm, road bike, height 175 cm: inputs `{"inseam_cm":80,"bike_type":"road","height_cm":175}` → `{"frame_size_cm":53.6,"frame_size_in":21.1,"size_label":"S","standover_height_cm":77,"height_chart_size":"M (54–56 cm)"}`
- Inseam 80 cm, mountain bike: inputs `{"inseam_cm":80,"bike_type":"mountain"}` → `{"frame_size_in":18.1,"frame_size_cm":45.9,"size_label":"M","standover_height_cm":77}`

```
GET https://tttkmbb.com/api/v1/calculate/bike-frame-size?inseam_cm=80&bike_type=road&height_cm=175
```

## Limitations

You need a precise fit (saddle height, reach, stack) or a brand's own geometry chart, which differ between manufacturers, for children's bikes (sized by wheel diameter), or for gearing questions (use bike-gear-ratio). The multipliers are the widely used rule-of-thumb estimates of seat-tube length (centre of bottom bracket to top of seat tube) for classic geometry; brands with compact or sloping frames label sizes differently, so treat the result as a starting point and confirm with the maker's chart and a test ride. The height chart is a typical guide and varies by brand. All values are computed from the formula above; no measurement or live data is involved.

## FAQ

**What if the inseam size and the height chart disagree?**

Leg length determines standover clearance and saddle height, so start from the inseam size; a longer torso or arms may justify the next size up for reach, which a test ride settles.

**Why is the mountain bike size in inches?**

Mountain bike frames are traditionally labelled in inches (or S/M/L); the cm value here is the same length converted, not a road-bike size.

**Are the results valid for compact and sloping frames?**

Only as a starting point: many modern frames use a virtual seat-tube length or letter sizes, so match the estimate to the brand's geometry chart (effective top-tube length, reach and stack).

## Related

- [Bike Gear Ratio Calculator](https://tttkmbb.com/fitness/bike-gear-ratio.md) — Gearing calculations for the same bike.
- [Cadence to Speed Calculator](https://tttkmbb.com/fitness/cadence-to-speed.md) — Speed from cadence and gearing.
