TwinLens is a free, browser-based comparison tool for images and videos — no account required, no install, nothing uploaded unless you explicitly choose to share. This post is a complete tour of every feature, grouped so you can skim to what you need.

Compare up to 4 images

Drop one, two, three, or four images onto the canvas. With two images you can pick Slider, Split, or Peek. With three or four, switch to Horizontal, Vertical, or Grid layout. All panels pan and zoom together, so you're always inspecting the same region across every image at once.

Supported image formats: PNG, JPG, WebP, AVIF, GIF, HEIC, TIFF, BMP, and SVG. iPhone HEIC photos open directly — no conversion step.

Try it: Download this sample image set and drag the files onto TwinLens to try a 4-up comparison in under 10 seconds.

Slider, split, peek & grid — six view modes

TwinLens adapts the layout to how many images you have loaded. Two-image views focus on revealing differences; multi-image views focus on arranging them legibly.

ModeHow it worksBest for
SplitBoth images side by side with a fixed dividerColor grading, layout checks
SliderDrag a vertical divider to reveal one image over the otherBefore & after, retouching
PeekClick and hold to swap in the second imageSpot-checking subtle differences
Horizontal3-4 images arranged in a rowWide landscape compares
Vertical3-4 images stacked top to bottomTall portrait compares
Grid2×2 tile layout for 3-4 imagesA/B/C/D runs, variant reviews

Switch views with 1 2 3 on your keyboard, or the icons in the top toolbar.

Synced video comparison

TwinLens is one of the best free video comparison tools on the web — no upload, no install, runs entirely in your browser. Drop two videos (MP4, WebM, or MOV) and they play in lockstep with automatic drift correction, a shared timeline, and variable playback speed from 0.25× to 2×.

Every view mode works for video too: slider, split, and peek, all with synced playback.

  • Record the live comparison as a WebM file you can post or attach to a bug report.
  • Snapshot the current frame as a PNG — perfect for pinpointing a specific moment.
  • Share generates a link that preserves view mode, position, and labels.
Try it: Open this video comparison and drag the slider to reveal differences in real time.

Folder comparison

Drag two folders of images onto TwinLens and it automatically pairs them up by filename. Perfect for comparing upscaler outputs, render passes, A/B dataset runs, and matched HR/LR pairs.

  • Navigate pairs with / arrow keys.
  • Press G to open a paginated thumbnail gallery of every pair.
  • Unmatched files appear grouped at the end, so nothing is lost.
  • Works with hundreds of images per side — thumbnails lazy-load.
Try it: Download this pair of folders and drop them onto TwinLens to see pairing in action, or read our dedicated folder comparison guide.

Editable labels, snapshots & shareable links

Click the label bar beneath any panel to type a custom name — for example Before and After, or a filename, timestamp, or commit hash. Labels appear in-view, are included in snapshots, and travel with your share links.

Two export paths:

  • Snapshot (E): downloads the current view as a PNG with labels and the divider baked in. Great for design reviews and docs.
  • Share: uploads your images and returns a permanent URL. Anyone with the link can view — no TwinLens account required on the viewer side.

14-day links work without signing in. Signed-in users unlock never-expire links and a profile page to list, filter, and delete every link they've created.

Try it: Open this four-image share to see labels, preserved view state, and shareable URLs in action.

Iframe embeds for your blog

Every share page comes with a ready-to-paste iframe snippet. Drop it into a blog post, Notion page, or documentation site and readers can slide, zoom, and pan directly inside your article — no plugins, no JavaScript to install.

Paste a TwinLens share URL into Discord, Slack, Twitter, or iMessage and it expands into a rich preview card with thumbnails. Shares look polished out of the box.

See it embedded: our share & embed guide has live iframe examples you can interact with right inside the article.

Paste a URL — no upload needed

Instead of uploading, paste any public image or video URL directly into a panel. TwinLens fetches it and works with it like any local file. Share links built from URL-sourced content are created instantly (no file upload) and are never-expire by default.

Great for comparing two CDN-hosted images, two model outputs on cloud storage, or two builds of a screenshot without routing gigabytes through your browser.

Try it: open the compare tool, then paste these two URLs into the left and right panels:
https://twinlens.app/sample-color.jpg
https://twinlens.app/sample-bw.jpg

Preserved viewport in share links

Every share link captures your exact viewport — view mode, zoom level, pan position, slider position, label visibility. Whoever opens the link lands on the same frame you were on. No more "look at the top-left corner" or "scroll down and zoom in to 200%" in Slack messages.

This applies to videos too: playback position, view mode, and speed all travel with the share URL.

Zoom, pan & keyboard shortcuts

Scroll to zoom, drag to pan. All panels move together so you always inspect the same region across every image or video. TwinLens is designed keyboard-first:

KeyAction
1 2 3Switch view mode
FFit to window
AActual size (1:1 pixel view)
SSwap left and right
LToggle label visibility
ESave snapshot as PNG
GOpen folder-pair gallery
/ Previous / next folder pair (or seek video)
SpacePlay / pause video
RReload all panels
+Add a third or fourth image

Input methods are equally flexible: drag and drop from Finder or Explorer, drag a whole folder, paste a URL from your clipboard, paste a screenshot you just took (⌘V / Ctrl+V), or click any empty panel to open a file picker.

Try it: open this high-resolution compare and press A to jump to 1:1 — both panels stay perfectly aligned.

Image quality metrics (PSNR & SSIM)

Press D to open the Details panel. With two images loaded, TwinLens computes PSNR (Peak Signal-to-Noise Ratio) and SSIM (Structural Similarity Index) locally — everything happens in your browser, nothing is uploaded.

The values are color-coded so you can read them at a glance:

  • Green — PSNR ≥ 38 dB, SSIM ≥ 0.95 (near-identical)
  • Yellow — PSNR 28-37 dB, SSIM 0.80-0.94 (visible differences)
  • Red — below (substantial differences)

Useful for evaluating upscalers, codecs, compression settings, denoisers, or any pair of images where you want an objective quality number alongside the visual diff.

Try it: open this PSNR/SSIM demo and press D to see the metrics panel.

Desktop app & mobile

TwinLens runs in three places:

  • Web at twinlens.app/compare — no install, works on any modern browser.
  • Desktop — native macOS and Windows apps with offline support, file associations, and icon-drop targets.
  • Mobile — the full web app works on phones and tablets with touch-friendly controls and responsive layout.

Privacy-first — local until you share

Your files stay on your device. Nothing is uploaded to a TwinLens server unless you explicitly click Share. Local comparisons — loading files, zooming, computing PSNR/SSIM, snapshotting to PNG — all happen in your browser's memory, and leave no trace on TwinLens infrastructure.

If you use URL sources, even Share doesn't upload your images — it just stores the URLs. You can delete any share link from your profile page and the associated files are removed from storage.

Related guides

Ready to compare?

Free, private, and instant. No account or install needed — just open the tool and drop your images or videos in.

Compare Now →

Sign in to your account

Unlock never-expire share links and a profile page to list, filter, and delete every link you've created.

Sign in to TwinLens →