Perceptual by default
CIEDE2000 thresholds. Exact mode when you need it.
Honeydiff is the Rust diff engine inside Vizzly. It's fast, it filters out noise, and it tells you where things changed.
Here's one of our own inbox screenshots. Flip between the views to see what changed and what each engine catches.
We wrote the engine that runs local TDD, cloud baselines, PR checks, and agent context. So when it needs to get faster or smarter, we just do it.
CIEDE2000 + AA filtering
CIEDE2000 + AA filtering
threshold 0, no AA, no cluster filter
Honeydiff tells you where the image changed and how big each change is.
CIEDE2000 thresholds. Exact mode when you need it.
AA detection, cluster sizing, and text-region merging.
Bounds, clusters, pixel counts, intensity stats.
SSIM and GMSD for similarity beyond changed pixels.
WCAG contrast analysis and color vision simulation.
Diff, mask, overlay, JSON, scores, fingerprints.
Install @vizzly-testing/honeydiff and call it from Node, or build the CLI from the repo for quick local checks.
import { compare } from '@vizzly-testing/honeydiff';
let result = await compare('baseline.png', 'current.png', {
threshold: 2.0,
includeClusters: true,
includeSSIM: true,
includeGMSD: true,
diffPath: 'artifacts/diff.png',
maskPath: 'artifacts/mask.png',
overlayPath: 'artifacts/overlay.png',
overwrite: true
});
console.log(result.diffPercentage);
console.log(result.aaPixelsIgnored);
console.log(result.perceptualScore);
console.log(result.diffClusters?.length ?? 0);
Honeydiff is great when you just need to compare images. Vizzly adds approved baselines, local TDD, PR checks, and team review on top.