Skip to main content

Test your microphone, camera, and headphones all in one place.

Microphone
Pending
Camera
Pending
Headphones
Pending
All calculations performed locally in your browser. No data sent to server.

Results are for informational purposes. Verify results with other sources.

The microphone meter shows the signal after the browser has already cleaned it up

Browsers apply echo cancellation, noise suppression and automatic gain control to captured audio by default. What the level meter draws is therefore the processed signal, not what the microphone actually heard. A flat reading can mean a dead microphone, or it can mean noise suppression doing its job well — and a healthy-looking bar can be gain control amplifying a very weak input.

How it works

  • Requests microphone access and draws a live level from the captured stream.
  • Opens the camera for a visual check and plays a tone through the current output device.
  • Keeps a log of each step so you can see which stage failed rather than only that something did.
microphone: getUserMedia({ audio: true })
  → AudioContext → MediaStreamSource → AnalyserNode → level
camera:     getUserMedia({ video: true }) → preview element
output:     play a known tone and confirm you can hear it

browsers enable echoCancellation, noiseSuppression and autoGainControl by default

Worked example

Working out why a microphone seems silent.

  1. permission granted, so the browser can see the device
  2. the meter stays near zero while you speak
  3. noise suppression may be treating steady input as background and removing it
  4. gain control can also mask the opposite fault, lifting a barely-working mic to a normal-looking level
  5. the log shows whether the stream opened at all, which separates a permissions fault from a hardware one

A meter that moves when you speak proves the whole chain works. A meter that does not is a starting point rather than a verdict, because three layers of processing sit between the microphone and the number.

Reading the result

  • The browser can only report what the operating system hands it. A muted input, a wrong default device, or a physical mute switch all look identical from here — silence with no error — so check the system sound settings before concluding the hardware has failed.
  • Output testing is the weakest part of any browser test, because nothing can confirm you heard the tone. The page can prove it played audio; only you can confirm it arrived, which is why the result depends on your answer rather than a measurement.
  • All three checks need a secure context and explicit permission. On a plain http:// page the media interface is absent entirely, and a denied prompt cannot be re-asked by the page — it has to be cleared in the browser's site settings.
  • Passing every check here does not guarantee a working video call. Conferencing applications choose their own devices and hold exclusive access to them on some systems, so a device that is free in the browser may still be taken elsewhere.

Common questions

The meter barely moves but people can hear me. Is something wrong?
Probably not. The level you see has passed through noise suppression and gain control, so it is a poor measure of raw input volume. If you are audible to others, the chain works — the meter is simply not a calibrated instrument.
Nothing happens at all when I start a test.
Check the permission first, then the page's protocol. If access was denied earlier the page cannot ask again and you will need to reset it in your browser's site settings; on a non-secure http:// page the media interface does not exist at all.