How to take bike fit photos that measure accurately
Every angle in a photo-based bike fit is only as good as the photo. A camera slightly in front of you, tilted, or held at ground level skews every number at once. Here is the exact setup β it takes five minutes and needs nothing more than a phone and, ideally, an indoor trainer.
By Maxence PoutordΒ·Last updated
The setup
Put your bike on an indoor trainer on level ground, with space to stand back several metres to the side. Check the bike is level β if the trainer raises the rear axle, put a matching riser under the front wheel. A tilted bike shifts every reading taken against the horizontal β the torso angle and the KOPS offset β and the photo cannot show that the bike, not your position, caused it. Joint angles such as the knee and hip are not affected.
No trainer? Lean against a wall with a helper holding the bike upright, or ride slowly past a fixed camera β but a trainer is far more repeatable.
Camera position: side-on, at hip height
Place the camera directly to your side, at 90Β° to the bike, aimed at your hip. Height matters as much as angle: the lens should sit at about hip or top-tube height, not at ground level pointing up β a low camera foreshortens the legs and distorts the knee angle.
Stand the camera back far enough that the whole bike and rider fit in the frame with margin on every side. More distance flattens perspective distortion; use zoom rather than stepping closer. Line up with the hip: if you can see both shoulders or both hips clearly separated, you are not truly side-on.
Annotated example: where the camera goes
| Setting | Do this | Why |
|---|---|---|
| Distance | 3β5 m back, zoom to fill the frame | Flattens perspective: hip, knee and ankle are at nearly the same distance from the lens |
| Height | Lens at hip or top-tube height | Keeps the joints in one plane; a low lens stretches the near leg |
| Angle | 90Β° to the bike, on a line through the hip | Avoids foreshortening one segment more than another |
| Level | Phone level, grid on | A 2Β° tilt reads as about 14 mm of KOPS offset |
| Crank | One photo at 6 o'clock, one at 3 o'clock | The angles are defined at those positions and nowhere else |
Crank position: 6 o'clock and 3 o'clock
Fit angles are read at specific crank positions, so pedal into position, hold it, and shoot. You need two photos: one with the camera-side crank at 6 o'clock (pedal at the very bottom β for knee flexion, hip, torso, elbow and shoulder angles) and one at 3 o'clock (forward and horizontal β for KOPS).
Hold your normal riding posture in both: hands where you actually ride (hoods, or TT extensions), foot flat in its usual pedalling attitude, looking ahead β not down at the pedal.
Clothing and lighting
Wear tight-fitting kit: pose detection finds your hip, knee and ankle through lycra, but loose shorts or a flapping jacket hide the joints and shift every landmark. Dark clothing against a light, uncluttered background gives the cleanest detection.
Light the scene evenly β daylight or room lights are fine. Avoid shooting into a bright window behind you (silhouettes lose the joints) and avoid harsh single-side light that buries half your body in shadow.
The mistakes that skew everything
If a measurement looks wrong, the photo is the first suspect. These are the failures that shift angles the most:
- Camera not perpendicular β shooting from slightly ahead or behind compresses limbs; even a few degrees off-axis changes the angles.
- Camera too low β ground-level shots pointing up distort the knee and hip angles.
- Tilted framing β the horizon in the photo must be level; a tilt of more than about 4Β° makes torso readings meaningless.
- Wrong crank position β knee flexion read anywhere but the true 6 o'clock reads too bent.
- Cropped rider β a cut-off foot or head means missing landmarks; keep the whole rider and bike in frame.
- Loose clothing hiding the hip or knee.
Why capture quality is enforced, not corrected
A single 2D photo contains no information about how the camera was aimed, so a tilt or off-axis error cannot be corrected after the fact β it can only be detected and rejected. Pedalyze checks each upload for tilt, off-axis perspective and cropping, and reports a photo as unusable rather than returning confident-looking numbers from a bad shot. If your photo is rejected, it is protecting your measurements, not being picky.
Measurement pitfalls
Most rejected or misleading photos fail on one of the points below. Each one changes the numbers in a specific way, which is why the app gates them instead of guessing.
| Pitfall | What it does to the reading | How to avoid it |
|---|---|---|
| Ultra-wide lens up close | Phone ultra-wide (0.5Γ) lenses bend straight lines near the frame edges. A shin near the edge of the frame is drawn curved, and the ankle lands in the wrong place. | Use the main 1Γ camera or zoom in from further back. Keep the rider centred. |
| Trainer lifts the rear axle | A 30 mm axle height difference over a metre of wheelbase tilts the whole bike about 1.7Β° nose-down. Every angle rotates with it, and KOPS shifts by more than 10 mm. | Put a riser block under the front wheel and check with a level on the top tube or on the saddle rails. |
| Looking at the camera | Turning the head to check the phone turns the shoulders with it, which trips the off-axis check and moves the shoulder landmark. | Look ahead. With a self-timer, count and hold; with a helper, ask them to shoot when you say so, not when you look. |
| Backlight and silhouettes | A bright window behind the rider turns the body into a silhouette. The detector still finds an outline but the joints inside it are guessed. | Light from the camera side or from above. Close the blinds behind you. |
| Someone else in the frame | The detector returns the most confident person. A friend, a mirror reflection or a poster can win. | One person in the frame, no mirrors behind the bike. |
| Cropped foot or hand | A wheel or foot cut off by the frame edge means a missing or guessed landmark, and the measurement that needs it is dropped. | Leave a hand's width of margin around the whole bike and rider. Landscape usually makes this easier. |
| Motion blur on the pedalling foot | In dim light the moving foot smears across several centimetres. The ankle landmark lands somewhere in the smear. | Stop the pedal at the crank position and hold it, or add light so the shutter is fast. Video mode averages over many frames instead. |
| Different setup between sessions | Comparing a hip-height photo from last month with a chest-height photo today shows a 'change' that is entirely camera position. | Mark the tripod spot and height on the floor. Same side of the bike, same distance, same trainer. |
Frequently asked questions
- Portrait or landscape?
- Either works β what matters is that the entire bike and rider fit in the frame with margin, and the camera is level. Landscape usually makes it easier to keep distance and get everything in.
- Can I take the photos alone, without a helper?
- Yes: put the phone on a tripod or shelf at hip height, use the self-timer or an interval-shooting mode, and pedal into position. Take several shots and keep the ones where the crank position is exact.
- Which side of the bike should I photograph?
- Either side works; the drivetrain side has the chainring near the crank but detection handles both. If you compare fits over time, always shoot the same side so the small left-right asymmetries every rider has do not masquerade as fit changes.
- Do photos beat measuring with an app and a goniometer?
- Not automatically. Research shows that 2D video is repeatable within a session when the camera setup is controlled, but Pedalyze's own accuracy against a goniometer is not validated yet. What a photo does give you is every angle from the same moment, and a record you can compare later. The trade-off is that the photo itself becomes the instrument β which is why the setup on this page matters.
References and further reading
Two-dimensional sagittal-plane analysis is the standard method in bike-fitting research, and the pose detector is documented in public. These are the sources for the setup rules above.
- Fonda B, Sarabon N, Li FX. Validity and reliability of different kinematics methods used for bike fitting. Journal of Sports Sciences 32(10):940β946, 2014.
Compared 2D video against 3D motion capture and an electrogoniometer for knee angle at bottom dead centre. 2D video is reliable within a session when the camera setup is controlled, which is what this guide is about.
- Ferrer-Roca V, Roig A, Galilea P, GarcΓa-LΓ³pez J. Influence of saddle height on lower limb kinematics in well-trained cyclists: static vs. dynamic evaluation in bike fitting. Journal of Strength and Conditioning Research 26(11):3025β3029, 2012.
Used 2D sagittal-plane video to evaluate saddle height in well-trained cyclists, the same measurement geometry as a Pedalyze photo.
- Bini R, Hume PA, Croft JL. Effects of bicycle saddle height on knee injury risk and cycling performance. Sports Medicine 41(6):463β476, 2011.
Review that frames why the knee angle, and therefore the photo it is read from, matters for injury risk.
- Google AI Edge. MediaPipe Pose Landmarker documentation (33 body landmarks).
Documentation of the pose model Pedalyze runs: 33 landmarks, including the hip, knee, ankle, shoulder, elbow and wrist points the angles are computed from.
- Bazarevsky V, Grishchenko I, Raveendran K, Zhu T, Zhang F, Grundmann M. BlazePose: on-device real-time body pose tracking. arXiv:2006.10204, 2020.
The paper behind the pose model: how the landmarks are predicted and why clothing, occlusion and framing affect them.
Related guides
Related tools
- Saddle height calculator β Estimate your saddle height from inseam with the LeMond method, measured from the bottom bracket to the top of the saddle.
- Bike frame size calculator β Get your frame size from your height and cycling inseam, for road, gravel, mountain and hybrid bikes, with a size chart for each.
Pedalyze measures every angle on this page from two side-on photos of you on your bike β and tells you what to adjust. The first analysis is free.