All posts
Guides ·4 May 2025 · 9 min read

How to connect a smart trainer to your browser with Web Bluetooth

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.

The short version

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:

1

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.

2

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.

3

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.

4

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.

5

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.

An athlete about to lift a barbell in a dark gym
Once the browser holds the trainer, resistance follows the road on screen — and in a workout, ERG holds each interval's target watts.

What it pairs with

Three classes of device cover almost every indoor setup, and each one connects over a standard Bluetooth profile:

FTMS

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.

CPS

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.

HR

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+

ANT+ isn't supported — and can't be

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.

Sources 6

Where this article summarises a study, the study itself is linked — not a write-up of it.

  1. 1 Web Bluetooth (Draft Community Group Report) · W3C Web Bluetooth Community Group · 2024
  2. 2 Web Bluetooth API — browser compatibility · MDN Web Docs (Mozilla) · 2024
  3. 3 Fitness Machine Service 1.0 · Bluetooth SIG · 2017
  4. 4 Cycling Power Service 1.1 · Bluetooth SIG · 2016
  5. 5 Heart Rate Service 1.0 · Bluetooth SIG · 2011
  6. 6 ANT+ Basics · ANT+ (Garmin Canada) · 2024
Ride it, don't just read it

Your own roads, indoors, in a browser tab

Moveee Indoor pairs your smart trainer over Bluetooth and rebuilds a route you have saved as a 3D road — real gradients, ERG for the intervals, and the ride saved with full power data. Nothing to install. Free while it is in alpha.

Start an indoor ride

Keep reading

Guides

Smart trainer not connecting? Fixing Bluetooth pairing on Mac, Windows and Android

Nine times out of ten a trainer that won't connect is already connected — to an app you forgot was open. A symptom-by-symptom fix-it guide for Bluetooth pairing: not found, won't pair, pairs then drops, power reads zero — with the platform quirks for Mac, Windows and Android that nobody documents.

Guides

Indoor cycling on an Android tablet or phone (in the browser)

You don't need a laptop or an app-store download to train indoors. Here's how to run a full indoor cycling app on an Android tablet or phone, straight from Chrome — pairing your smart trainer over Bluetooth, holding ERG targets and saving to Strava.

Guides

ERG mode in the browser: hold your watts on any smart trainer

ERG mode used to mean installing a desktop app. Not any more. Here's how ERG mode in the browser works — how a tab sets the resistance on your smart trainer and holds your target watts through every interval, free.

Guides

The best indoor cycling app for Mac (no download, runs in your browser)

Looking for an indoor cycling app for Mac that doesn't need a download? macOS runs a full smart-trainer session straight from a browser tab — pairing, ERG, real 3D roads and a Strava upload. Here's how, and the one thing to watch on Apple Silicon.

Guides

A free app for Saris and JetBlack trainers (in your browser)

A Saris H3 or a JetBlack Volt doesn't need a subscription to earn its keep — both brands speak standard Bluetooth FTMS, so a browser tab can control resistance, hold ERG targets and record the ride. Model-by-model support, pairing steps, and the honest caveats for older wheel-on units.

Guides

Zwift on iPad? A browser alternative for tablets that actually works

Searching for Zwift on iPad — or a lighter tablet alternative? Here's the honest state of indoor cycling on tablets in 2026: what works on an Android tablet in the browser, the real iPad Bluetooth catch, and the simplest setups that just work.

Guides

A free app for the Zwift Hub and Zwift Ride (yes, without Zwift)

Zwift's own trainers speak the same standard Bluetooth as everyone else's — which means a Zwift Hub or Zwift Ride works perfectly well without a Zwift subscription. How to pair Zwift hardware with a free browser app, what works (ERG, resistance, power), and the honest caveats around buttons and firmware.

Guides

Can you use a spin bike with cycling apps? What works and what doesn't

The gym-style spin bike in your spare room and the cycling apps on your laptop live in different worlds — but there are honest bridges between them. What a dumb spin bike can and can't do, the sensors that unlock app compatibility, which smart bikes broadcast openly, and when a used smart trainer is simply the better buy.

Guides

From a browser tab to Strava: how Moveee Indoor runs a full trainer session

Follow one indoor ride from cold trainer to a Strava post — pairing, ERG intervals, a real 3D road, full power analysis and a one-tap upload — all without installing a thing.

Guides

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.

Guides

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.

Route craft

How to ride a GPX file indoors on your smart trainer

Any route you can export as a GPX file, you can ride indoors. Here's how to turn a GPX into a 3D indoor ride on your smart trainer — with real gradients driving the resistance — straight from your browser, no install.

Ready to ride with a plan?

Connect Strava and get your first three-week block today — free.

Continue with Strava