Webcam and Microphone Test
See your camera and watch your mic level, before the call starts.
Runs entirely in your browser
Loading the tool…
Camera preview appears here.
- —Level (dBFS)
- —Peak (dBFS)
- —Status
Your voice, drawn
- —Noise floor (dBFS)
- —Sample rate
- —Channels
- —Voice pitch
Hear yourself
Records five seconds into this tab's memory, ready to play when you want. Nothing is saved or sent.
The browser's own processing
Calls switch these on. Turn them off to hear the raw microphone, then record again to compare.
What the camera can do
- —Delivered
- —Frames per second, measured
- —Lighting
| Capability | This camera |
|---|---|
| Start the camera to read what it reports. | |
Grant camera and microphone access and you get a live preview plus an input level meter. Speak normally: the meter should sit around the middle of its range and peak without reaching the clipping marker. A flat meter means the wrong input is selected, so switch it in the dropdown.
It is the whole pre-call check on one page: how you look (measured frame rate, a lighting verdict, the resolution you are really getting) and how you sound (level, noise floor, and five seconds recorded and played back so you hear yourself as the call will). For one device at a time, with more on each, use the webcam test or the microphone test.
Your video and audio are not recorded, transmitted or stored. The video stays in the page and the audio is measured frame by frame in WebAssembly; press Stop, or close the tab, and the browser turns the camera light off.
This is the one tool here that a browser may refuse to run from a file on disk. Camera permissions are attached to a web address, and a page opened directly has none. Firefox will still ask and allow it, but Chrome, Edge and Brave refuse before any prompt appears. Opening the page from a web address, including a local one, works everywhere.
How to use it
- Press Start and allow camera and microphone access when the browser asks.
- Check the preview, then speak and watch the level meter respond.
- Switch devices in the dropdowns if the wrong one is selected, then press Stop.
Questions
Is my video recorded or uploaded?
No. The stream is attached to a video element in this page and never leaves your device. Nothing in the page uploads it, and the meter is computed from the audio in your browser.
Nothing happens when I press Start. Why?
Check the address bar. If it shows a file path rather than a web address, Chrome, Edge and Brave will refuse before showing a prompt: a permission has to belong to a web address, and a page opened from disk has none. Firefox is the exception and will ask normally. Serving the page over http or https fixes it in every browser.
The browser is blocking my camera. What now?
Click the padlock in the address bar and allow camera and microphone for this site, then reload. On macOS also check System Settings › Privacy & Security. Remember that only one application can hold the camera at a time, so quit any video call already running.
What should the level meter show?
Normal speech should push it to somewhere around the middle, with peaks well short of the clipping marker. Constant clipping means the input gain is too high; a barely-moving meter means it is too low, or the wrong microphone is selected.
Why is the level in negative numbers?
That is dBFS: decibels relative to the loudest signal that fits, which is 0. Everything quieter is negative, so −20 dBFS is a healthy speaking level and −60 is close to silence.
Does this record me, or upload anything?
Neither. The video preview is your own camera stream drawn straight back onto the page, and the meter is the microphone level measured in the tab. Nothing is recorded, stored or sent anywhere, and closing the tab ends the stream. The camera light going out when you press Stop is the browser confirming it.
What is dBFS, and what should mine read?
Decibels relative to full scale: 0 is the maximum a digital signal can represent, so every real level is a negative number. Speech peaking between -18 and -6 is healthy. If your peaks touch 0 the waveform is being clipped flat and the distortion cannot be removed afterwards, so turn the input gain down rather than fixing it later.
Why can this page see my camera when my meeting app cannot?
They ask separately. The browser has its own permission, the meeting app has its own, and the operating system has a master switch above both. On Windows a camera can usually only be held by one application at a time, so an app left running in the background will keep everything else black.
My devices show as "Camera 1" with no real name.
That is the privacy rule working. Until a page has been granted access once, browsers withhold device labels so a site cannot fingerprint you by the hardware you own. Press Start, allow access, and the proper names appear in the lists.
Is a browser test enough before an important call?
It answers the questions worth answering: whether the operating system sees the hardware, whether the browser is allowed to use it, and whether the microphone produces a signal at a sensible level. What it cannot tell you is how you sound over a congested network, so if the call matters, test in the actual application as well.
When something is not working
| What you see | Usually | What fixes it |
|---|---|---|
| No devices listed at all | Permission has not been granted yet | Press Start. Browsers hide device names until a page has been allowed once |
| No prompt appears, nothing happens | You chose Block here before | Click the padlock or camera icon in the address bar and reset the permission |
| Black preview, camera light on | Another application holds the camera | Quit Zoom, Teams or OBS. On Windows the camera is often exclusive to one app |
| Preview fine, meeting app blank | That app has its own permission, or a different device selected | Check the app's own settings, and the operating system privacy panel |
| Meter flat while you talk | Wrong input, or a hardware mute | Switch device in the list, and check the inline switch on a headset cable |
| Meter pinned at the top | Input gain far too high, so everything clips | Lower the input level in the system sound settings |
| Everyone hears an echo | Your speakers are feeding your microphone | Use headphones. No amount of software cancellation beats this |
The level meter reads in dBFS, decibels relative to full scale, where 0 is the loudest signal the format can hold and everything else is negative. Normal speech should peak somewhere between -18 and -6 dBFS, with the meter moving. Sitting at 0 means you are clipping and the distortion is already recorded. Sitting below -50 means the microphone is not hearing you, however loud it feels in the room.
One device at a time
The same tester, asking for only the device the page is about, so no light comes on that you did not ask for:
Your data stays on your device
Everything above runs inside your browser as WebAssembly compiled from Rust. Nothing you type is uploaded, logged or stored on a server. You can load this page once, go offline, and it still works.
This page makes no requests at all, to anywhere. That is not a promise in the copy: it is a Content-Security-Policy header your browser enforces, and connect-src on it is none. Open the network tab and watch nothing happen.