Suggest a tool

Jest vs Vitest: open-source unit testing and test runners tools compared

Metrics as of , from the GitHub or GitLab API of each repository. Refreshed monthly.

Summary

Jest: JavaScript testing framework with a CLI, watch mode, matchers and snapshot testing.

Vitest: Vite-based test framework for JavaScript and TypeScript with Jest-compatible APIs, snapshots, mocking, coverage and a browser mode.

Both are listed under Unit testing and test runners. The table gives repository metrics from the GitHub API with their fetch date, then the documented facts used for every comparison in this category, each linked to the README or docs page it comes from. A cell reads "not documented" when the fact was not found in the project's documentation; that does not mean the feature is absent.

Side by side

Jest and Vitest: metrics and documented facts, in the fixed row order used for unit testing and test runners comparisons.
FactJestVitest
Stars45,463117,1431
Forks6,72512,0171
Contributors1,76718191
Last release2026-09-1812026-09-151
Last commit2026-09-1812026-09-181
Commits in 90 days11212811
LicenseMIT1MIT1
Primary languageTypeScript1TypeScript1
Statusactive1active1
Languages for writing testsJavaScript; TypeScript via Babel or ts-jest source: READMEJavaScript and TypeScript, with JSX source: README
Test authoring formatCode (test files using test() and expect() matchers) source: READMECode (describe/it test files with Chai and Jest-compatible expect) source: README
Parallel or distributed executionWorker pool sized with --maxWorkers; test suite sharding with --shard source: Docs: Jest CLI OptionsTest files in parallel workers; sharding across machines (--shard with the blob reporter) source: Docs: Improving Performance
CI integration--ci option for CI environments (new snapshots fail instead of being written) source: Docs: Jest CLI OptionsGitHub Actions reporter with annotations for test failures source: Docs: Reporters
Report formatsCoverage reporters clover, JSON, lcov and text by default; default, summary and github-actions test reporters source: Docs: Configuring JestDefault, verbose, tree, dot, JUnit XML, JSON, HTML, TAP, TAP flat, GitHub Actions, blob; custom reporters source: Docs: Reporters
Install methodnpm (npm install --save-dev jest) or yarn (yarn add --dev jest) source: READMEnpm (npm install -D vitest); yarn, pnpm and bun also documented source: Docs: Getting Started

1 Fetched from the GitHub or GitLab API on . Hover a value for its own date.

When each fits

Written from each project's documented scope, not from preference. Neither tool is ranked.

Jest

Fits projects that test JavaScript code, including snapshot tests; its README describes a JavaScript testing solution that works out of the box for most JavaScript projects. source: README

Vitest

Fits projects that build with Vite and test with the same setup as the app; its README describes reuse of Vite's config, transformers, resolvers and plugins. source: README

More on these tools

Sources

  1. GitHub REST API: repository, read
  2. GitHub REST API: repository, read
  3. GitHub REST API: contributors, read
  4. GitHub REST API: contributors, read
  5. GitHub REST API: latest release, read
  6. GitHub REST API: latest release, read
  7. GitHub REST API: commits, read
  8. GitHub REST API: commits, read
  9. README, read
  10. README, read
  11. Docs: Jest CLI Options, read
  12. Docs: Improving Performance, read
  13. Docs: Reporters, read
  14. Docs: Configuring Jest, read
  15. Docs: Getting Started, read

Documented facts collected 2026-09-22. See the methodology for how metrics and facts are gathered.