How to use it
- Click Turn on the mirror and allow the camera when the browser asks.
- Use Mirrored / Not mirrored to flip the image, Freeze to hold a frame, and Switch camera or the camera list to change device (front/back on phones).
- Click Fullscreen for a large mirror; press Esc or the button to leave.
- Click Save snapshot to download the current frame as a PNG (flipped the same way you see it).
- Click Turn off when you are done – the stream stops and the camera light goes out.
Example
A laptop webcam streams at 1280 × 720 px. In mirrored view, text on your T-shirt reads backwards, exactly like in a bathroom mirror. Switch to Not mirrored and it reads correctly – that is the picture Zoom, Teams or Meet send to other people (most call apps show you a mirrored self-view but send the un-mirrored image). A snapshot saved in mirrored view is 1280 × 720 px and keeps the flip, so it matches what you saw.
How it works and what the browser allows
The tool calls navigator.mediaDevices.getUserMedia with video: true (user-facing camera, 1280 × 720 requested) and assigns the stream to a muted <video> element; the mirror effect is a CSS scaleX(−1)transform, so nothing is re-encoded. Freeze simply pauses the video element. The snapshot draws the current frame onto a canvas of the stream's width and height (flipping it when mirrored) and saves it with canvas.toBlob as PNG through a temporary blob: link that is revoked afterwards.
Browsers require a secure context (https or localhost) and an explicit user gesture for camera access, hide device names until permission is granted, and show a hardware or tab indicator while a stream is active. Stopping all tracks releases the camera. Picture-quality limits come from the camera and the browser's chosen resolution, not from this page.
Sources: MDN – MediaDevices.getUserMedia(), MDN – MediaDevices.enumerateDevices(), MDN – Fullscreen API.
If the camera does not show
Blocked:click the camera or lock icon in the address bar, allow the camera and reload. On Windows check Settings → Privacy → Camera; on macOS System Settings → Privacy & Security → Camera. In use: only one app can hold most webcams – close the video-call app or other tab. Black picture: some laptops have a physical privacy shutter or a function key that disables the webcam. Wrong camera: pick another one in the list or use Switch camera.
Questions
- Can anyone else see my camera?
- No. The stream goes from the camera to the video element in your browser and nowhere else. The page has no recording feature; a snapshot is created and saved by your browser on your own device.
- Why do I look different than in photos?
- A mirror shows a left–right flipped version of your face, which is what you are used to seeing; photos and the un-mirrored view show the version everyone else sees. Faces are slightly asymmetric, so the unfamiliar orientation looks “off” at first.
- Does the mirror work on a phone?
- Yes. On Android and iPhone the front camera is used by default; the camera list or Switch camera changes to the back camera. iOS Safari does not support the Fullscreen API, so that button is hidden there.