Camera & Flashlight Test
Check your phone camera or webcam right in the browser. See the live preview, reported resolution, frame rate, and whether your torch is accessible. Nothing leaves your device.
- Runs locally
- Requires camera
- No uploads
Camera and flashlight
About this tool
This tool uses your browser's getUserMedia API to open your camera and display a live preview. It reads the stream's reported resolution and frame rate using getSettings().
No video is recorded or uploaded. All processing stays on your device. You can capture a single frame to download as a JPEG.
Torch and Flashlight
On Android, Chrome exposes torch control via getCapabilities() and applyConstraints({advanced:[{torch:true}]}). The Torch button is enabled only when your device reports this capability.
iOS Safari does not expose torch control through the browser. The button will be disabled on those devices.
The front camera rarely has a torch. Use the back camera for flashlight tests.
Tips
- Use Switch to Front/Back to toggle cameras. The stream restarts automatically if one is already active.
- Resolution and FPS depend on the lighting, browser, and hardware negotiation, not just your camera spec.
- If the camera is in use by another app, you will see a "not readable" error. Close the other app first.
- Captured frames are saved as JPEG files to your Downloads folder.
About the Camera and Flashlight Test
Most camera testing apps require an install and collect usage data. This tool does neither. It runs entirely in your browser using standard web APIs that modern browsers expose for video calls and barcode scanning. There is no server involved at any point.
How the camera access works
Clicking "Start Camera" calls navigator.mediaDevices.getUserMedia() with a video constraint that asks for up to 1920x1080. Your browser presents a permission prompt, and once you grant it, the live stream appears in the preview window. The tool calls track.getSettings() on the active track to read back the actual resolution and frame rate the browser negotiated with your hardware.
What resolution and FPS mean here
The resolution shown is what the browser received from the camera driver, which may be lower than the camera's physical maximum. Browsers typically cap video streams for performance reasons. Frame rate is the value reported in getSettings().frameRate, which should reflect the actual capture rate during normal conditions.
Torch and flashlight on Android
The MediaStreamTrack Capabilities API lets Android Chrome read and control the torch on rear cameras. The tool calls track.getCapabilities() to check for the torch property and then uses applyConstraints({advanced:[{torch:true}]}) to switch it on. Front cameras and iOS Safari do not expose this capability.
Frequently asked questions
Does this work on my phone?
It works on any device running Android or iOS with a modern browser. Chrome on Android and Safari on iOS both support getUserMedia. You need to grant camera permission when the browser asks.
Is any video recorded or saved?
No. The preview stream never leaves your device. The "Capture Frame" button draws one still frame to a canvas and downloads it to your device as a JPEG. Nothing is uploaded.
Why is my torch button grayed out?
Your browser or camera does not expose torch control. This is expected on iOS, on front cameras, and in some desktop browsers. Try the back camera on Android Chrome.
Why does "Camera in use" appear?
Another app or browser tab already has exclusive access to the camera. Close video calls, camera apps, or other browser tabs using the camera, then try again.