Webcam Mirror vs Flip Explained: Why Your Preview Reverses Text
Last reviewed 2026-05-05. If your camera preview shows reversed text on a t-shirt or a printed page, your camera is almost certainly working correctly. Most preview UIs mirror by design; the recorded file usually does not. Confirm in 30 seconds, then turn the mirror off if you don't want it. Run a quick check at Camera Test alongside this guide.
Mirror vs flip: the words mean different things
Two different transforms are easy to confuse, and most consumer apps (and even some help articles) use the words interchangeably. Knowing which one is happening to your image changes the diagnosis:
- Mirror (a left-right flip) reverses the image horizontally. The right side of the scene appears on the left side of the screen, and any text in the frame reads backwards. This is what most webcam previews do by default.
- Flip (a vertical / 180° rotation) turns the image upside-down. The top of the scene appears at the bottom of the screen. This is rare in webcam previews and almost always indicates a wrong camera-orientation setting on a USB camera that was mounted upside down.
- Rotate (90° or 270°) tilts the image to the side. This is most common when a phone camera is held in landscape but the OS read the EXIF orientation as portrait. It almost never appears in desktop webcam previews.
If your preview shows reversed text but the rest of the scene is right-side-up, you are seeing a mirror, not a flip or a rotation. The fix and the explanation differ for each.
Why your camera preview mirrors (and the saved file usually does not)
Webcam preview UIs mirror the live feed because that is how a physical mirror works. When you hold up your right hand, you expect to see "the right hand" on the right side of the mirror image. Without the mirror transform, the live preview would show your right hand on the left of the screen, which feels wrong — you would have to think about which hand to move every time you adjust your hair, fix the camera angle, or hold up an object.
Recording is different. The whole point of a recorded video is to capture the scene as it actually is, not as the speaker sees themselves in a mirror. So the recorded file is stored un-mirrored. Anyone who later plays back the file sees the speaker as a third person sees them in real life, including any text on a shirt or a sign in the frame. This split (mirror in preview, un-mirrored in storage) is consistent across OBS, Zoom, Google Meet, Microsoft Teams, the macOS Camera app, and the Windows Camera app.
Two implementation details cement the behaviour:
- The live preview is a CSS transform, not a frame edit. Most webcam preview UIs apply
transform: scaleX(-1)on the <video> element. The bytes coming off the camera are un-mirrored; the browser or app just draws them flipped on screen. The https://freetoolonline.com/camera-test.html tool on this site uses the same approach — thescaleX(-1)is on the live preview, the frame stored to canvas is the original orientation. - The saved file reads the un-transformed frame. When you click record, OBS / Zoom / Teams / Meet read directly from the camera's frame buffer (the un-mirrored side) and write that to the file. The CSS preview transform never touches the saved bytes. That is why your reversed-text preview becomes correct-text on playback.
30-second proof: hold up a printed page and record three seconds
If you want to be certain about your specific setup before a presentation or a recording, run this proof procedure. It takes about 30 seconds and answers the question definitively:
- Open any tool that lets you record (the camera app on Windows / Mac, OBS, Zoom in record mode, or any in-browser recorder). The Camera Test page is fine for the live-preview half of the check; it does not record, but it tells you what your preview looks like to you.
- Hold a printed page or a piece of cardboard with bold text in front of the camera. The text should fill at least 30% of the frame so it is easy to read.
- Look at the preview. If the text is backwards, the preview is mirrored (this is the default; do not be alarmed).
- Click record. Capture three seconds. Stop.
- Play back the recorded file. If the text on playback reads correctly (forwards), your storage path is un-mirrored and the saved file is fine to share. If the text on playback ALSO reads backwards, your encoder is configured to record the mirrored stream — uncommon, but it does happen on some custom OBS setups.
If step 5 shows correct-direction text, you can ignore the mirrored preview entirely — viewers see the scene as you would expect. If step 5 shows reversed text, jump to the OBS section below; that is the only common app that lets users record the mirrored preview by accident.
Turn mirroring off in OBS / Zoom / Google Meet / Microsoft Teams
If the mirrored preview bothers you (most often: when you are referencing notes that are pinned next to the camera and you find it hard to read your own writing because the preview reverses it), every major conferencing app has a one-click mirror toggle. The exact path differs per app:
| App | Where to find the mirror toggle | What it affects |
|---|---|---|
| OBS Studio | Right-click the Video Capture Device source → Transform → Flip Horizontal. Or with the source selected, the keyboard shortcut H. To prevent recording the mirrored stream, ALSO check that no second Flip Horizontal is applied at the scene or output level. | Both preview and the recorded / streamed output (because OBS records the canvas, not the camera). |
| Zoom desktop | Settings → Video → uncheck "Mirror my video". | Preview only. Other meeting participants always see the un-mirrored stream regardless of this checkbox. |
| Google Meet (browser) | In a meeting: three-dot menu → Apply visual effects → uncheck "Mirror my video". Or before joining: Settings (gear) → Video → toggle "Mirror". | Preview only. Other participants always see the un-mirrored stream. |
| Microsoft Teams | Settings → Devices → under Camera, toggle "Mirror my video". Some older Teams clients do not expose this; in that case the preview always mirrors. | Preview only. Other participants always see the un-mirrored stream. |
| macOS Camera app | View menu → uncheck "Mirror Image". The recorded file follows whatever the View menu shows. | Both preview and recorded file (this is the one common consumer app where the toggle changes the saved bytes). |
| Windows 11 Camera app | Settings (gear) → "Mirror image" toggle. | Both preview and recorded file. |
Two cases are easy to forget:
- OBS records what it shows. Unlike Zoom / Meet / Teams (which always send the un-mirrored stream to viewers regardless of the local mirror toggle), OBS captures whatever is on the canvas. If you check Flip Horizontal on the source for preview comfort and forget you checked it, your stream and your recording will both be mirrored. Always run the 30-second proof above before a real recording.
- Hardware mirror keys on some webcams. Some Logitech and Razer cameras expose a hardware mirror toggle through their companion app (Logitech G HUB, Razer Synapse). If your preview is mirrored or un-mirrored regardless of what the conferencing app says, check the camera's vendor app first.
When mirroring helps (and when it hurts)
Mirror is the default for a reason. It is the right choice in most situations, but a few common workflows benefit from turning it off:
- Mirror helps when you are adjusting framing, fixing your hair, holding up a small object you want the viewer to see, or any other "look at yourself in the mirror" task. The right-hand-on-the-right intuition makes the live preview easier to use.
- Mirror hurts when you are reading from sticky notes pinned next to the camera (the text appears reversed in the preview, which makes it harder to read), demonstrating something where left and right matter (a craft or a hand sign), or recording yourself writing on a transparent whiteboard for a tutorial (the audience expects the writing to read correctly to them).
- Mirror is optional for normal video calls. Other participants always see the un-mirrored stream; the local mirror toggle only affects what you see on your own screen. Pick whichever feels more comfortable.
Pair this with a camera test
If you arrived at this guide because your camera preview "looks weird," it is worth confirming three things at the same time: the camera is recognised by the OS, the preview shows a live image, and the mirroring matches your expectation. The Camera Test page covers the first two in about 10 seconds (it is a client-only browser test — the page is built around navigator.mediaDevices.getUserMedia so the frame never leaves your device). Use this guide for the third.
If the camera-test page shows a black screen rather than a mirrored or un-mirrored image, the cause is probably one of four common issues unrelated to mirroring — read Camera test shows black screen — four fixes first. If you are not sure whether you need a camera test or a webcam test, the routing guide resolves the difference in one paragraph.
FAQ
Why does my Zoom recording show me with the right-hand on the wrong side?
Almost always, your local Zoom preview was mirrored (so your right hand appeared on the right of your own screen) but the recording stored the un-mirrored stream (so on playback your right hand is on the left, where it actually was relative to the camera). This is the recording showing reality, not Zoom flipping anything. If it is disorienting, either turn off "Mirror my video" in Zoom Settings → Video so your live view matches the recording, or accept that the recording is the third-person view.
Will other people in my video call see me reversed if my preview is mirrored?
No. Zoom, Google Meet, and Microsoft Teams always send the un-mirrored camera stream to other participants regardless of your local mirror toggle. The toggle only changes what YOU see on YOUR screen. Other participants see you the same way a person standing in front of you would see you in real life.
I disabled mirror in Zoom but my recordings are still mirrored. What happened?
Two possibilities: (a) you disabled mirror in Zoom but the recording was made through a screen-recorder (OBS, QuickTime) capturing the Zoom window, in which case the recorder captured your local-mirror view; (b) you have a hardware-level mirror enabled in your camera vendor app (Logitech G HUB, Razer Synapse) that overrides Zoom's setting. Check the vendor app before assuming Zoom is the problem.
OBS records my mirrored preview — how do I fix that without losing the mirrored view I prefer?
OBS does not have a separate "preview mirror only" toggle — whatever you set on the source is what gets recorded. The two-source workaround: add the camera as a Video Capture Device source TWICE. Apply Flip Horizontal to one (use this as your "monitor" preview), and use the un-flipped one in your output scene. Hide the un-flipped one from the canvas if you do not want to see it. This lets you reference your notes with a mirrored monitor while sending the un-mirrored stream.
My camera shows me upside-down, not mirrored. Is this the same problem?
No, that is a flip (vertical) or a 180-degree rotation, not a mirror. The most common cause is a USB webcam mounted upside down (the cable is on top instead of the bottom). Either physically rotate the camera or, in OBS, apply Transform → Rotate 180° to the source. Zoom, Meet, and Teams do not expose a rotation toggle; if your camera mount is the problem, you have to fix it in hardware or in the camera vendor app.
Does the camera-test tool above record or store anything?
No. https://freetoolonline.com/camera-test.html is a fully client-only test — the page is built around navigator.mediaDevices.getUserMedia and uses canvas.toDataURL("image/jpeg") for the local snapshot, both of which run in your browser only. No frame is uploaded, transmitted, or stored on a server. This guide does not change that — it is a written explainer with no media handling at all.
Related
- Camera Test — the live, in-browser webcam check that this guide is written to accompany. Confirms the camera is recognised, shows a live preview, and lets you take a single snapshot without uploading anything.
- Camera test shows black screen — four fixes — the no-image diagnostic. Read this first if your preview is black rather than mirrored / un-mirrored.
- Camera test vs webcam test — which do you need — routing guide if you are unsure whether the in-browser camera test or a more formal webcam test fits your situation.
- Before a video call — which tools to run — a 90-second pre-call sweep that bundles the camera, mic, and screen checks.
- How to check webcam and microphone before an interview — the same routine in interview-prep framing.
Why trust these tools
- Ten-plus years of web tooling. The freetoolonline editorial team has shipped browser-based utilities since 2015. The goal has never changed: get you to a working output fast, without an install.
- Truly in-browser - no upload. Every file-processing tool on this site runs in your browser through modern Web APIs (File, FileReader, Canvas, Web Audio, WebGL, Web Workers). Your photo, PDF, audio, or text never leaves your device.
- No tracking during tool use. Analytics ends at the page view. The actual input you paste, drop, or capture is never sent to any server and never written to any log.
- Open-source core components. The processing engines underneath (libheif, libde265, pdf-lib, terser, clean-css, ffmpeg.wasm, and others) are public and audit-able. We link to each one in its tool page's footer.
- Free, with or without ads. All tools are fully functional without sign-up. The Disable Ads button in the header is always available if you need a distraction-free run.