The Ultimate Comparison Tool for Creative Professionals
Compare videos, images, audio, 3D models, documents, and text with professional-grade precision.
GPU-accelerated analysis โข 100+ transitions โข Frame-accurate sync โข Real-time metrics
Features โข Modes โข Analysis โข Export โข Shortcuts โข Get Started
Whether you're a VFX artist comparing renders, an AI researcher evaluating model outputs, a photographer checking edits, or a QA engineer catching regressions โ DualView gives you the tools to see differences that matter.
Drop your files โ Choose a mode โ Analyze โ Export
| Type | vs | Analysis |
|---|---|---|
| ๐ฌ Video | โ | SSIM similarity, pixel difference, heatmaps |
| ๐ผ๏ธ Image | โ | Delta E color diff, histogram, false color |
| ๐ต Audio | โ | LUFS loudness, stereo width, phase correlation |
| ๐ฆ 3D Model | โ | Side-by-side orbit view, wireframe toggle |
| ๐ Document | โ | CSV, Excel, Word, PDF with cell/word diff |
| ๐ Text | โ | Character/word diff, syntax highlighting |
|
|
|
|
|
|
DualView offers 15 unique comparison modes to suit every workflow:
| Mode | Key | Description |
|---|---|---|
| Slider | 1 |
Draggable divider reveals A/B โ vertical or horizontal |
| Side by Side | 2 |
Split view with synchronized playback |
| Difference | 3 |
GPU-accelerated difference analysis (50+ modes) |
| Audio | 4 |
Professional audio analysis (waveform, goniometer, LUFS metering) |
| Prompt Diff | 5 |
Text comparison with syntax highlighting |
| JSON Diff | 6 |
Structural JSON tree comparison |
| 3D Model | 7 |
GLB/GLTF model comparison with orbit controls |
| Document | 8 |
CSV, Excel, Word, PDF comparison with cell/word diff |
| Mode | Key | Description |
|---|---|---|
| Quad View | Q |
Four-panel layout for multi-angle comparison |
| Radial Loupe | R |
Magnifying lens follows cursor |
| Grid Tile | G |
Checkerboard interleaving of A/B |
| Blend Modes | โ | Difference, Overlay, Multiply, Screen |
| Split Screen | โ | Grid layouts: 2ร1, 1ร2, 2ร2 |
| Flicker | โ | Auto-alternating A/B for spotting changes |
| Heatmap | โ | Pixel difference with color mapping |
| Morphological | โ | Erosion, dilation, edge detection |
The heart of DualView is its GPU-accelerated analysis engine with 50+ GLSL shaders organized into 8 categories:
๐ Difference Analysis (10 modes)
| Mode | What it does |
|---|---|
| Absolute | RGB channel difference with amplification |
| Perceptual | Delta E in LAB color space โ how humans see difference |
| Luminance | Brightness-only comparison |
| Chroma | Color-only comparison (ignores brightness) |
| Threshold | Binary mask at configurable threshold |
| Amplified | Magnify tiny differences 10x-100x |
| Wipe | Vertical/horizontal AโB comparison |
| Split | Side-by-side 50/50 |
| Debug | Raw texture output for troubleshooting |
๐๏ธ Structural Analysis (5 modes)
| Mode | What it does |
|---|---|
| SSIM Map | Local structural similarity visualization |
| Edge Comparison | Sobel edge detection difference |
| Gradient | Gradient magnitude comparison |
| Local Contrast | Contrast difference per region |
| Block Difference | Block-based comparison (compression artifacts) |
๐จ Color Analysis (5 modes)
| Mode | What it does |
|---|---|
| Hue Difference | Color wheel position comparison |
| Saturation Map | Vibrance difference |
| False Color | Rainbow gradient for amplitude |
| Channel Split | R/G/B separated |
| Histogram Overlay | Distribution comparison |
๐ฌ Professional Tools (6 modes)
| Mode | What it does |
|---|---|
| Anaglyph 3D | Red/cyan stereoscopic view |
| Checkerboard | Alternating pixel tiles |
| Onion Skin | Semi-transparent overlay |
| Loupe Wipe | Magnified wipe comparison |
| Frequency Split | Low/high frequency separation |
| Difference Mask | Use diff as alpha mask |
๐ฅ Video-Specific (4 modes)
| Mode | What it does |
|---|---|
| Temporal Diff | Frame-to-frame changes |
| Motion Vectors | Optical flow approximation |
| Flicker Detection | Unstable pixel detection |
| Frame Blend | Temporal averaging |
๐ Advanced Analysis (10+ modes)
| Mode | What it does |
|---|---|
| Multi-scale Edge | Laplacian pyramid edge comparison |
| Local Contrast | Standard deviation maps |
| Gradient Direction | Direction as hue visualization |
| Optical Flow | Motion vectors (8ร8, 16ร16, 32ร32 blocks) |
| FFT Magnitude | Frequency spectrum analysis |
| Band-pass Filter | Low/high/band frequency isolation |
| Temporal Noise | Frame-to-frame noise analysis |
| Diff Accumulator | Motion history over time |
๐ท Exposure Tools (8 modes)
| Mode | Shortcut | What it does |
|---|---|---|
| False Color | โ | Exposure level visualization (cinema style) |
| Focus Peaking | P |
Sharp edge highlighting |
| Zebra Stripes | Z |
Overexposure warning (100 IRE) |
| Zone System | โ | Ansel Adams exposure zones (0-X) |
| All above with A vs B comparison variants |
โ๏ธ Perceptual Weighting (3 modes)
| Mode | What it does |
|---|---|
| Saliency | Visual attention importance |
| Edge Weighted | Edge-aware comparison |
| Weighted SSIM | Perceptually-weighted structural similarity |
DualView includes a broadcast-grade audio analysis suite for comparing audio files:
| Mode | Description |
|---|---|
| All | Dashboard view with all tools in a 2ร2 grid |
| Waveform | Dual waveform display with playhead sync |
| Loudness | Side-by-side LUFS meters with platform targets |
| Stereo | Goniometer with phase correlation & width meters |
| Analysis | Frequency visualization overlay |
Interactive waveform visualization:
| Feature | Description |
|---|---|
| Dual Track | A and B waveforms stacked vertically |
| Playhead | Synced playhead with click-to-seek |
| Color Coded | Orange for Track A, Lime for Track B |
| Peak Display | 500-sample peak visualization |
Professional stereo field visualization:
| Display | Purpose |
|---|---|
| Lissajous Grid | L/R axes with M/S reference lines |
| Stereo Ellipse | Width and correlation as ellipse shape |
| Phase Correlation | -1 (out of phase) to +1 (mono compatible) |
| Stereo Width | 0% (mono) to 100% (wide) |
| Mid/Side Levels | dB readout for M/S components |
Industry-standard loudness measurement:
| Metric | Standard | Description |
|---|---|---|
| Integrated LUFS | ITU-R BS.1770 | Full program loudness |
| Momentary | 400ms window | Short-term peaks |
| Short-term | 3s window | Rolling average |
| True Peak | dBTP | Intersample peak detection |
| LRA | Loudness Range | Dynamic range in LU |
| RMS | dBFS | Root mean square level |
| Crest Factor | dB | Peak to RMS ratio |
One-click compliance checking for major platforms:
| Platform | Target | Tolerance |
|---|---|---|
| Spotify | -14 LUFS | ยฑ1 LU |
| YouTube | -14 LUFS | ยฑ1 LU |
| Apple Music | -16 LUFS | ยฑ1 LU |
| Amazon Music | -14 LUFS | ยฑ1 LU |
| Broadcast (EBU R128) | -24 LUFS | ยฑ1 LU |
| Cinema (SMPTE) | -27 LUFS | ยฑ1 LU |
| Podcast | -16 LUFS | ยฑ1 LU |
| Key | Action |
|---|---|
A |
Solo Track A |
B |
Solo Track B |
S |
Play Both (A+B) |
Space |
Play/Pause |
Compare CSV, Excel, Word, and PDF documents with professional diff tools:
| Format | Extensions | Library |
|---|---|---|
| CSV | .csv |
PapaParse |
| Excel | .xlsx, .xls |
SheetJS (xlsx) |
| Word | .docx |
Mammoth.js |
.pdf |
PDF.js |
| Feature | Description |
|---|---|
| Side-by-Side | Tables A and B displayed next to each other |
| Unified View | Single table with inline diff highlighting |
| Changes Only | Filter to show only rows with differences |
| Cell Diff | Added (green), Removed (red), Modified (yellow) |
| Sync Scroll | Synchronized scrolling between A and B |
| Statistics | Row counts, change counts, match percentage |
| Multi-Sheet | Excel workbook sheet navigation |
| Feature | Description |
|---|---|
| Word-Level Diff | Highlights individual word changes |
| Side-by-Side | Both documents with synced scrolling |
| Unified View | Single document with inline changes |
| Changes Only | Show only modified paragraphs |
| Rich Formatting | Preserves bold, italic, lists, tables |
| Statistics | Word counts, added/removed, similarity % |
| Feature | Description |
|---|---|
| Visual Comparison | Page-by-page image comparison |
| Side-by-Side | Both PDFs with page sync |
| Overlay Mode | Adjustable opacity overlay |
| Slider Mode | Draggable wipe comparison |
| Text Comparison | Extracted text with word diff |
| Thumbnails | Page overview with change indicators |
| Statistics | Page counts, similarity percentage |
Export your comparisons as polished videos with professional transitions:
| Setting | Options |
|---|---|
| Format | MP4 โข WebM โข GIF |
| Resolution | 720p โข 1080p โข 4K |
| Frame Rate | 24 โข 30 โข 60 fps |
| Quality | Low โข Medium โข High |
| Source | Comparison โข A Only โข B Only |
Export with stunning WebGL shader transitions:
| Category | Variants | Examples |
|---|---|---|
| Dissolve | 8 | Powder, Ink, Cellular, Bokeh, Fractal, Sparkle |
| Wipe | 12 | Radial, Spiral, Clock, Iris, Diamond, Heart, Star |
| Zoom | 8 | Push, Pull, Dolly, Punch, Bounce, Elastic |
| Blur | 8 | Gaussian, Motion, Radial, Directional, Spin |
| Rotate | 8 | Flip, Spin, Cube, Fold, Swing |
| Light | 8 | Leak, Glow, Flare, Flash, Strobe |
| Prism | 8 | RGB Split, Spectral, Chromatic Aberration |
| Glitch | 8 | Scan, Tear, Block, Digital, VHS, Static |
| Morph | 8 | Warp, Liquify, Twist, Bulge, Wave, Ripple |
| Pixelate | 8 | Mosaic, Dither, Retro, 8-bit, Halftone |
| Refraction | 8 | Glass, Water, Crystal, Heat Haze |
| Shutter | 8 | Motion Lines, Echo, Trail, Persistence |
| Other | 12 | Kaleidoscope, Matrix, Film Burn, Comic |
| Style | Description |
|---|---|
| Horizontal | Left-to-right wipe reveal |
| Vertical | Top-to-bottom wipe reveal |
| Diagonal | Corner-to-corner reveal |
| Circle | Expanding circular reveal |
| Rectangle | Expanding rectangular reveal |
| Spotlight | Bouncing rectangle (DVD screensaver) |
| Spotlight Circle | Bouncing circle |
- Formats: PNG, JPEG (with quality control)
- Resolutions: 720p, 1080p, 4K
- Sources: Comparison view, A only, B only
- Clipboard: One-click copy
DualView is built for speed. Master these shortcuts:
| Key | Action |
|---|---|
Space |
Play / Pause |
โ โ |
Frame step (paused) or 1s seek |
Shift + โ โ |
5s seek |
J K L |
Shuttle backward / stop / forward |
Home |
Jump to start |
End |
Jump to end |
| Key | Action |
|---|---|
I |
Set loop in-point |
O |
Set loop out-point |
Escape |
Clear loop region |
M |
Add marker at playhead |
| Key | Action |
|---|---|
1 - 7 |
Switch comparison modes |
Q |
Quad view |
R |
Radial loupe |
G |
Grid tile |
H |
Hide/show slider |
F |
Flip A/B (in WebGL mode) |
P |
Toggle focus peaking |
Z |
Toggle zebra stripes |
W |
Toggle video scopes |
| Key | Action |
|---|---|
T |
Toggle timeline |
B |
Toggle sidebar |
E |
Open export dialog |
Shift + S |
Quick screenshot |
Shift + M |
Toggle quality metrics |
Ctrl/โ + Z |
Undo |
Ctrl/โ + Shift + Z |
Redo |
Ctrl/โ + S |
Save project |
? |
Show all shortcuts |
Professional broadcast-style monitoring tools:
| Scope | Purpose |
|---|---|
| Histogram | RGB/Luma distribution |
| Color Wheel | Vectorscope-style chrominance |
| Gamut Warning | Out-of-gamut pixel highlighting |
Toggle with W key.
- Auto-save: 500ms debounced saves to IndexedDB
- Multiple projects: Create, duplicate, delete
- Import/Export:
.dualviewJSON files with embedded media - Templates: Built-in presets + custom templates
- Metadata: Title, description, tags
|
|
# Clone the repository
git clone https://github.com/gokayfem/dualview.git
cd dualview
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview- Node.js 18+
- Modern browser with WebGL 2.0 support
- WebCodecs API for video export (Chrome/Edge recommended)
src/
โโโ components/
โ โโโ comparison/ # 15+ comparison mode components
โ โ โโโ SliderComparison.tsx
โ โ โโโ SideBySide.tsx
โ โ โโโ WebGLComparison.tsx # 50+ GPU analysis modes
โ โ โโโ AudioComparison.tsx # Professional audio suite
โ โ โโโ Model3DComparison.tsx # GLB/GLTF support
โ โ โโโ DocumentComparison.tsx # Document comparison wrapper
โ โ โโโ CSVComparison.tsx # CSV/spreadsheet diff
โ โ โโโ ExcelComparison.tsx # Excel workbook diff
โ โ โโโ DOCXComparison.tsx # Word document diff
โ โ โโโ PDFComparison.tsx # PDF visual/text diff
โ โ โโโ ...
โ โโโ layout/ # Header, Sidebar, ExportDialog
โ โโโ preview/ # Main preview canvas
โ โโโ timeline/ # Timeline editor + clips
โ โโโ scopes/ # Video scopes (histogram, vectorscope)
โ โโโ audio/ # Audio waveform visualization
โ โโโ ui/ # Reusable components
โโโ stores/ # Zustand state management
โ โโโ projectStore.ts # Comparison settings
โ โโโ mediaStore.ts # Media files
โ โโโ timelineStore.ts # Tracks & clips
โ โโโ playbackStore.ts # Playback state
โ โโโ historyStore.ts # Undo/redo
โ โโโ persistenceStore.ts# Project save/load
โโโ hooks/ # Custom React hooks
โ โโโ useOptimizedVideoSync.ts # Frame-accurate sync
โ โโโ useSyncedZoom.ts # Synchronized pan/zoom
โ โโโ ...
โโโ lib/
โ โโโ webgl/
โ โ โโโ shaders/ # 100+ transition shaders
โ โ โโโ comparison-shaders/ # 50+ analysis shaders
โ โโโ audio/
โ โ โโโ AudioAnalyzer.ts # LUFS, RMS, phase correlation
โ โ โโโ WebGLSpectrogramRenderer.ts # GPU spectrogram
โ โ โโโ WebGLGoniometerRenderer.ts # Stereo vectorscope
โ โ โโโ WebGLSpectrumAnalyzer.ts # Real-time FFT
โ โโโ documentParser.ts # CSV, Excel, DOCX, PDF parsing
โ โโโ mp4Encoder.ts # WebCodecs MP4 encoding
โ โโโ gifEncoder.ts # GIF encoding
โ โโโ metrics.ts # SSIM/PSNR calculation
โโโ types/ # TypeScript definitions
|
|
|
|
| Browser | Support | Notes |
|---|---|---|
| Chrome 94+ | โ Full | Best performance, WebCodecs |
| Edge 94+ | โ Full | Chromium-based |
| Firefox 100+ | No WebCodecs (GIF only) | |
| Safari 16+ | Limited WebGL features |
MIT License - see LICENSE for details.
Contributions welcome! Feel free to open issues and pull requests.
Built with love for creators who care about every pixel
