Metronome
A steady click from 20 to 300 BPM, with tap tempo, accented and muted beats, and subdivisions — timed on the audio clock, in your browser.
Metronome stopped.
BPM · Allegro
Press a beat to cycle it between accented (>), normal and muted (a rest).
Space start/stop · T tap · + − tempo
How to use the online metronome
- 1
Set the tempo
Type a number, drag the slider, use the plus and minus buttons, or tap along to a recording with Tap tempo. The Italian marking underneath — Andante, Allegro — updates as you go.
- 2
Shape the bar
Choose how many beats are in a bar, and press any beat to cycle it between accented, normal and muted. Add a subdivision to hear eighths, triplets or sixteenths between the beats.
- 3
Press Start
Or press the space bar. Changes made while it is running take effect on the next beat, so you can push the tempo up without losing your place. The settings are in the address bar, ready to bookmark or send.
Why the timing holds
The obvious way to build a metronome in a web page is a timer that fires every beat and plays a click. It is also the wrong way. Page timers are a request, not a promise: the browser runs them when it gets round to it, which can be a few milliseconds late when the page is busy and far later when it is in the background. You can hear a few milliseconds of wobble in a click track, and a metronome that wobbles is worse than none.
This one separates deciding from playing. A timer still wakes up every 25 milliseconds, but all it does is look a little way ahead and hand every click due in the next tenth of a second to the browser’s audio engine, each stamped with its exact start time. The audio engine runs on its own clock, on its own thread, and starts each click to the sample. A late timer only means the next batch is handed over a little later; the clicks themselves do not move.
Each click’s time is worked out from when you pressed Start, not by adding one beat to the last. Adding up intervals gathers tiny rounding errors, and over twenty minutes they become audible drift; multiplying from a fixed point does not. When you change tempo mid-play, the change is pinned to the next beat, so the bar you are in finishes at the speed it started.
Getting more out of a click
Start slow enough to play it clean. The usual advice for a hard passage is to find the tempo where you can play it perfectly three times in a row, then go up a few BPM. The plus button and the + key move one BPM at a time, and the change waits for the next beat, so you can nudge it up without stopping.
Use subdivisions to fix rushing. Most timing problems live between the beats. Hearing the eighths or sixteenths makes it obvious when a run is racing ahead, and once it is even, switch back to plain beats and see if it holds.
Then take clicks away. Muting beats makes the metronome do less of the work. Clicks on 2 and 4 only give a backbeat to swing against; a single click on beat 1 of every bar leaves you to keep time on your own for the rest. When the click and you still land together on the downbeat, your time is your own.
For a band, set the tempo and send the link: the address carries the tempo, the bar and the accents, so everyone practises to the same click.
Frequently asked questions
This one is, because it does not use the page's timers to make the clicks. Each click is handed to the browser's audio engine ahead of time with an exact start time, measured on the same clock that plays the sound. The page can be busy, or the timer that feeds the engine can run tens of milliseconds late, and the clicks still land where they should. Every click's time is calculated from the start rather than added up one after another, so it does not drift over a long session either.
Press Tap tempo, or the T key, in time with the music — four or more taps give a good reading. It takes the middle value of the gaps between your last eight taps rather than the average, so one rushed or late tap does not throw the result. Pause for two seconds and the next tap starts a fresh measurement.
Compound time is felt in groups of three. For 6/8 at a moderate tempo, set 2 beats per bar with triplets: each beat is a dotted quarter, and you hear the three eighths inside it. For a slow 6/8, set 6 beats per bar with the first and fourth accented instead. 9/8 and 12/8 work the same way with 3 and 4 beats.
Mute beats. Press a beat to cycle it to muted, and it stays silent while the count carries on. Clicking only on beats 2 and 4 is the classic way to practise swing and backbeat feel; muting everything except beat 1 trains you to keep time across the bar on your own.
Yes. Browsers slow down timers on pages you are not looking at, which is what makes many web metronomes stutter the moment you switch to your sheet music. The timer that feeds this one runs in a separate worker that is not slowed down that way. On phones, locking the screen may still suspend audio — that is the operating system, not the page.
They are the traditional Italian terms composers write at the top of a score, roughly from slowest to fastest: Grave, Largo, Larghetto, Adagio, Andante, Moderato, Allegro, Vivace, Presto and Prestissimo. The BPM ranges vary a little between sources and between editions, so treat the marking as a guide to character rather than a rule.
Tempo, beats per bar, subdivision and the accent pattern are kept in the page address as you change them. Bookmark it, or send it to the rest of the band, and it opens exactly as you left it. Nothing is stored on a server, and there is no account to make.
Browsers do not let a page start playing audio on its own — a click or key press has to come first. That is a good rule, and it is why the metronome waits for Start.
The Zeal Promise
Non-negotiable, on every tool we ship.
- No sign-up — ever
- No watermarks on any output
- No ads near the download button
- Works fully on mobile
- Privacy-first: processing stays in your browser
- Open source (MIT) — audit it, contribute, self-host
- Zero runtime dependencies in tool logic