Rock-steady tempo with accents, subdivisions and tap tempo — scheduled on the audio clock, so it never drifts.
120
BPM · Allegro
Space to start/stop · ↑ ↓ to nudge the tempo
A metronome is only useful if it is genuinely steady, and that is harder in a browser than it looks. Most web metronomes drive their click from a JavaScript timer, which drifts by tens of milliseconds under load — enough to hear, and enough to make practising to it frustrating. This one schedules every click ahead of time against the audio hardware clock, the technique the Web Audio spec recommends, so the pulse stays locked no matter what else the page is doing.
On top of that it does everything a practice metronome should: any tempo from 20 to 300 BPM, time signatures from 2/4 to 12/4, an accented first beat, subdivisions in eighths, triplets and sixteenths, a softer wood-block voice, and tap tempo for matching a track by ear. A row of dots shows exactly where you are in the bar, and the space bar starts and stops it so you can keep your hands on your instrument.