Stack Gems
Menu
← Catalog

ODiff

MIT SIMD image diff for screenshot and visual-regression tests

Libraries / Testing · OSS/MIT · 3.3k

Reviewed 2026-10-17 · last push 2026-10-13 · repo checked 2026-10-19

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.

Embed

Maintainer? Add the badge to your README. It is free, links to this review, and there is no paid version.

Reviewed on Stack Gems

Markdown

[![Reviewed on Stack Gems](https://stackgems.com/badge/odiff.svg)](https://stackgems.com/gems/odiff)

HTML

<a href="https://stackgems.com/gems/odiff"><img src="https://stackgems.com/badge/odiff.svg" alt="ODiff reviewed on Stack Gems" height="20"></a>