DEVELOPER TOOL

Mic Test: Check Your Microphone Online

Start your microphone to see its level in dBFS, catch clipping, view the waveform or spectrum and record a 5-second test to play back. Audio never leaves your browser.

Ask the browser for:
RMS -∞ dBFS
Peak -∞ dBFS
Peak hold -∞ dBFS
No clipping

Record 5 seconds, then play it back to hear how you sound. The recording stays in this tab's memory and is deleted when you leave.

About this tool

This mic test checks that your microphone works in the browser and shows how loud it is. Click Start microphone and speak: a live meter shows the level in dBFS (both average RMS and instantaneous peak), a clip light warns when the signal hits the digital ceiling, and a waveform or frequency view shows the sound itself. You can choose between microphones, see which voice processing the browser applied, and record five seconds to play back. All of it runs in your browser. Audio is never uploaded, and the test recording exists only in this tab's memory.

How to use the mic test

  1. Click Start microphone and choose Allow when the browser asks. Only the microphone is requested, not the camera.
  2. Speak normally. The bar should move with your voice. If it stays empty, see the troubleshooting list below.
  3. Pick the right microphone. Names fill in the Microphone list once you have given permission. Choosing another restarts the test with that device.
  4. Check the processing. Echo cancellation, noise suppression and auto gain control are requested by default. Untick them to hear the raw microphone; the report shows what the browser actually applied.
  5. Record 5 seconds and play it back. Download recording saves the clip if you want it; nothing is saved otherwise.
  6. Click Stop microphone when done. The test also stops when you switch tabs or leave the page.

What dBFS means

dBFS means decibels relative to full scale. In digital audio the largest value a sample can hold is full scale, and that is 0 dBFS. Everything quieter is a negative number: dBFS = 20 × log10(amplitude), where amplitude is the sample value divided by full scale. Halving the amplitude lowers the level by about 6 dB.

Amplitude (share of full scale)Level
1.00 dBFS
0.5-6.02 dBFS
0.25-12.04 dBFS
0.1-20 dBFS
0.01-40 dBFS
0.001-60 dBFS

A signal cannot go above 0 dBFS in a fixed-point recording. Louder input is cut off flat, which is clipping and sounds like harsh distortion. dBFS is a digital scale, so it says nothing about how loud a sound was in the room; the same voice reads differently on every microphone and gain setting. Meters also differ in how they label RMS: the Rane note on dBu and dBFS shows that one AES definition reads a full-scale sine as +3 dBFS, while this page reads it as -3.01 dBFS RMS. Compare readings from the same meter.

How it works

The page calls getUserMedia() with audio only and feeds the stream into a Web Audio AnalyserNode. Several times a second it copies the latest 2,048 samples with getFloatTimeDomainData(), which MDN describes as PCM data with a nominal range of -1.0 to 1.0. From that block it computes:

The frequency view uses the analyser's FFT and names the strongest frequency, accurate to one FFT bin (the sample rate divided by 2,048, about 23 Hz at 48 kHz). The microphone is never routed to your speakers, so the test does not cause feedback. The report reads echoCancellation, noiseSuppression and autoGainControl from the track's getSettings(); per the W3C Media Capture spec, turning them off leaves the audio unaltered by that processing. The 5-second clip uses MediaRecorder and is held as an in-memory blob URL that is revoked when you record again or leave.

Worked example

Suppose a steady tone reaches the meter with a peak sample of 0.5. Peak = 20 × log10(0.5) = -6.02 dBFS. For a sine wave, RMS is the peak divided by √2, so 0.3536, and RMS = 20 × log10(0.3536) = -9.03 dBFS. The clip light stays off. Turn the tone up until the peak reaches 1.0 and the readings become 0.00 dBFS peak and -3.01 dBFS RMS, and the clip light comes on.

Mic not working? Troubleshooting

Common mistakes

Use cases

Frequently asked questions

How do I know if my mic is working?

Click Start microphone, allow access and speak. If the level bar moves and the RMS number rises when you talk, the microphone works and the browser can hear it. Record 5 seconds and play it back to hear the quality. If the bar never moves, check the device list, mute switches and privacy settings.

Does this mic test record or upload my voice?

No audio is uploaded. The live meter analyses sound in your browser and keeps nothing. The optional 5-second clip is stored only in this tab as a temporary blob in memory, and it is discarded when you record again, close the tab or leave. It is saved to your device only if you click Download recording.

Why is my microphone so quiet?

Check the input volume in your operating system sound settings, move closer to the microphone, and make sure you picked the right device here. Some headsets and webcams have their own gain controls. Auto gain control may also change the level over time, so try the test with it on and off and compare.

Why does my Bluetooth headset sound bad when the mic is on?

Classic Bluetooth stereo audio cannot carry the microphone, so when an app opens the headset mic the headset switches to the hands-free profile. That profile carries mono audio at 8 kHz or 16 kHz, which sounds noticeably worse for music. Audio quality returns once nothing is using the headset microphone.

Can I test my microphone on a phone?

Yes. Open this page in your phone browser, tap Start microphone and allow access. The meter, clip light and 5-second recording work the same way. If permission was refused, check the browser site settings and the phone settings app, which can block the browser from using the microphone.

What file format is the recording download?

The page asks the browser recorder for WebM with Opus audio first, then plain WebM, MP4 or Ogg, and uses the first one the browser supports. In Chrome that is WebM with Opus. The file extension matches the format the browser reports, and the line under the player shows the exact type.