Test Camera: How to Check Your Webcam and Its Microphone in a Browser
How to check that your camera and webcam microphone work in a browser, fix blocked permissions in Chrome, and understand when capture starts and stops.
The short answer
A browser-based camera test asks the browser for access to your capture devices. If you allow access and a live preview appears, every layer needed for that browser is working: the hardware, the device driver, the operating system's privacy permission and the site permission. That result has limits. It proves only that this browser on this computer can capture. It does not guarantee that another browser or a desktop conferencing app will work. A moving video preview also says nothing about the microphone, so test audio separately.
What a browser camera test actually checks
Before a camera or webcam microphone reaches a web page, it has to pass several independent checks. A failure at any one of them can look the same on screen, usually as a black preview or a silent level meter. Knowing the layers makes it easier to find which one is failing.
- Hardware: the webcam is connected, or the built-in camera is enabled, and the system recognizes it.
- Operating system permission: on current Windows and macOS versions, the system privacy settings control whether apps, including the browser, may use the camera and microphone.
- Browser site permission: the browser keeps a separate allow or block decision for each site.
- Device availability: another application may already be using the camera. Whether two programs can share a camera depends on the operating system and the driver.
- Device selection: the page may be using a different camera or microphone from the one you expect, especially when a webcam microphone, a headset and a laptop microphone are all present.
How to test the camera on this computer
- Close other apps that might hold the camera, such as conferencing clients or camera utilities.
- Open a camera test page or any site that requests camera access.
- When the browser asks for permission, allow both the camera and the microphone if you want to check both.
- Confirm that the preview moves in real time. A frozen frame is not a pass.
- If the page offers a device list, choose the camera you intend to use and check that the preview changes to it.
- Speak at a normal volume and watch the input level indicator, if the page has one. Then follow the speech-check steps below.
Turning on the camera and microphone in Chrome
If you blocked access earlier, or dismissed the prompt, Chrome will not ask again on its own. To change the decision for the current site, select the camera or site-information icon next to the address bar. Depending on the Chrome version and whether the site has already requested capture, it appears at the left or right edge of the address bar. Set the camera and microphone to allow, then reload the page. The new setting applies when the page requests access again.
To review these permissions for all sites, open Chrome settings, go to Privacy and security, then Site settings, and open the Camera or Microphone entries. These pages also include a selector for the default device. That selector matters when the webcam microphone is not the input Chrome picks by default.
If Chrome reports that access is allowed but capture still fails, check the operating system privacy settings next. A block at the system level overrides the browser's per-site setting.
Common symptoms and where to look
| Symptom | Likely layer | Next step |
| No permission prompt appears | Browser site permission was set earlier | Reset the site permission from the address-bar icon and reload |
| Permission granted but the preview is black | Operating system permission or another app holding the camera | Check system privacy settings and close other capture apps |
| Preview works but the meter shows no audio | Microphone blocked or the wrong input selected | Allow the microphone and choose the webcam microphone explicitly |
| Device list shows generic names or is empty | Permission not yet granted | Allow access first, because browsers reveal device names only after permission |
| Preview stops when the camera is unplugged or switched | Capture session ended | Reselect the device and restart the test |
Checking the webcam microphone for speech
A moving level meter proves only that the microphone is delivering a signal. It does not show whether speech will be clear on a call. For a more useful check, record a short spoken sample through the browser and play it back on headphones. Speaker playback can mask problems and can feed back into the microphone.
- Choose the input by name. Laptops with an external webcam often expose two or more microphones, and the default may not be the webcam's.
- Listen for distance effects. A microphone built into a webcam usually sits farther from your mouth than a headset microphone. As distance increases, the microphone picks up more room reflection and background noise relative to your voice.
- Remember that browsers commonly apply processing to speech capture, such as echo cancellation, noise suppression and automatic gain control. A browser recording may therefore sound different from the same microphone in a recording app that captures without processing.
- Repeat the test in the conferencing service you actually use. That service may choose devices and apply processing differently from a standalone test page.
Track lifecycle: what happens behind a browser camera test
For developers building or debugging a test utility, most confusing behavior comes from the capture lifecycle. A call to getUserMedia returns a MediaStream that contains one track per device: a video track for the camera and an audio track for the microphone. Each track has a readyState of either live or ended. It ends when the page calls stop(), when the device is disconnected, or when permission is revoked. A track can also become muted while it is still live, meaning its source is temporarily not delivering media.
Stopping tracks matters. While any track from a device is live, the browser treats that device as in use. The camera indicator may stay on, and on some systems other applications cannot open the device. A well-behaved test page stops every track when the user leaves or switches devices.
const stream = await navigator.mediaDevices.getUserMedia({ video: true, audio: true });
for (const track of stream.getTracks()) {
console.log(track.kind, track.label, track.readyState);
// Shows which processing the browser actually applied (audio) or resolution (video)
console.log(track.getSettings());
track.addEventListener('ended', () => console.log(track.kind, 'ended'));
track.addEventListener('mute', () => console.log(track.kind, 'muted'));
track.addEventListener('unmute', () => console.log(track.kind, 'unmuted'));
}
navigator.mediaDevices.addEventListener('devicechange', async () => {
const devices = await navigator.mediaDevices.enumerateDevices();
console.log(devices.map(d => `${d.kind}: ${d.label}`));
});
// Release the camera and microphone when the test is finished
function stopTest() {
stream.getTracks().forEach(track => track.stop());
}
Calling getSettings() on the audio track is a direct way to see whether echo cancellation, noise suppression and automatic gain control are actually active. That helps explain why speech sounds the way it does in a browser recording.
What this guide cannot confirm
No verified data was available on specific webcam models, their microphone specifications or measured speech quality. This guide therefore gives no figures for sensitivity, noise levels or recommended distances, and it does not compare products. Exact menu labels and icon positions in Chrome and in operating system settings can also change between versions. If what you see differs, look for the camera and microphone permission entries under site settings or system privacy settings.