The problem
Every time I needed to compare two video renders, two exported images,
or two subtitle files — I ended up with three different tools open,
none of them showing me exactly what changed.
So I built DiffALL.
What it does
Drop any two files. It picks the right engine automatically and gives
you a structured diff in seconds.
Video
- Frame-by-frame SSIM & PSNR scoring
- Synchronized 3-panel live player (expected / heatmap / actual)
- Bounding boxes around every changed region
- Per-second similarity graph — catches transient drops a single score would miss
- Worst-moment timestamp so you jump straight to the bug
Images
- Pixel-level difference heatmap
- Standard mode: Expected | Difference | Actual side by side
- Flexible mode: ORB feature matching + homography alignment for photos taken at different angles or lighting
Audio
- MFCC spectral similarity (50% weight)
- Spectral centroid + RMS energy
- Mel spectrogram diff overlay
- Browser playback of both files for manual listening
Subtitles (SRT / VTT)
- Word Error Rate (WER)
- Line-by-line diff with insertions and deletions highlighted
- Timing drift analysis — average, max, and std dev of ms offsets
Text / JSON / CSV / XML / YAML
- Semantic line diff with inline character-level highlighting
- JSON mode: recursive flatten into dotted paths, then structural diff
Tech stack
- Python / Flask on Render free tier
- OpenCV + scikit-image for image and video analysis
- librosa for audio (MFCC, spectral centroid)
- difflib SequenceMatcher for text
- Chart.js for the SSIM timeline
- Supabase for auth
Try it
Free — no sign-up needed for the first comparison.
Would love feedback on what's missing or broken.

Top comments (0)