Microphone test online
Verify your microphone with real-time level, waveform, and spectrum analysis.
Microphone access needed
This tool reads your microphone to measure level, waveform, and spectrum. Audio is processed locally in your browser — nothing is uploaded.
This microphone test opens an audio-only stream with getUserMedia and routes it into a Web Audio AnalyserNode with a 2048-point FFT. From the time-domain buffer it computes RMS and converts it to decibels on a 0 to -60 dBFS scale, holds the peak for a second and then lets it decay, and raises a clipping warning the moment level passes -1 dBFS. The same buffer draws a live oscilloscope, while the frequency bins draw a spectrum so you can see hum, rumble and sibilance rather than guess at them. Noise suppression, echo cancellation and auto gain control start switched off, so what you see is the raw capture.
Key facts about Microphone test online
| Capture API | navigator.mediaDevices.getUserMedia with audio constraints and an optional deviceId |
|---|---|
| Analysis node | Web Audio AnalyserNode, fftSize 2048, smoothingTimeConstant 0.8 |
| Level calculation | RMS of the 2048-sample time-domain buffer, converted with 20 x log10 |
| Meter range | clamped to 0 dBFS at the top and -60 dBFS at the floor |
| Peak hold | held for one second, then decays 0.5 dB every 50 ms back toward the floor |
| Clipping threshold | raised above -1 dBFS, where digital headroom is effectively gone |
| Oscilloscope | getByteTimeDomainData, redrawn every animation frame |
| Spectrum | getByteFrequencyData across 1024 bins, up to half the sample rate |
| Processing toggles | noise suppression, echo cancellation and auto gain control, all off by default |
| Device info | track label, AudioContext sample rate, channel count and baseLatency in milliseconds |
| Recording format | MediaRecorder using audio/webm with Opus when the browser supports it |
| Export | a JSON report with the device info, the peak level reached and the processing settings used |
What happens to your file
Audio is analysed in this tab and nowhere else. The stream from getUserMedia is connected to an AnalyserNode inside a local AudioContext, the numbers it produces are drawn straight onto two canvases, and no sample is ever sent over the network. A test recording is assembled by MediaRecorder into a WebM Blob held in memory; play it back, download it, or navigate away and it is gone. Stopping the mic stops every track, closes the AudioContext and releases the device, which is what turns off the recording indicator in your operating system. Nothing is written to storage, so there is no history of what you said.
About this tool
- 1
Grant microphone access
Accept the browser prompt. If you blocked the microphone here before, the prompt will not return — clear the site permission from the padlock in the address bar and reload.
- 2
Select the right input
Once permission is granted, the device list shows real names. Laptops usually have both a built-in array and whatever headset is plugged in; pick the one you actually want to test.
- 3
Speak at your normal distance
Talk at the volume and distance you would use in a call. Aim for peaks around -12 to -6 dBFS: loud enough to sit well above the noise floor, quiet enough to leave headroom.
- 4
Check the noise floor in silence
Stop talking and watch the meter settle. A quiet room with a decent mic sits near the -50 to -60 dBFS floor. A floor that hovers around -30 means hum, fan noise or a gain setting that is far too high.
- 5
Read the spectrum, not just the meter
A strong bar at the far left is low rumble from a desk or an air conditioner. A narrow spike at 50 or 60 Hz and its multiples is mains hum. A hot region between 5 and 8 kHz is sibilance.
- 6
Toggle the processing on and off
Noise suppression, echo cancellation and auto gain control start off so you hear the raw capture. Turn each on and watch the spectrum and meter change — that is exactly what a call app is doing to your voice.
- 7
Record and listen back
A short recording played through your headphones is the only way to hear artefacts a meter cannot show: crackle from a failing cable, USB whine, room echo and plosives.
- 8
Export the report if you are filing a ticket
The JSON summary records the device name, sample rate, channel count, base latency and the peak level reached, which is more useful to a support desk than a description.
| Browser support | Chrome, Edge, Firefox, Safari 11+ and Opera; Safari needs the webkitAudioContext fallback the page includes |
|---|---|
| Secure context | microphone access requires HTTPS, which this page uses |
| Sample rate | set by the AudioContext, normally 44,100 or 48,000 Hz — the page does not force a rate |
| Spectrum ceiling | half the sample rate, so roughly 22 kHz or 24 kHz |
| Device labels | blank until permission is granted, by browser design |
| Safari and the toggles | may ignore noiseSuppression and autoGainControl constraints and apply its own processing |
| Recording playback | WebM Opus plays in Chrome, Edge and Firefox; Safari support for the container is limited |
| Account or install | none — no signup, no driver, no app |
- Wear headphones before enabling the mic. Open speakers plus a live input is how feedback loops start.
- Clipping is a hard ceiling, not a loudness rating: once the meter hits it, that part of the waveform is gone and no software can restore it. Lower input gain in the OS sound settings rather than moving further away.
- A mains hum spike at 50 Hz in Europe or 60 Hz in North America is usually a ground loop; try a different USB port, remove hubs, or power a laptop from battery to test.
- Auto gain control makes a quiet mic look fine on the meter by amplifying the room with it — test with it off first, then decide.
- Echo cancellation is designed around speakers and a mic in the same room. Leave it on for calls and off when recording anything you intend to keep.
- If the level meter never moves, check the operating system input device and its volume slider; the browser can only read what the OS routes to it.
- Base latency below about 10 ms means the audio stack is behaving. Much larger figures often point at a Bluetooth headset or a shared driver mode.
- Bluetooth headsets drop to a narrowband profile when the microphone is in use, which caps the spectrum near 8 kHz — that is the protocol, not the microphone.
- Live dB meter with one-second peak hold and decay
- Clipping warning above -1 dBFS
- Oscilloscope drawn from the raw time-domain buffer
- Frequency spectrum from a 2048-point FFT
- Noise suppression, echo cancellation and auto gain toggles
- Device selector with sample rate, channels and base latency
- Record, play back and download a WebM test clip
- JSON report export
- Checking a headset works before a meeting, an interview or a stream.
- Finding the source of a hum or buzz by reading it off the spectrum instead of guessing.
- Setting input gain so peaks land near -12 dBFS with no clipping.
- Comparing a USB microphone against a laptop's built-in array on the same scale.
- Testing whether a browser's noise suppression is what makes your voice sound thin on calls.
- Documenting a faulty microphone with a recorded clip and a device report for support.
Related tools
View allPart of Hardware testers that run in your browser
Works well with this5
More hardware testers10
More in Gaming11
Related categories2
Updated