A precise browser metronome with tap tempo, any time signature, subdivisions and accented beats — no app, no sign-up.
Set a tempo, pick a time signature and press Start. The pendulum swings once per beat, the dots light up in turn, and the first beat of every bar is accented so you can feel where the bar begins.
Most simple web metronomes drive clicks from setInterval, which is throttled and jittery — the error accumulates and the beat wanders. This one uses the standard lookahead scheduler pattern: a fast timer only queues clicks, and each click is scheduled on the Web Audio clock at an exact time a fraction of a second in the future. The audio hardware plays it sample-accurately, so the gap between beats stays exact no matter how busy the page is.
If you switch to another tab the scheduler automatically looks further ahead, so background timer throttling cannot punch a hole in the beat while you read a score.
The numerator is how many beats are in a bar (1 to 12) and the beat unit is the note value that gets the beat — 4 for a quarter-note beat, 8 for an eighth-note beat. Compound meters such as 6/8, 9/8 and 12/8 are accented in groups of three automatically (beats 1 and 4 in 6/8), which is the feel those meters actually have.
Subdivisions add extra clicks between the main beats: 2 gives eighths in 4/4, 3 gives triplets, 4 gives sixteenths. Subdivision clicks are quieter so you can still hear where the beat is.
| Marking | BPM | Feel |
|---|---|---|
| Grave | 20–29 | Very slow, solemn |
| Largo | 30–49 | Broad and slow |
| Lento | 50–59 | Slow |
| Adagio | 60–65 | Slow, at ease |
| Andantino | 66–75 | A little faster than Andante |
| Andante | 76–107 | Walking pace |
| Moderato | 108–119 | Moderate |
| Allegro | 120–155 | Fast and bright |
| Vivace | 156–175 | Lively |
| Presto | 176–199 | Very fast |
| Prestissimo | 200–300 | As fast as possible |
Boundaries between tempo markings have always been approximate — different editions disagree. These are the ranges most commonly used today.