Device test: mic, camera, speakers, keyboard and mouse in 30 seconds

A pre-flight checklist for your next call, stream or new gadget. Run the five checks on one page, see every light turn green, and send a report link to IT or a friend. Everything runs in your browser; nothing is recorded or uploaded.

Meeting in 5 minutes?
MICwaitingMicrophone: waiting
CAMwaitingCamera: waiting
SPKRwaitingSpeakers: waiting
KEYSwaitingKeyboard: waiting
MOUSEwaitingMouse / pointer: waiting
0/5 checkedNothing leaves your device

The checklist

"Run the checklist" asks for the microphone and camera together. Speakers need your ears, and keys and mouse need your hands, so those three take a couple of taps. Any step you don't need can be skipped.

3 · Speakers or headphones

Not tested
Heard it only on the left?
Heard it only on the right?

Play each side, then tell us what you heard. Start with your volume low.

Full speaker test: sweep, phase, stereo

Your report

Create a link that shows exactly what passed and what didn't. Useful for an IT helpdesk ticket, a seller before you return something, or a friend who's "sure it's your mic". The results live in the link itself, after the #, so our server never sees them.

Results are also remembered in this browser (localStorage) so you can come back to them. "Clear results" wipes them.

Still not working? Describe it

Our AI helper reads your checklist results above plus your browser and OS, and suggests fixes in order. Only your description, the result labels and a short "browser on OS" label are sent; never audio, video or keystrokes.

0/600

What each light means

Green (OK): the browser got a real signal. For the mic, sound above −35 dBFS; for the camera, a picture that isn't black; for the speakers, you confirmed both sides; for keys and mouse, real input events arrived.

Amber (check): the device works but something needs attention: a very quiet or clipping mic, a black camera image (lens cover?), only one speaker channel, or a mouse button that fires twice.

Red (fault): the browser could not use the device: permission denied, nothing plugged in, or another app holding it. The message under each test says which.

Browsers do limit what a page can know. We read the real resolution the camera delivers and the level the mic sends, but we can't see driver versions or change system settings, and we say so rather than guess.

Before a call: the 4 usual suspects

SymptomMost likely cause
Green here, silent in ZoomWrong input picked in the app's audio settings
Camera "in use"Another app or tab holds it; close it
Echo for othersSpeakers too loud near the mic; use headphones
Robotic voiceNetwork, not the mic, if the level here is steady

Questions

Is anything recorded or uploaded?

No. The microphone, camera, keyboard and mouse are read by JavaScript running in your own browser tab. Audio and video are never sent to a server. The only thing that can leave your device is text you choose to send to the optional AI helper, and a report link, which just encodes the pass/fail labels in the URL.

Why does my browser ask for permission?

Browsers never give a web page your camera or microphone without asking. We only request them when you press a start button. You can revoke access at any time from the icon beside the address bar.

The test works here but not in Zoom, Teams or Meet. Why?

That almost always means the call app is set to a different device, or another app is holding the device. In the call app's audio/video settings pick the same microphone, camera and speaker that passed here, and close other apps that use the camera.

Can a website test my speakers without a microphone?

Not automatically: a page can play sound but cannot hear it without the mic. That is why the speaker check asks you to confirm what you heard on each side. It takes five seconds.

Does it work on phones?

Yes. Mic, camera, speaker and touch checks work in current mobile Chrome and Safari. The keyboard check needs a hardware or on-screen keyboard; on a phone, the mouse step accepts taps instead.

What does the share link contain?

Only the five results, their short details (for example "1280×720 · 30 fps"), your browser and OS name, and a timestamp, encoded in the part of the URL after #. That part is never sent to our server when the link is opened.