BeogradPC
⌂ Home Ready
Camera Test
LIVE

Camera access is requested only after pressing Start. The stream stays local in this browser.

Ready. Press Start and allow camera access in the browser permission dialog.
0 / 0

About the Online Webcam Test

Check whether your webcam works in seconds: see a live preview, verify the real resolution and frame rate, compare multiple cameras and inspect image quality. The stream never leaves your device — the page cannot make network calls, so nothing is recorded or uploaded.

Is this webcam test private?

Yes. The page enforces a Content Security Policy that blocks all network connections, so the video stream physically cannot be uploaded anywhere. The preview exists only in your browser and disappears when you close the tab.

Why is my camera not detected?

First allow camera access when the browser asks. If no prompt appears, check the site permissions in the address bar, close other apps that may be using the camera (video-call software often locks it), and verify the operating system's camera privacy settings allow browser access.

How do I check my webcam's real resolution and frame rate?

Start the preview and read the measured values on the stats panel. Many webcams advertise a high resolution but deliver lower frame rates at it; the live readout shows what the camera actually outputs rather than what the box promises.

Why does my webcam image look blurry or dark?

Clean the lens first — laptop lenses collect fingerprints. Then improve lighting in front of you rather than behind you; webcams have small sensors that need light. If the camera has a focus ring, adjust it while watching the preview.

Can I test multiple cameras?

Yes. If more than one camera is connected, pick each device from the selector and compare previews, resolutions and frame rates side by side across runs.

Camera Test — Help

Start asks the browser for camera permission. If permission is blocked, reset it from the browser site-permissions icon and start again. Camera access requires HTTPS or localhost.

Resolution uses ideal constraints, so the actual delivered resolution and frame rate (shown in the stats) may differ. Reported track FPS is what the camera negotiated; the live FPS is measured frame-by-frame via requestVideoFrameCallback on Chrome/Edge/Safari; Firefox falls back to requestAnimationFrame which measures display refresh, not real camera frames.

Snapshot downloads a PNG frame locally (applies mirror state). Record toggles a local WebM recording via MediaRecorder; click again to stop and download. Recording captures the raw stream, ignoring CSS filters.

Hardware controls auto-populates when the device exposes adjustable capabilities (zoom, focus distance, exposure compensation, color temperature, torch). Move the slider/click the toggle to apply via track.applyConstraints(). Empty list means the device does not expose runtime controls.

Keyboard shortcuts: F fullscreen · M mirror · G grid · C center · Space freeze · S snapshot · R record · H hide controls · ? help · Esc close dialog.

Reset returns mirror, overlays, filters, recording state, and selected resolution profile to defaults. Theme and selected camera persist.

Privacy: CSP connect-src 'none' blocks all network access. Stream is local. Settings live in localStorage under the camtest: prefix. Export creates a local JSON file with device labels redacted to [available].