CheckOps home

Tools directory

J

CheckOps

jest-image-snapshot

jest-image-snapshot is an Apache-2.0 Jest matcher from American Express that compares images against stored baselines, the image equivalent of Jest snapshot testing, used widely for visual regression tests.

Visit website

Latest public signals

Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.

Visit Website

Introduction

jest-image-snapshot is a Jest matcher that performs image comparisons using pixelmatch and behaves just like Jest snapshots, according to its README. It is maintained by American Express and has about 3,900 GitHub stars.

Given a PNG image buffer, the toMatchImageSnapshot() matcher stores a baseline in an __image_snapshots__ directory on the first run, and compares later runs against it, failing with a diff image when the difference exceeds a threshold. Options include custom thresholds, a Gaussian blur to reduce noise, diff layout direction, custom directories, and updating snapshots with Jest’s -u flag. It pairs well with Puppeteer or Playwright to take screenshots inside Jest tests.

Version 6.5.2 was released in March 2026, with commits in October 2026.

In the quality loop it adds visual assertions to unit-style and end-to-end Jest tests.

The source code is at americanexpress/jest-image-snapshot on GitHub under the Apache-2.0 licence, with about 3,900 stars; the most recent commit was on 6 October 2026.

Features

  1. Jest matcher: toMatchImageSnapshot().
  2. Baselines in repo: Stored next to tests.
  3. Thresholds: Pixel or percentage tolerance.
  4. Blur: Reduce noise from rendering.
  5. Diff output: Images showing differences.

Pros

  1. Familiar workflow: Works like Jest snapshots.
  2. Free to use: Open source under the Apache-2.0 licence, so the core tool costs nothing to use.
  3. Actively maintained: The repository had commits as recent as 6 October 2026.
  4. Community: About 3,900 GitHub stars.

Cons

  1. Jest only: Not for other runners.
  2. Rendering noise: Needs consistent environments.
const { toMatchImageSnapshot } = require('jest-image-snapshot');
expect.extend({ toMatchImageSnapshot });

it('renders the home page', async () => {
  const image = await page.screenshot();
  expect(image).toMatchImageSnapshot({ failureThreshold: 0.01, failureThresholdType: 'percent' });
});

Resources:

Pricing

jest-image-snapshot is free and open source under the Apache-2.0 licence.

  1. Jest users wanting simple visual assertions.
  2. Not a fit for team review workflows.

Conclusion

jest-image-snapshot is the go-to Jest matcher for image comparison.

On CheckOps, jest-image-snapshot is filed under the Unit testing and End-to-end & functional stages. Related tools listed here include Jest, pixelmatch, BackstopJS, WebdriverIO Visual Service, reg-suit and Percy. Before choosing, compare them on licence, supported languages and platforms, hosting model, and how well each fits your existing CI pipeline. Facts on this page were checked against the official website, documentation and repository on 11 November 2026; statements the vendor makes about its own product are marked as vendor claims.

Compare

CheckOps pages that put jest-image-snapshot next to related tools. There is no paid placement on these lists.

Alternatives

Other tools on CheckOps that cover similar ground. Open a page, or compare one with jest-image-snapshot side by side.