Skip to content
TestOnDevice

Frequency Tone Generator

Generate a precise 20 Hz–20 kHz tone with selectable waveform and a safe default volume. Never starts automatically.

Runs locally No uploadWorks on mobileWorks offline
⚠️ Start at a low volume, especially with headphones. High and very low frequencies at high volume can be uncomfortable or unsafe.

440 Hz

The tone never starts automatically and stops when you leave the page or switch tabs.

How this test works

Audio tests use the Web Audio API, which gives JavaScript access to the raw samples flowing through your sound hardware. For microphone tests we open an input stream with getUserMedia and route it into an AnalyserNode; for playback tests we generate tones with an OscillatorNode and send them to your speakers.

Everything is computed on your device. The level meter is the root-mean-square (RMS) of the incoming samples, the waveform is the time-domain buffer, and the spectrum is an FFT of that same buffer. None of this audio is recorded or transmitted anywhere.

Playback tests always start from silence and only make sound after you press a button, so a page can never blast audio at you on load. Any active audio is torn down when you press Stop, navigate away, or switch to another tab.

How to use it

  1. Press the start or grant-access button — the browser will ask for microphone permission only for input tests.
  2. For microphone tests, speak or make noise and watch the level meter, waveform and spectrum respond.
  3. For playback tests, start at a low volume and raise it gradually, especially with headphones.
  4. Use the on-screen controls to select a device, change settings, or play reference sounds.
  5. Press Stop when you are done to release the microphone and silence any tone.

What it detects

  • Whether your browser can access the device and receive a signal at all
  • Relative input level, clipping, and silence on the microphone
  • The browser-reported sample rate, channel count and processing settings
  • Whether you can subjectively hear a generated tone through your speakers or headphones

What it can’t detect

  • Calibrated loudness in decibels (dB SPL) — browsers expose only relative amplitude
  • A microphone’s or speaker’s certified frequency response or hardware specifications
  • Hardware faults versus driver, routing or operating-system configuration issues

Troubleshooting

SymptomWhat to do
No permission prompt appearsCheck that the site is on HTTPS and that your browser hasn’t already blocked the microphone in its site settings (padlock icon).
The level meter stays flatPick the correct input device from the selector and make sure it isn’t muted in your operating system.
Constant clippingLower the input gain / microphone level in your OS sound settings, and move away from the mic.
Echo or noiseUse headphones to avoid the speaker feeding back into the mic, and reduce background noise.
Device is busyClose other apps (video calls, recorders) that may be holding the microphone, then retry.

FAQ

Does this upload my audio?

No. All analysis happens locally in your browser and nothing is recorded or uploaded.

Why can’t I see exact decibels?

Browsers expose a relative signal level, not calibrated sound pressure. Showing dB SPL would require lab calibration that isn’t possible in a browser.

Do I need to install anything?

No. Everything runs in a modern browser with no installation, plugin, or account.

Why does it need HTTPS?

Browsers only grant microphone access on secure (HTTPS) origins to protect your privacy.

Can I use these tests on my phone?

Yes. The audio tests work in mobile browsers, though available devices and settings vary by platform.

Is it safe for my hearing and speakers?

Playback starts quiet and never autoplays. Still, keep the volume moderate — especially with headphones and at very high or very low frequencies.

Related tests