WarpDiff
Drop 1–3 files to review
L load files · H hotkeys · ? help
Loading…
Reference - -
A - -
B - -
⚠️ Identical Assets Detected
2.0×
RGB (log)
1000
No audio for this asset
LR
20k 10k 5k 1k 100
VIRIDIS
LIN
0:00 / 0:00
Transcode Audio
Manual

Loading Files

WarpDiff is a browser-based visual comparison tool for reviewing 2–3 versions of images or videos side by side.

Three ways to load files:

File requirements:

Timestamp warning: If two or more files have timestamps within 2 seconds of each other, a toast warns that the sort order may be unreliable.

Duplicate detection: If two slots contain the same file (matched by name, size, and timestamp), a warning banner appears.

Reset: Click the reset icon (circular arrow, visible after loading) to clear all files and start over.

View Modes

Stack — The default mode. One asset is visible at a time, layered on top of the others. Use arrow keys or the asset buttons in the header to switch between assets. Asset name, zoom, resolution, aspect ratio, and filename are shown in the header. A mini-map thumbnail appears in the lower-right when the asset overflows the viewport — click or drag it to pan. Press \ to toggle between Fit (each asset fills the viewport independently) and Balance (all assets scaled to the same rendered screen area).

Grid (2 files) — Both assets displayed side-by-side with a gap between them. The layout auto-picks Horizontal or Vertical on load based on which gives larger images, and re-evaluates on resize.

Grid (3 files) — All three assets in a grid. Press 3 to toggle between Inline (columns or rows, auto-picked by aspect ratio; uses equal-area scaling so mixed-orientation assets share consistent visual weight) and Offset (Source alone, A/B paired).

Switching Modes

ActionResult
Click stack icon (three bars) in headerSwitch to Stack mode
Click grid icon (four squares) in headerSwitch to Grid mode
Press SToggle Stack ↔ Grid
Press GToggle Grid ↔ Stack

Zoom & Pan

Zoom and pan are available in Stack mode only.

ShortcutAction
+Zoom in
Zoom out
0Zoom to fit screen
1Zoom to 100% native pixels for the active asset
\Toggle Fit / Balance zoom mode
Click and dragPan; drag past edges for elastic rubber-band resistance

Zoom range: 5%–3200%. Each step multiplies/divides by √2 (~1.41×). 1 targets the currently active asset — switching assets and pressing 1 again re-centers 100% on the new slot. In Grid mode, 1 toggles between fit-to-screen and a 100% native pixel cap. In Balance mode all assets are scaled to equal rendered area; the mini-map in the lower-right shows the full extent of assets and a viewport indicator when any asset overflows.

Zoom Loupe

Press Z to toggle a circular zoom loupe that follows your cursor, showing a magnified view of native pixels without changing the overall zoom level. Works in all view modes.

ShortcutAction
ZToggle zoom loupe
+ Adjust magnification (2×–32×, when loupe is active)
[ ]Resize loupe (100–400px)
Shift+ZToggle linked zoom

Linked zoom: In Grid modes, enabling linked zoom (Shift+Z) shows corresponding loupes on all other visible assets at the same relative position — hover over one asset to compare the exact same spot across all versions.

The loupe hides during panning and updates live during video playback and frame stepping. Loupe size and magnification level persist across sessions.

Video Playback

Video controls appear at the bottom when videos are loaded. All videos play, pause, and seek in sync.

ControlDescription
Progress barClick to seek; drag to scrub
Timecode (left)Current position — click to toggle between time and frame count. Video uses M:SS:FF (frames); audio uses M:SS.cc (centiseconds) since audio has no frame rate
Speaker iconMute/unmute the active audio source
Volume sliderAdjust volume
O A B buttonsSelect which asset's audio to hear

Keyboard shortcuts:

ShortcutAction
SpacePlay / Pause
RRestart from beginning
MMute / Unmute
,Step back one frame
.Step forward one frame
WToggle waveform / spectrogram
Shift+WToggle linear / log frequency scale
Shift+CCycle spectrogram color palette

Only one audio track plays at a time. If the active source is muted, audio automatically switches to the next unmuted source.

Audio Timeline Interaction

In audio comparison mode, the waveform and spectrogram canvases are interactive — click and drag to scrub through audio or select a loop region.

ActionResult
Click on waveform/spectrogramSeek to that position
Click and dragScrub through audio with preview
Shift + click and dragSelect a region to set loop in/out points
Click on a different slot's canvasSwitch active audio to that slot

Loop markers: Use I and O to set in and out points at the current playback position, or Shift-drag on a waveform to select a region visually. When both markers are set, playback loops between them. The progress bar turns orange and spans only the looped section. Non-looped regions are dimmed at 50% on waveforms and spectrograms. Drag the orange triangle markers on the progress bar to adjust loop boundaries. Loop points are saved per asset — switching videos preserves each one's loop selection.

ShortcutAction
ISet loop in-point at current time
PSet loop out-point at current time
Esc Clear both loop markers (double-tap)
RRestart at in-point (or beginning if no markers)

Keyboard Shortcuts Reference

KeyAction
LLoad files
J / KSlower / Faster
ZToggle zoom loupe
Shift+ZToggle linked zoom in Grid mode
[ ]Resize zoom loupe
← → ↑ ↓Switch asset
SToggle Stack mode
GToggle Grid mode
\Stack: Fit / Balance zoom toggle
3Toggle Grid layout (Inline ↔ Offset)
FFullscreen
+Zoom in
Zoom out
0Zoom to fit screen
1Zoom to 100% / toggle 100% cap
SpacePlay / Pause
RRestart
MMute
ISet loop in-point
OSet loop out-point
Esc Clear loop markers
,Step back one frame
.Step forward one frame
WToggle waveform / spectrogram
Shift+WToggle linear / log frequency scale
Shift+CCycle spectrogram color palette
HToggle shortcuts panel
EscDismiss loupe / close panel

Preferences

The following settings are saved to your browser and persist across sessions and page reloads:

Info Bar

Each asset displays an info bar showing: slot name, resolution (e.g. 1920×1080), aspect ratio (e.g. 16:9), and duration for videos or for images. Audio files show sample rate, channels, bit depth/codec, and file size instead.

Aspect ratios that don't match a known standard are shown in amber as a heads-up to check your export settings.

The frame counter detects frame rate automatically and snaps to the nearest standard rate (23.976, 24, 25, 29.97, 30, 48, 59.94, 60). Video durations are shown as M:SS:FF (frames at the detected rate); audio durations use M:SS.cc (decimal centiseconds) since audio has no inherent frame rate.

In split modes, the info bar of the asset whose audio is currently playing is highlighted.

Limitations

WarpDiff

Install as App (optional for improved performance)

Getting Started

Header Icons

Zoom Loupe

Video

Analysis

Keyboard-First

What's New

v3.8.6

v3.8.2

v3.8

v3.7.7

v3.7.6

Hotkeys