OpenRadlr
A rider in the OpenRadlr 3D world on a winding country road in evening light, seen from the drone camera.

Free indoor cycling, together.

Connect your smart trainer, open the browser and ride an island world with friends, strangers and bots. Open source, no subscription.

Col de la Forge: 12.9 km, 304 m of climbing. One of the routes on the island, drawn from the game’s own map.

Everything you need for a winter on the trainer

  • One island, everyone on it

    Pick a route and you ride the same roads as everyone else on the server: valley, cliffs, a col and three cafés.

  • Never an empty road

    Bots ride along when it’s quiet, each with its own fitness and style. They’re always marked, and make room as people join.

  • Drafting and races

    Sit on a wheel to save watts. Join a race during its countdown, then go for the climbs and the sprints.

  • Spin studio

    A group class starts every 30 minutes. Coach Lemon calls the blocks, targets follow your FTP, and the room board ranks time on target.

  • Workouts in ERG mode

    Ride the built-in sessions or import your own .zwo files. The trainer holds the watts, you hold on.

  • Virtual shifting

    Gears for single-speed setups like the Zwift Cog. Shift from the keyboard, the screen or a Zwift Click, Play or Ride.

  • Strava upload

    Finish a ride and send it to Strava as a virtual ride with its climbing and a map. Or download .fit, .gpx and .tcx.

  • Runs in the browser

    Nothing to install or update. Add it to your home screen and it opens like an app.

A ride in OpenRadlr: the rider on a country road, with power, speed, cadence and gradient on screen.
On the road: watts, speed, gradient, and the next sprint or climb.
The OpenRadlr spin studio: Coach Lemon on stage, riders side by side, the room board and the class plan with target and power.
In the spin studio: a class every half hour, bikes side by side.

What you need

About two minutes from opening the page to your first pedal stroke.

  1. A smart trainer or a power meter

    Anything that speaks Bluetooth FTMS or Cycling Power, like a Wahoo KICKR Core or a Van Rysel D500. A heart rate strap is optional. Which devices work

  2. Chrome or Edge

    On Windows, macOS, Android or ChromeOS, for Web Bluetooth. On iPhone and iPad, use the Bluefy browser.

  3. A name

    Open openradlr.com, type a name, connect your trainer and pick a route. No sign-up.

Open source. Host your own.

OpenRadlr is MIT-licensed and every server is a single Docker container. Run one at home for your LAN, on a small VPS for your club, or ride on ours. The game server is written in Rust, the client is plain JavaScript.

# needs Docker with Compose and make
git clone https://github.com/Lethonium/OpenRadlr.git
cd OpenRadlr
make up

Then open http://localhost:8080. Bug reports, routes and pull requests are welcome on GitHub.

Questions

Is it really free?

Yes. Riding is free, with no subscription and no paywalled features. The code is MIT-licensed, so anyone can run their own server too.

Do I need an account?

No. Enter a name and ride. Your profile (weight, FTP, devices) stays in your browser. Connecting Strava is optional and only needed for uploads.

Does it work on an iPhone or iPad?

Safari on iOS can’t talk to Bluetooth devices. The free Bluefy browser can: open the app there. Chrome or Edge on Android, Windows, macOS and ChromeOS work out of the box.

I don’t have a smart trainer. Can I still try it?

Yes. Pick Simulated trainer on the start screen and set your power with the arrow keys. A power meter on a classic trainer works too, without resistance control.

Who are the other riders?

People, and bots marked as bots. Bots keep the roads busy when few people are online, chase drafts and race, and leave as more humans join.

The road is open.

Ride now on openradlr.com

A community Discord is on its way. Until then, ideas and bug reports go to GitHub issues. Riding stays free for everyone.