Chrome is the world's most-used browser, and it ships with a strict audio autoplay policy that trips up almost every browser-based alarm clock. If you have ever set an online alarm, gone back to work in another tab, and heard nothing when the alarm time arrived — this article explains exactly why that happens and how to fix it.

How browser alarm clocks work

A browser-based alarm clock uses JavaScript's setInterval or a service worker to check the current time every few seconds and play an audio alert when the target time is reached. The alert is generated either by loading an audio file or by synthesising sound directly using the Web Audio API.

VClock uses the Web Audio API to synthesise a cuckoo chime — no audio files to load, no network request required. That makes it faster and more reliable than systems that depend on fetching an MP3.

Why Chrome blocks alarm sounds (autoplay policy)

In 2018, Chrome introduced its autoplay policy: audio and video can only start playing automatically if the user has previously interacted with the page (a click, a tap, a keypress). The intent was to stop websites from blasting audio the moment you land on them — a legitimate quality-of-life improvement.

The unintended side effect: if your alarm page has been sitting in a background tab since you set the alarm, Chrome may classify the tab as "uninteracted" and block the audio from playing when the alarm fires.

How to make your online alarm clock reliable in Chrome

1. Interact with the alarm page before switching tabs

Click anywhere on the alarm page — a button, a blank area of the page — immediately after setting your alarm. This interaction registers in Chrome and unlocks audio playback for the session. It is the simplest fix.

VClock prompts for this automatically: when you set an alarm, the app immediately attempts to play a brief silent audio context to unlock the audio stream. As long as you have clicked the page at least once, the alarm will fire correctly.

2. Allow sound in Chrome's site settings

You can permanently allow audio for a specific site:

  1. Click the padlock icon in Chrome's address bar.
  2. Select Site settings.
  3. Find Sound and change it from Automatic to Allow.

With Sound set to Allow, Chrome bypasses the autoplay check for that domain and the alarm will play even if the tab has been idle in the background.

3. Keep the tab active or pin it

Chrome throttles background tabs to save resources, which can affect the frequency of JavaScript timer callbacks. If your alarm is set for a very specific time (e.g. 9:00:00 exactly), a heavily throttled tab might fire a few seconds late. Pinning the tab (right-click the tab → Pin) keeps it resident without requiring it to be the active tab, and Chrome throttles pinned tabs less aggressively.

4. Use a desktop notification as backup

Modern browsers support Web Notifications — pop-up alerts from browser tabs that appear even when the tab is not in the foreground, and even when another application is in focus. If you allow VClock to send notifications when prompted, the alarm will trigger a desktop notification alongside the audio, giving you a visual backup if audio is blocked.

Does it work on mobile Chrome?

Mobile Chrome has the same autoplay restrictions as desktop Chrome, and adds another constraint: mobile browsers aggressively suspend background tabs to save battery. On Android, you can partially work around this by:

  • Keeping the browser tab in the foreground (do not lock your screen).
  • Using Chrome's "Desktop Site" mode, which is sometimes throttled differently.
  • Setting the alarm through your device's native alarm app for anything safety-critical — browser alarms on mobile are best treated as convenience reminders, not wake-up alarms.

What makes VClock's alarm clock different

Most online alarm clocks play an audio file (typically an MP3 hosted on a CDN). This means the alarm requires a network request to fetch the sound — if your connection drops or the CDN is slow, the alarm is silent. VClock synthesises its cuckoo chime locally using the Web Audio API oscillators. No network request. No server. The chime is generated in your browser in real time, which means it works reliably offline as long as the page has already loaded.

Additional features: multiple simultaneous alarms, custom text labels (so "Meeting with Anna" appears in the notification instead of just "Alarm"), optional repeat days (Mon–Fri, weekends, every day, or once), and persistence across page reloads via localStorage. All without an account.

Troubleshooting: my alarm didn't go off

  • Sound was muted at OS level — the most common cause. Check your system volume and any "Do Not Disturb" or Focus mode settings.
  • Tab was closed — browser alarms only fire while the tab is open. If you close the browser, the alarm cannot fire.
  • Chrome blocked autoplay — follow the steps above to allow sound for the site.
  • Tab was throttled on mobile — the tab was suspended. Use your device's native alarm app for wake-up reliability.
Free Online Alarm Clock — free, no sign-up Set a free alarm clock right now — works in Chrome with no download →