Bike Route Calculator
Open Calculator
Physics-based · Client-side · No data sent anywhere

Know what a ride
will actually demand.

Upload a GPX file and Cycler models every metre of the route — gravity, rolling resistance, aerodynamic drag, gearing, cadence range, and altitude — to tell you the power you need, the time it will take, and whether that effort is realistic for your fitness.

Open the Calculator →

What it does

Route analysis from GPX

Drop any GPX track — race file, Strava export, Komoot download. The app parses elevation, smooths GPS gradient noise, and models the physics segment by segment.

Time or power target

Set a target finish time and find the average power required. Or set a target power and see the predicted time. Both account for downhill coasting and gear constraints.

Gearing & cadence modelling

Enter your exact cassette and chainring setup with a preferred cadence range. The model adjusts power wherever your gearing physically cannot deliver the target speed.

Power zone distribution

See how your pedalling time splits across Zones 1–6, with watt ranges calculated from your FTP. Know before the ride whether you'll be in endurance territory or deep in the red.

Duration-aware feasibility

The effort rating accounts for ride length. A power that is manageable for one hour may be unachievable for five. The model estimates sustainable power using an empirical power-duration relationship.

Interactive map & charts

Colour-coded elevation profile, OpenStreetMap route overlay, per-segment power and speed charts, and a gear usage table showing how often each combination was optimal.

Model & assumptions

Cycler is a steady-state physics model. Understanding where it simplifies reality helps you interpret the output correctly.

What is modelled

  • Gravitational resistance — Fg = g ⋅ sin(arctan(gradient)) ⋅ (rider + bike mass). The dominant force on climbs.
  • Rolling resistance — Fr = g ⋅ cos(arctan(gradient)) ⋅ (rider + bike mass) ⋅ Crr. Configurable tyre coefficient.
  • Aerodynamic drag — Fa = ½ ⋅ CdA ⋅ ρ ⋅ (v + wind)². Air density ρ decreases with altitude via the barometric formula.
  • Drivetrain loss — total power is divided by (1 − loss fraction), default 4%.
  • Gearing constraints — achievable speed is bounded by your slowest and fastest gear at your cadence limits. Power adjusts where terrain forces speed outside that window.
  • GPX gradient smoothing — a 200 m rolling median removes GPS noise spikes before segmenting the route.

Simplifications

  • Constant power — the model assumes steady power on uphills and flats. Real riding involves surges, drafting, and fatigue.
  • Downhill coasting — descents are modelled as coasting at a fixed user-defined speed. Pedalling on descents and braking are not modelled.
  • No acceleration — segment-to-segment speed changes are instantaneous. Kinetic energy costs at the start of climbs are ignored.
  • Global wind — headwind or tailwind is a single value applied to the whole route, not per-segment.
  • No crosswind — wind is assumed directly head-on or tail-on; yaw effects on effective CdA are not modelled.
  • No fatigue — power is held constant throughout; there is no model of glycogen depletion or neuromuscular fatigue.

Feasibility rating

  • FTP is treated as the power sustainable for approximately one hour.
  • For longer durations, sustainable power is estimated as FTP × max(0.55, 1 − 0.09 × log&sub2;(hours)) — roughly 91% FTP at 2 h, 79% at 5 h, 75% at 7 h.
  • This is a population-average approximation. Individual variation — training history, heat, nutrition, altitude — is significant.

Default parameters

  • Rider mass 75 kg — bike mass 9 kg
  • FTP 250 W — CdA 0.32 m² — Crr 0.004 — drivetrain loss 4%
  • 700c wheels — 28 mm tyres — cadence 75–95 rpm
  • Gearing: 34/50 chainrings, 11-34 cassette (11-speed)
  • Downhill coasting speed: 45 km/h

All parameters are editable in the calculator sidebar and saved locally in your browser.

Ready to plan your ride?

Everything runs in your browser. No account, no data collection, no server.

Open the Calculator →