pixelmatch

A small, simple and fast JavaScript library for comparing images pixel by pixel. It was made for screenshot comparison in tests and can ignore anti-aliasing differences.

Share on XLicense: ISC

Overview

pixelmatch is a small JavaScript library that compares two images pixel by pixel. It was originally made to compare screenshots in tests. It detects anti-aliased pixels and uses a perceptual color difference metric. It has no dependencies, is only a few hundred lines of code, and works on raw typed arrays of image data, so it runs in Node and in browsers. You pass two images, an output buffer, the size and a threshold, and get the number of differing pixels.

Key features

  • Pixel-level image comparison returning a count of differing pixels
  • Detects anti-aliased pixels to reduce false differences
  • Perceptual color difference using the OKLab color space
  • No dependencies, runs in Node and browsers

Best for

Teams that want visual regression checks in tests, such as comparing screenshots, with a very small dependency-free tool.

Upstream
mapbox/pixelmatch
Fork on GitHub
Guo-astro/pixelmatch
Upstream stars
7.0k
Category
Developer tools and infrastructure
Language
JavaScript
License
ISC
Forked
2020-11-01
Sync status
In syncLast synced 2026-09-29