How it works

Every formula, constant and assumption behind the numbers on screen, with what each one gets right and what it cannot see. Each section is tagged solid (textbook geometry or published data), estimate (calibrated model with known error) or rough (ranks options sensibly, do not quote as fact).

The rider modelestimate

BikeViewer poses a stick figure of rigid segments on the bike. It is a geometry model, not a biomechanics simulation.

From height alone, segment lengths come from Drillis and Contini body proportions (inseam 45%, femur 24.5%, lower leg 24.6%, torso 28.1%, arm 34%) with small female offsets from the ANSUR II survey. Every segment can be overridden with a tape measure, and measured values always beat the estimate: individual limb lengths routinely differ from the proportional average by 20 to 40mm.

The hip joint centre is placed 78mm above the saddle top and 8mm behind the saddle's reference point. Seated, the femoral head sits somewhere in a 60 to 90mm range depending on pelvic tilt and glute size, and you can adjust it. Saddle tilt rotates that offset and slides the pelvis about 4mm toward the nose per degree of downward tilt. Hip joints sit at sit-bone width plus 22mm each side.

Legs are solved as two links (hip to knee to ankle) by inverse kinematics to a foot whose ball sits on the pedal spindle plus pedal and shoe stack. The ankle hangs a fixed distance behind and above the ball, scaled from foot length, then rotated by the foot angle slider. The torso and arm are a second two-link chain from the pelvis to the midpoint of the hands; spine rounding shortens the pelvis to shoulder chord by cos(rounding/2) and bows the mid-back outward.

The shoulder is not pinned to the trunk. It rides on the clavicle and scapula and travels forward on the ribcage as the arm reaches, which is how a rider gains reach before straightening the elbow or dropping the torso. The model moves each shoulder joint toward the hands by an amount that grows from nothing at a comfortably bent elbow to a set maximum, 35mm by default, at a near-straight one; on aerobars it is mostly forward regardless. The size is an estimate from clavicle length and normal girdle range, not a cycling measurement, and it is adjustable under Body.

Two more anatomical details, adjustable under the rider's Body and Pedalling groups. The foot rocks through the stroke, heel down through the power stroke and toe down on the way back, 8 degrees by default and near level at the top and bottom, which is where the fit angles are read, so ankling shapes the pedalling without moving the fit numbers. The pelvis rolls forward about the sit bones as the torso drops, 0.3 degrees per degree below 45 by default, and the rider slides toward the nose with it; this is a change of position, a few millimetres at the hip, not something that moves while pedalling. And knee angles are read at the flexion axis, which sits about 20mm behind the point where the thigh and shin lines meet. Both defaults are estimates from published anatomy rather than cycling measurements.

What it cannot account for
  • Segments are rigid: no soft tissue, no spinal flexibility. The pelvis rolls with torso angle but not with hand position, so a rider who rolls further forward on the drops is not modelled.
  • The pose is static: no knee tracking under load, and no change in saddle pressure or sit-bone position as effort rises. Ankling is drawn but does not feed the fit angles.
  • Left and right are identical unless you turn on asymmetry. Leg-length differences, scoliosis and shoulder drop are inputs, not detections.
  • Where your hands actually sit on a hood or grip is a fixed offset per hand position, not a hand model.

Fit angles and how they are measuredsolid

Every angle is a side projection of joint centres, the convention a fitter's video software uses. The dials on the model and the fit guide read the same numbers, so they can never disagree.

Knee angle is the interior angle hip, knee, ankle. It is evaluated with the crank at 6 o'clock (bottom of the stroke) and 12 o'clock (top), independent of where the animation happens to be. Hip angle is mid-spine, hip, knee at the top of the stroke, which is where the hip is most closed. Torso angle is the pelvis to shoulder line against horizontal. Shoulder angle is mid-spine, shoulder, elbow. Elbow angle is shoulder, elbow, hand.

KOPS (knee over pedal spindle) is measured with the crank at 3 o'clock: the horizontal distance from the knee joint centre to the pedal spindle, in the bike's level frame. Positive is knee ahead of the spindle. The plumb line drawn on the model hangs world-vertical so it still reads correctly on a gradient; the number itself does not change with slope.

The target windows are commonly cited fit guidance, not lab results. Road on the hoods: torso 35 to 45 degrees, hip 55 to 70, knee 140 to 150 at the bottom, KOPS within 10mm. Drops, tops and flat bars each have their own torso and hip windows. Choosing an upright or aggressive fit style shifts the torso and hip windows by 4 degrees. Time trial and triathlon use FIST and Retul style windows and KOPS is not judged at all, because a steep seat angle deliberately puts the knee ahead of the spindle. Track has its own windows for the same reason (KOPS is allowed to run to 25mm forward).

What it cannot account for
  • The model knows the joint centre exactly; a fitter marks skin over the joint. Expect a real-world difference of 3 to 5 degrees between what BikeViewer reports and what a video fit would measure, mostly from marker placement and soft tissue.
  • Knee angle depends heavily on where the ankle is at the bottom of the stroke. The model fixes ankle geometry from foot length and the foot angle slider; a rider who drops the heel more will read a more open knee in real life.
  • Fitters disagree about the windows themselves, and KOPS in particular is contested as a fitting rule. Treat every window as a sensible starting point, not a verdict.

The fit guideestimate

The guide works through the same five stages a fitter does, and each stage may only move its own adjustments.

Saddle height is solved by bisection until the knee reads 145 degrees at the bottom of the stroke (the middle of the 140 to 150 window). Fore-aft is then moved so KOPS reads zero on road bikes, and height is re-solved, twice. The tri and track paths skip the KOPS step.

Reach and drop search every combination of stem length (60 to 140mm), stem angle (minus 17 to plus 17) and spacer stack that the available steerer allows. Each candidate is scored on how far torso, shoulder (target 88 degrees) and elbow (target 157 degrees) sit from their targets. Stems shorter than 90 or longer than 120 and steep positive angles carry a penalty, so the solver reaches for ordinary hardware first and only recommends unusual parts when the frame forces it.

Component sizing is rule of thumb: bar width is shoulder width minus 20mm rounded to the nearest 10; saddle width is sit-bone width plus 20mm; crank length comes from an inseam table (160mm under 720, 165 under 760, 167.5 under 800, 170 under 840, 172.5 under 880, then 175). The recommended frame size probes every size in the manufacturer's chart with this same model and scores torso and shoulder angle.

What it cannot account for
  • It cannot see you. It does not know your flexibility, core strength, injury history or what hurts. Those are exactly the things a professional fit is for, and they outrank any number here.
  • Bar and saddle width rules are population averages. Hand position preference and saddle shape matter more than 10mm of width.
  • Any solved position is a static snapshot on the hoods with the cranks level. It is a place to start, not a prescription.

Weight distribution and centre of massestimate

Rider mass is spread over the posed segments using published body segment fractions, then combined with the bike.

Segment masses follow Dempster and Winter: trunk 49.7% of body mass, head 8.1%, each thigh 10%, shank 4.65%, foot 1.45%, upper arm 2.8%, forearm 1.6%, hand 0.6%. Each segment's mass sits at its published centre of mass fraction along the segment (thigh at 43.3% from the hip, for example). The trunk's mass is bowed through the mid-spine point so a rounded back shifts weight correctly.

The rider COM is combined with the bike COM (weighted by the bike weight slider) to give the combined COM. Front and rear wheel loads follow from statics: the combined COM's horizontal position along the wheelbase sets the level split, and on a gradient the COM height times the slope's tangent shifts load toward the downhill wheel.

The saddle, hands and pedals support split is a heuristic: pedals carry a fixed 8%, and the hands' share grows with how far the COM has moved from the saddle contact toward the bars, capped at 55%.

What it cannot account for
  • The bike COM is built from estimated component masses at their drawn positions, not from the parts you actually own. Bike weight is whatever you type.
  • Braking, cornering, standing, and the large dynamic pedal forces of a hard effort are not modelled. The support split especially is a ranking tool, not a measurement.
  • Body segment fractions are population means. Body composition changes them by a few percent.

Aerodynamics and wattsrough

Power to hold a speed is the standard road cycling equation. The uncertain part is the drag area (CdA), which is estimated from the pose, not measured.

Power = (Crr x M x g x cos(slope) x v + M x g x sin(slope) x v + 0.5 x rho x CdA x v cubed) / 0.975. Air density rho is 1.225 kg per cubic metre (sea level, 15 degrees C); drivetrain efficiency is 97.5%. Speed for a given power inverts the same equation.

CdA = 0.8 x frontal area x position factor + wheel build deltas. Frontal area is computed from the posed trunk (shoulder width x (torso vertical height + 0.1m) x 0.85) over a fixed legs, frame and arms baseline of 0.263 square metres, calibrated so a typical rider on the hoods reads about 0.39 square metres and a low tuck about 0.29. It is computed from parameters rather than pixel-measured off the animation, so the same setup always gives the same watts.

Position factors relative to the hoods come from the published wind tunnel spread: drops 0.93, hoods tuck 0.88, aerobars 0.80, flat bars and tops 1.05. Wheel build deltas are referenced to a 35mm rim, 24 spokes and a 28mm tyre on a 28mm rim so a stock bike starts at zero: rim depth follows an exponential curve fitted to published data (a 20 to 50mm step saves roughly 4 W at 45 km/h, zero yaw, diminishing past 60mm), each spoke adds 0.00012 square metres, each millimetre of tyre width adds 0.00035, and a tyre wider than the rim pays a penalty under the 105% rule.

Rolling resistance Crr is 0.004 for a 28mm tyre, rising gently with width, multiplied by a tube factor (butyl 1.0, TPU 0.95, latex 0.90, tubeless 0.86). Those factors reproduce roughly 5 W across a pair at 40 km/h between butyl and tubeless, in line with published roller tests.

What it cannot account for
  • No wind and no yaw. Real world gains from deep rims and aero positions are larger at yaw; the numbers here are the conservative zero-yaw end.
  • No helmet, clothing, hair, bottles, bags, drafting, altitude, temperature or road surface. Each of those can move real power by more than a wheel choice.
  • Two riders with identical measurements can differ in true CdA by 10 to 15% because bodies are not cylinders. Absolute watts are indicative; the difference between two setups on the same rider is far more trustworthy than either number alone.
  • Tyre and rim data are population curves, not the specific products you own.

Gearing, climbing and fixed gearsolid

Gear tables are arithmetic; the only assumption is the wheel's rolling diameter.

Rolling diameter is ISO rim diameter plus twice the tyre width (622 + 2 x 28 for a 700x28). Development, ratio and speed at cadence follow directly. Two ratios on different chainrings within 3% of each other are counted as duplicates.

The climbing figure is the steepest gradient your power can hold in the lowest gear at your set cadence, solved iteratively with the rolling resistance above and a nominal hoods CdA of 0.36 (aero is a small term at climbing speed).

On a fixed gear the chain must be a whole even number of links, so the rear wheel slides in the track ends to take up the slack. That axle solve is done on the frame, not fudged on the chain, which is why a fixed-gear rear wheel visibly moves when you change the gear.

What it cannot account for
  • Inflated tyre diameter varies several millimetres with pressure, casing and rim width, which shifts speed at cadence by about 1%.
  • The climb figure assumes you can sustain the power at the set cadence indefinitely. It is a gearing check, not a physiology one.

Tyre pressurerough

A starting pressure from the 15% tyre drop guideline, scaled by the load on each wheel.

The recommendation is a power-law fit through published 15% drop guidance for 700c tyres (38kg of wheel load gives about 78 psi on a 25mm tyre, 65 on a 28, 52 on a 32), scaled by the actual front and rear load from the weight model and multiplied by a tube factor (tubeless 0.87, latex 0.95, TPU 0.98). Results are clamped between 12 and 110 psi.

Wheel diameter is accounted for separately. For a given tyre drop, a larger wheel lays down a longer contact patch, so it carries the same load at lower pressure. Pressure scales with the square root of the wheel radius, applied relative to a 700c wheel of the same width: 700c numbers are unchanged, a 32 inch wheel comes out about 8% lower and a 650b about 3% higher.

What it cannot account for
  • Hookless rims, rim and tyre manufacturer maximums, surface, temperature and personal preference all override this. Check your rim's stated limit before pumping to any number from software.
  • The 15% drop rule itself is a heuristic for comfort and grip, not an optimum for speed on every surface.

The frame databaseestimate

Real frames are transcribed from manufacturer geometry charts. Where a chart is incomplete, the missing value is derived and the frame is flagged provisional.

Every size carries stack, reach, head and seat angles, top and head tube lengths, chainstay, bottom bracket drop, fork rake and wheelbase where published. The parametric frame is rebuilt from those numbers, so what you see is the chart, not a photograph.

When a manufacturer publishes stack and reach but not head tube length, it is derived as (stack minus BB drop) divided by sin(head angle), minus the axle to crown length, using the category's median fork (road 366mm, gravel 381, flat bar 380, track 358). Checked against a chart that publishes both, the method lands within 3mm. Frames with any derived value are marked provisional in the picker.

What it cannot account for
  • Charts change between model years and occasionally contain errors. Confirm with the manufacturer before you buy a size on the strength of this app.
  • Fork rake and offset, headset stack and effective seat tube angle are sometimes assumed from the category when the chart omits them. Effective seat angle on a curved or dropped seat tube depends on saddle height in ways a single number cannot capture.
  • Most flat bar and track frames are still provisional.

Components and contact pointssolid

Stems, spacers, bars and saddles are parametric, positioned by the same trigonometry a fitter uses with a tape measure.

Stem height and reach come from stem length, stem angle relative to the steerer, headset and spacer stack. Bar reach and drop are measured centre to centre; hand positions are fixed offsets from the bar (the hoods, for example, sit 48mm forward of and 46mm above the bar's centre at 88% of the bar reach). The saddle top sits 50mm above the rail clamp, a typical value; real saddles range from about 35 to 60mm.

Crank length, pedal stack, shoe stack and cleat fore-aft all move the foot exactly as they would on the bike, which is why the fit angles respond to a cleat change.

What it cannot account for
  • Saddle shape and where you actually sit on it are not modelled; a 20mm difference in effective sitting position is common between saddles of the same width.
  • Lever reach, hood shape and bar flare vary between brands. The hand offsets are a representative shape, not your specific bar.

Reading the numbers

Four rules for reading the numbers without being misled by them.

Compare, don't quote. A 10mm stem change on the same rider is modelled well. An absolute torso angle or watt figure carries all the error above and should be read to about plus or minus 3 degrees and plus or minus 10 to 15%.

Measure yourself. The proportional rider is a fallback. Measuring inseam, torso and arm properly improves accuracy more than any other input.

Use it before a fit, not instead of one. BikeViewer is good at exploring what a frame size, stem or bar will do to your position before you spend money, and at making sense of the numbers a fitter gave you. It cannot feel pain, watch you pedal or see how you sit on a saddle. If you ride in discomfort, see a qualified fitter or physiotherapist.

If you find a formula, constant or frame that is wrong, please say so. This page is meant to be checkable.

BikeViewer models static geometry, not pedalling, and complements a professional fit rather than replacing one. Spotted an error or have a better source? Get in touch.