# ODiff

> MIT SIMD image diff for screenshot and visual-regression tests

**Category:** Libraries  
**Pricing:** open-source  
**URL:** https://github.com/dmtrKovalenko/odiff  
**GitHub:** https://github.com/dmtrKovalenko/odiff  
**Added:** 2026-10-17

---

## The Hook

ODiff compares two images pixel by pixel in milliseconds and writes a diff image, which makes it a fast check for visual-regression tests and for coding agents that need to verify a UI change from before/after screenshots.

## What's Good

MIT (dmtrKovalenko/odiff), release v4.5.0 (2026-07-23), maintained since 2020, now written in Zig with SSE2, AVX2, AVX512 and NEON paths. Compares across formats (png, jpg, webp, tiff), detects anti-aliasing, can ignore regions and handles images with different layouts. Use it as a CLI, from Node via odiff-bin, or in server mode that answers JSON requests over stdio so a long-running test runner avoids a process spawn per image. playwright-odiff adds a toHaveScreenshotOdiff matcher, and a community plugin covers Cypress. Without an output path it shows the diff inline in terminals with the kitty graphics protocol. ★~3.3k.

## The Catch

It only answers whether two images differ and where: there is no baseline storage, review UI or approval flow — you still need your test runner or a service for that. Diff output is PNG only. Pixel-exact comparison means fonts, GPU rendering and animations can make tests flaky unless you pin the browser environment and set thresholds or ignore regions.

## Verdict

Drop-in fast pixel diff for screenshot tests and agent UI checks — bring your own baseline workflow.
