Control a smart trainer from your browser: which browsers, which trainers, and where it stops
Yes, a web page can run your smart trainer. Chrome or Edge on a laptop or desktop can pair with a Bluetooth trainer, set ERG targets and read power, with nothing to install. Two things must line up: a browser that supports Web Bluetooth, and a trainer that speaks a protocol the page understands, usually the Bluetooth Fitness Machine Service. Safari, Firefox and every iPhone browser fail the first test. ANT+-only trainers fail the second. This guide covers both checks and the limits that remain once they pass.
By Jim Camut · Former pro & ex-Bruyneel Academy racer
Updated Nov 8, 20264 chapters7 citations
How a web page talks to a trainer
Web Bluetooth lets a web page connect to a nearby Bluetooth Low Energy device, but only after you pick that device in a browser prompt [MDN Web Bluetooth]. The page then speaks to the trainer in a shared language. The standard one is the Fitness Machine Service, FTMS, a Bluetooth SIG specification for exchanging training data with fitness machines [Bluetooth SIG FTMS].
The browser does the gatekeeping. A page cannot scan your room and grab a trainer on its own: the permission prompt appears only when the page calls for a device in response to a click, and the API works only on secure HTTPS pages [MDN Web Bluetooth]. Once you approve, the page can return to that trainer later without asking again.
FTMS is the part that makes one page work with many brands. It defines a standard Bluetooth service, number 0x1826, that carries power, cadence and speed data from the machine and accepts control commands back, such as a target wattage for ERG or a simulated gradient [Bluetooth SIG FTMS]. A trainer that implements it can be driven by any app that implements it, with no brand-specific code.
Not every trainer started there. Tacx trainers also offer their own route, Tacx FE-C over BLE, which carries the ANT+ FE-C control messages over Bluetooth, and Garmin's developer documentation lists it next to FTMS as a separate control protocol [Garmin Tacx Developer]. Wahoo used its own Bluetooth control protocol for years before firmware updates added FTMS to the KICKR line. An app has to support the specific protocol your trainer speaks, so the label on the box matters more than the brand.
Which browsers work, and what to do on a Mac
Chrome from version 56 and Edge from version 79 support Web Bluetooth on desktop; Firefox and Safari do not, on any platform [Can I Use Web Bluetooth]. On a Mac, the answer is simple: install Chrome or Edge and use it for training. Safari will load the page but cannot reach the trainer.
The desktop picture is stable. Chrome ships Web Bluetooth with no flag on Windows, macOS and ChromeOS; Windows needs Windows 10 version 1703 or later and macOS needs Yosemite or later [Web Bluetooth CG Status]. Opera, which runs on the same engine, also supports it from version 43 [Can I Use Web Bluetooth]. Mozilla has stated a negative position on the API, so do not expect Firefox to add it soon [Can I Use Web Bluetooth].
Linux is the awkward one. Chromium lists Linux as partially implemented and not supported: you need to turn on chrome://flags/#enable-experimental-web-platform-features, and the system needs kernel 3.19+ and BlueZ 5.41+ [Web Bluetooth CG Status]. Expect to set the flag first.
Phones and tablets split by operating system. Chrome on Android supports Web Bluetooth [Can I Use Web Bluetooth], and Chromium lists it as shipped there from Android 6.0 [Web Bluetooth CG Status], so a browser trainer app can work on Android if that app supports it. iPhone and iPad are a hard no: Safari on iOS has no Web Bluetooth [Can I Use Web Bluetooth], and Chromium lists no implementation planned for Chrome on iOS [Web Bluetooth CG Status]. Third-party browsers such as Bluefy add their own Bluetooth layer. That is a workaround by one developer, not standard support, and caniuse still lists iOS as unsupported.
Free · No signup
Build tonight's trainer workout
Pick a goal, how long you have and your FTP. Download a .zwo file and ride it in Zwift tonight.
Which trainers a browser can drive
Any trainer that broadcasts Bluetooth FTMS is the safe case; most current direct-drive trainers do. Older Tacx units that speak only FE-C over BLE, and Wahoo units on the legacy protocol, work only with apps that support those protocols [Garmin Tacx Developer]. A trainer with ANT+ and no Bluetooth control cannot be reached through Web Bluetooth at all.
To check yours, read the connectivity line on the spec sheet or the support page. Look for "Bluetooth FTMS" or "Bluetooth Smart FTMS". Some current product pages just say "Bluetooth" next to "ANT+ FE-C", which tells you the trainer is controllable but not which Bluetooth protocol it uses. In that case search the manufacturer's support pages for FTMS, or check the trainer list of the browser app you plan to use. Update the firmware before your first ride, because FTMS often arrived by firmware rather than in the original product.
ANT+ is a different radio, and a browser has no ANT+ API. The usual ANT+ route is a USB stick plus a desktop app. Auuki is the exception worth knowing: its README describes experimental ANT+ support that works on Ubuntu Linux and partly on macOS and Android [Auuki].
Power accuracy does not depend on the browser. The page sends a target and displays the number the trainer reports, so you get exactly the accuracy of the trainer. That is good news for most riders: in a calibration-rig study the Wahoo KICKR read within -1.1% on average between 250 and 700 W, with wider error below 200 W and above 750 W [Zadow et al. 2016]. If your recovery valleys sit below 200 W, read the low end of your trainer's numbers with some caution, whichever app sends them.
The limits, and the browser options that exist
Most dropouts in browser training come from the setup, not the browser. Keep the tab in front, keep the laptop awake and within a few metres of the trainer, and close every other app that might hold the trainer's Bluetooth connection. After that, the choice is which browser app fits how you train, and Auuki is the open-source place to start [Auuki].
Four habits prevent most lost sessions. Some trainers accept only one Bluetooth control connection, so a phone app, watch or head unit that connects first can lock the browser out. Laptops sleep, throttle background tabs and switch off Bluetooth radios to save power, so plug in, turn off sleep for the session and keep the training tab visible. Bluetooth links weaken with distance and obstacles, so put the laptop on a stand within a couple of metres of the trainer, not in the next room. And if the trainer never shows up in the prompt, toggle the computer's Bluetooth and power-cycle the trainer before you blame the page.
Auuki is the established free option: an open-source progressive web app, licensed AGPL-3.0, that runs structured workouts in Chrome, Edge, Opera, Samsung Internet or Brave, imports Zwift .zwo files and supports FTMS, Tacx FE-C over BLE and Wahoo's protocol [Auuki]. It is the right answer if you already have a plan from somewhere else and want a clean screen that holds your watts. It also covers Tacx trainers that our own app does not.
Ride Live is our option, and it is in beta. It rides today's planned workout from your AdaptCycling plan on a Bluetooth smart trainer, in Chrome or Edge on a laptop or desktop. It is built for FTMS trainers such as the KICKR, KICKR CORE, Zwift Hub, Elite, Saris and Tacx Flux, plus Wahoo's legacy protocol for the KICKR SNAP and pre-2021 KICKR. It does not support ANT+ FE-C or Tacx FE-C over BLE, and we have not tested it on Android or a Chromebook. ERG holds each target, each rep gets a grade, and a missed rep eases the rest of the set with one-tap Undo. It saves a FIT file to your history and pushes the ride to Wahoo. It has no virtual world, no group rides and no racing; if those keep you on the bike, Zwift does them far better.
What is different is upstream of the trainer. The plan decides which workout you ride today, and after a missed day or a bad week it rebuilds the next one instead of leaving you to choose. That is the same problem our guide to indoor cycling training is about: an indoor season that survives winter life matters more than the screen you ride it on. Ride Live is part of the paid Coach plan at $15/month or $150/year, with a 14-day trial and no card. For every route to ERG without a monthly game subscription, including a head unit driving the trainer, see our guide to using a smart trainer without a subscription; if ERG feels wrong once you are connected, the KICKR ERG troubleshooting guide covers the lockdown.
Quick answers
Can I control a Wahoo KICKR from my laptop without installing an app?
Does Web Bluetooth work in Safari on a Mac?
Can I ride a smart trainer from a browser on my iPhone or iPad?
Is power less accurate when a browser controls the trainer?
Sources cited in this guide
- 01
- 02
- 03
- 04
- 05
- 06Auuki. Auuki: structured workouts on a smart trainer in the browser. GitHub (open-source project README).
- 07Zadow et al. 2016. Validity of Power Settings of the Wahoo KICKR Power Trainer. International Journal of Sports Physiology and Performance.
See the direct comparisons
More inside Indoor cycling training
Start here · Foundational guide
Indoor cycling training: the self-coached rider's winter guide
How to build an indoor season that holds — session length, the intensity mix that works on a trainer, heat and drift, and where the plan breaks.
Read the full guide
Other articles in this series
- 01
Winter cycling training plan: build an indoor season that holds
How to structure November-to-February training — base vs intensity indoors, how much is enough, and why winter is when plans break.
- 02
Why your heart rate is higher on the indoor trainer
Heat, no airflow and cardiovascular drift push HR up at the same watts indoors. What the studies measured, and what to do about it.
- 03
How long should indoor trainer rides be?
Why a trainer hour is not a road hour, the session lengths that earn their place indoors, and when a longer ride stops paying.
- 04
Sweet spot vs zone 2 for the indoor winter
What two trials found when polarized met threshold on equal hours, and the honest case for sweet spot when you only have four hours a week.
- 05
An indoor cycling training plan for 4 hours a week
Four hours on the trainer, spent right: how many sessions, which one is hard, and what the evidence says holds fitness on that dose.
- 06
Best Fan for Indoor Cycling: How Much Airflow You Need
About 33 km/h of air on your torso cut heat strain in 2-hour rides; 50 km/h added nothing. Why speed, placement and timing beat brand.
- 07
How many trainer sessions a week maintain fitness?
Hickson's maintenance studies say two sessions hold VO2max if intensity holds. What that means for a winter with less time.
- 08
Use a smart trainer without a subscription: every option
Your trainer holds ERG watts without Zwift. Six ways to ride a structured session with no subscription, and what each one leaves out.
Free training analysis · No card · ~3 minutes
Try the adaptive coach yourself.
Connect your rides and the coach reads them — intensity balance, ramp rate, what's working, what's holding you back — then drafts your training plan around it.
Free 14-day trial, no card.