Practice in perfect time — tap tempo, subdivisions, and per-beat accents
A metronome is one of the most fundamental practice tools available to any musician. Whether you are a beginner learning to stay on the beat or a seasoned professional sharpening your timing for a recording session, having a reliable and accurate metronome is non-negotiable. Our free online metronome delivers studio-quality timing precision using the Web Audio API — the same underlying technology used in professional audio software — directly in your browser with no downloads, no sign-up, and no cost. Unlike the old mechanical metronomes with their swinging pendulums, or simple smartphone apps that use imprecise timer functions, this tool uses a lookahead audio scheduling algorithm. This means beats are pre-scheduled into the audio engine up to 100 milliseconds ahead of time, completely eliminating the tiny timing variations (jitter) that plague setInterval-based metronomes. The result is a click track so tight you can use it to record alongside without audible drift. Setting your tempo is flexible and intuitive. You can type a BPM value directly, drag the full-width slider anywhere from 20 to 300 BPM, or use the ±1 and ±5 step buttons for fine-tuning. If you want to match the tempo of a song you are listening to, simply tap the Tap Tempo button (or press T) repeatedly to the beat — the tool calculates your average interval across the last 8 taps for a stable, accurate reading. Time signatures are fully configurable: set any numerator from 1 to 12 beats per measure, and choose quarter note (4), half note (2), or eighth note (8) as the beat unit. This covers everything from common 4/4 and waltz 3/4, to jazz-friendly 5/4 and 7/4, to compound meters like 6/8, 9/8, and 12/8 for blues, Irish jigs, and beyond. Each beat in the measure has its own independently programmable accent level — click any beat box to cycle it through strong, medium, soft, and mute. Beat 1 defaults to strong so the downbeat always stands out. Subdivisions let you fill in the rhythmic space between beats. Choose from quarter notes only (no subdivision), eighth notes (2 per beat), eighth note triplets (3 per beat), or sixteenth notes (4 per beat). Subdivision clicks are played at reduced volume so they support rather than overwhelm the primary beat pulse. This is invaluable for working on syncopated rhythms or practicing scales at higher speeds. Four synthesized click sounds are available — all generated entirely within the browser using the Web Audio API with no audio file downloads. The clean electronic Click is the default. Beep uses a higher-pitched oscillator for bright rooms or ear-bud practice. Wood Block synthesizes a warm percussive snap using band-pass filtered noise, ideal for acoustic practice spaces. Hi-Hat uses high-pass filtered noise to mimic the crisp transient of a cymbal. The Gradual Tempo Trainer is a differentiating feature that sets this metronome apart from basic competitors. Specify a target BPM, the increment size (e.g., +5 BPM), and how many measures to play before stepping up. Enable the trainer and the metronome will automatically ramp your tempo over time — a scientifically supported practice technique for building speed without muscle tension. Every practice session is tracked by the on-screen timer showing elapsed minutes and seconds. The current beat position highlights in the beat grid in real time so you can always see where you are in the measure at a glance. The Italian tempo marking (Larghissimo through Prestissimo) updates live as you change the BPM, giving you musical context for your tempo. Genre BPM indicators show you which musical styles fall within your current tempo range — a useful reference whether you are working on hip-hop grooves at 90 BPM or drum-and-bass patterns at 174 BPM.
Understanding Metronomes and Tempo
What Is a Metronome?
A metronome is a device or application that produces a steady, audible pulse at a precise tempo measured in beats per minute (BPM). Musicians of all skill levels use metronomes to develop internal rhythm, build technical speed gradually, and ensure their practice stays rhythmically consistent. The first mechanical metronome was patented by Johann Nepomuk Maelzel in 1815, and composers like Beethoven began marking their scores with BPM specifications. Today, digital metronomes built into DAWs, hardware drum machines, and web applications have replaced the mechanical versions in most practice scenarios while offering far greater flexibility in time signatures and subdivisions.
How Does the Timing Work?
The beat interval in milliseconds is simply 60,000 divided by the BPM. At 120 BPM, that is exactly 500 ms between beats. The critical engineering challenge is delivering these clicks with near-perfect regularity in a web browser environment where JavaScript's event loop introduces unpredictable small delays. The solution used here — the lookahead scheduler pattern — decouples audio scheduling from the JavaScript timer. Every 25 ms, the scheduler checks whether any upcoming beats fall within the next 100 ms window and pre-schedules them directly with the Web Audio API's sample-accurate clock. This means tempo jitter is measured in microseconds, not the 10–50 ms jitter you get from setInterval-based metronomes.
Why Practicing with a Metronome Matters
Practicing with a metronome develops what musicians call a strong internal clock — the ability to maintain a steady pulse without external assistance. Research in music pedagogy consistently shows that students who practice regularly with a metronome reach performance speeds faster and with more consistency than those who do not. Beyond simply keeping time, metronomes reveal exactly where your rhythmic weaknesses are: a passage that slips or rushes at a certain tempo is a diagnostic signal to practice that passage more slowly before increasing speed. The Gradual Tempo Trainer feature operationalizes this principle by automatically stepping up BPM only after you have demonstrated consistent execution at the current speed.
Browser and Device Considerations
Browser autoplay policies require that the AudioContext be started by a direct user gesture (button click or keypress) rather than automatically on page load. This is why the metronome does not start playing the moment you open the page. On iOS Safari, you may need to ensure your device is not in silent mode and that the browser tab is fully in focus for audio to play. Very old browsers that do not support the Web Audio API (pre-2018 versions of Internet Explorer) will not function, though all modern browsers on both desktop and mobile are fully supported. Battery-saving modes on mobile devices can occasionally throttle JavaScript timers; if you notice timing irregularities on mobile, disable battery saver mode and keep the screen active.
How to Use the Online Metronome
Set Your Tempo
Drag the BPM slider or use the ±1 / ±5 step buttons to dial in your desired tempo. You can also type a number directly into the BPM field. If you want to match a song's tempo, tap the Tap Tempo button repeatedly to the beat — the calculator averages your last 8 taps for an accurate reading.
Choose Time Signature and Subdivision
Select the number of beats per measure (1–12) and the beat unit (quarter, half, or eighth note). Then pick a subdivision — quarter notes only for a simple click, eighth notes for double time feel, triplets for a swung groove, or sixteenth notes for detailed rhythmic work. Each subdivision plays at reduced volume to support rather than overpower the main beat.
Program Per-Beat Accents
Once the metronome is running, click any beat box in the visual indicator to cycle through accent levels: Strong → Medium → Soft → Mute. Beat 1 starts as Strong by default. Create custom accent patterns for syncopation, odd meters, or specific rhythmic exercises. The accent level changes are applied immediately on the next measure.
Use the Tempo Trainer to Build Speed
Enable the Gradual Tempo Trainer at the bottom of the page, set a target BPM, choose how many BPM to add each step and how many measures between steps, then start the metronome. The tempo will ramp automatically — a highly effective technique for developing speed without tension or loss of accuracy.
Frequently Asked Questions
Why use a lookahead scheduler instead of setInterval?
JavaScript's setInterval and setTimeout are not guaranteed to fire at the exact time requested. The browser event loop, garbage collection pauses, and background tab throttling can cause delays of 10–50 ms per tick, which accumulates into audible drift over a long practice session. The lookahead scheduler bypasses this by using the Web Audio API's internal clock — which runs on a separate high-precision thread — to pre-schedule beats up to 100 ms ahead. JavaScript only needs to check in every 25 ms to queue the next wave, so even if a JavaScript tick is 15 ms late, the audio is already safely scheduled and plays exactly on time.
What do the Italian tempo markings mean?
Tempo markings are Italian words that describe the character and approximate speed of a piece of music. Larghissimo (very slow, under 24 BPM) and Grave (24–40 BPM) describe extremely slow, solemn tempos. Largo and Adagio (40–76 BPM) are slow and expressive. Andante (76–108 BPM) means 'walking pace' and is common in lyrical passages. Moderato (108–120 BPM) is a comfortable middle speed. Allegro (120–156 BPM) is fast and lively — one of the most common classical tempo markings. Vivace and Presto push into exciting, high-energy territory, while Prestissimo (above 200 BPM) indicates the fastest possible tempo.
How does Tap Tempo work?
When you press the Tap Tempo button (or the T key) repeatedly, the tool records the timestamp of each tap. It stores up to the last 9 taps and calculates the average interval between them in milliseconds. Dividing 60,000 by that average interval gives BPM. Using the average of 8 intervals rather than just the last two makes the detection stable and resistant to individual early or late taps. The first tap simply records a timestamp; you need at least two taps before a BPM is calculated. Tap at least four times for a reliable reading.
What are compound time signatures and how do I use them?
Compound time signatures like 6/8, 9/8, and 12/8 divide each beat into three sub-beats (triplet feel) rather than two. In 6/8 time, there are 6 eighth notes per measure, typically felt as two groups of three. To use this metronome for compound meters, set the beats per measure to 6 and the note value to 8. You can also set it to 2 beats per measure and choose triplet subdivision to get the compound duple feel with only two primary clicks per bar — whichever approach suits your practice goal.
Why does my browser ask for permission before sound plays?
Modern web browsers enforce an autoplay policy that prevents audio from starting without a user gesture. This policy was introduced to prevent websites from blasting sound the moment you open a tab. As a result, the metronome's AudioContext cannot be created or started until you click the Start button or press the spacebar. On iOS Safari, additionally ensure your device is not in silent mode and that the screen is awake and focused on the browser tab. These are browser security restrictions, not bugs in the metronome itself.
How do I use the Gradual Tempo Trainer?
The Gradual Tempo Trainer at the bottom of the page lets you practise the well-known technique of starting slow and gradually building speed. First set your current BPM using the main controls. Then in the trainer panel, enter your target BPM, the BPM increment (how much to add each step), and the number of measures to play between each step. Enable the trainer with the checkbox, then press Start. After every specified number of measures, the tempo increases automatically by your chosen increment until it reaches the target. To reset, stop the metronome and adjust the starting BPM manually.