The Moveee team
Free coaching · a real route for every ride
For years, getting a smart trainer talking to your training app meant one of two things: install a native application, or plug an ANT+ dongle into a USB port and hope the drivers behaved. There's now a third way that needs neither — your browser can talk Bluetooth directly to the trainer, with nothing installed and no dongle involved. The technology that makes it possible is called Web Bluetooth, and if you've ever paired headphones to a phone, you already understand it.
Here's exactly how it works, what it connects to, and what to do on the day it stubbornly refuses to.
Open a browser-native app like Moveee Indoor in Chrome or Edge, click Pair, and pick your trainer from the list the browser shows you. That's it — the browser speaks Bluetooth straight to the trainer. No app, no ANT+ stick, no bridge. It needs a Chromium browser, though: Safari and Firefox can't do it.
What Web Bluetooth actually is
Web Bluetooth is a capability built into Chromium browsers that lets a web page connect to nearby Bluetooth Low Energy devices — with your permission, one device at a time, through a chooser the browser controls. When you click "Pair", the page doesn't reach into your system settings; it asks the browser to show you the devices in range, and only the one you tap gets handed over. Nothing pairs silently, and nothing stays connected after you close the tab.
For indoor cycling this is close to ideal. A smart trainer, a power meter and a heart-rate strap all broadcast over exactly the standardised Bluetooth profiles that Web Bluetooth can read. So the same web page that renders your ride can also control the trainer in it — set the resistance, hold your watts in a workout, and log every data stream — without a single byte installed on your machine.
Pairing, step by step
Start to finish, it's about a minute:
Open Moveee Indoor in Chrome or Edge
On Windows, macOS, Linux or Android — any Chromium browser. There's nothing to install first; the pairing code ships inside the page.
Wake the trainer and keep it close
Give the cranks a turn so the trainer powers up and starts broadcasting, and make sure it's within a few metres of the computer — Bluetooth LE is short-range.
Click “Pair” and pick your trainer
The browser's own Bluetooth chooser pops up and lists nearby devices. Select your trainer (it'll show as an FTMS device) and the browser connects straight to it.
Add a power meter or heart-rate strap
Optional, and the same flow: pair a power meter (CPS) if you'd rather it read your watts, and a heart-rate strap so HR lands in the ride.
Pick how you want to ride, and go
Choose a saved route, a structured workout or a free ride. Resistance follows the road's real gradient; in a workout, ERG holds each interval's watts.
What it pairs with
Three classes of device cover almost every indoor setup, and each one connects over a standard Bluetooth profile:
Smart trainers
The open Bluetooth standard for controllable trainers — Wahoo, Tacx, Elite, Saris and most others made in the last decade speak it.
This is what lets the app set resistance and drive ERG.
Power meters
Crank, pedal or hub power meters broadcast over the Cycling Power Service, so the ride can read watts straight from the source.
Handy if you trust your meter over the trainer's estimate.
Heart-rate straps
Any standard Bluetooth chest strap or optical armband pairs the same way, adding a heart-rate stream to the recording.
Chest straps are still the most reliable indoors.
If your trainer is a recent one from a major brand, it almost certainly supports FTMS — but it's worth a five-second check on the spec sheet before you buy. Our smart trainer buying guide covers which protocols matter and why FTMS is the one that's genuinely non-negotiable.
When it won't connect
Bluetooth pairing fails in a small number of predictable ways, and almost all of them have a one-line fix:
Nothing shows up in the chooser
The trainer is almost always still connected somewhere else. Close Zwift, the trainer's own app or another browser tab — Bluetooth LE only lets one app hold a device at a time. Then wake the trainer again and retry.
“Pair” is greyed out or does nothing
You're probably not on Chrome or Edge. Web Bluetooth doesn't exist in Safari or Firefox, so the button can't work there. Switch to a Chromium browser and reload.
It connects, then drops mid-ride
Usually range or interference. Move the computer closer to the trainer, and keep it clear of the Wi-Fi router and a crowded 2.4 GHz band. A cheap USB Bluetooth dongle often beats an older laptop's built-in radio.
Numbers look wrong or frozen
You may have paired two power sources fighting each other — e.g. the trainer and a separate power meter both reporting. Pick one as your power source and unpair the other.
You're on an iPhone or iPad
It won't work, and it isn't your setup. No browser on iOS or iPadOS supports Web Bluetooth, so trainer pairing isn't possible there at all. Use a computer or an Android device instead.
The single most common one is worth repeating on its own: a Bluetooth trainer can only be held by one app at a time. If it won't appear in the chooser, something else already has it — another browser tab, the trainer's setup app, or a session you thought you'd closed. Shut the others, wake the trainer, and it'll show up.
The honest limit: Bluetooth, not ANT+
Web Bluetooth is exactly that: Bluetooth. It can't read ANT+, because browsers have no way to talk to an ANT+ dongle. In practice this rarely matters — nearly every modern trainer, power meter and strap dual-broadcasts Bluetooth as well — but if you own an older sensor that's ANT+ only, a browser app won't see it. That's the trade for needing no install. It also means iPhone and iPad are out: no iOS browser supports Web Bluetooth, so pairing has to happen on a computer or an Android device.
None of this needs a native app, a launcher or a gaming PC — which is rather the point. In Moveee Indoor, our own browser-based indoor app, you pair the trainer over Bluetooth exactly as above, then ride one of your own saved routes rebuilt in 3D from real map data. ERG holds your watts in a workout; outside one, the real gradient drives the resistance. The finished ride saves with full power data, lands on your Moveee calendar and plan, and publishes to Strava in a tap. It's free while in alpha, Chrome or Edge only, and there's nothing to download.
If you want the wider picture of what a browser can and can't do with your gear — and where a native app still has the edge — read what a browser-based cycling app can do next. But for the specific job of getting your trainer talking to a tab, that's the whole of it: open, pair, ride.
Keep reading

A Zwift alternative that runs in your browser — no download, no install
If you want the Zwift experience without the 12 GB download, the launcher and the gaming PC, the answer now runs in a browser tab. Here's how a no-install alternative works — and where it doesn't.

The cycling trainer app that runs entirely in your browser
No launcher, no updates, no disk space — just a tab, your smart trainer and the road. Here's what a browser-native trainer app can do in 2026, and the honest limits of the approach.