Suggest a tool

axe-core vs Pa11y: open-source accessibility testing tools compared

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

Summary

axe-core: JavaScript accessibility testing engine that checks HTML interfaces against WCAG rules inside existing test suites.

Pa11y: Accessibility testing CLI and Node.js library that checks web pages with HTML_CodeSniffer or axe runners.

Both are listed under Accessibility testing. 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

axe-core and Pa11y: metrics and documented facts, in the fixed row order used for accessibility testing comparisons.
Factaxe-corePa11y
Stars7,54214,5361
Forks93713011
Contributors2651631
Last release2026-08-0512026-08-281
Last commit2026-09-2112026-08-281
Commits in 90 days891101
LicenseMPL-2.01LGPL-3.01
Primary languageHTML1JavaScript1
Statusactive1active1
Rules or standardsWCAG 2.0, 2.1 and 2.2 at levels A, AA and AAA; additional rules outside WCAG source: READMEWCAG2A, WCAG2AA (default), WCAG2AAA (HTML_CodeSniffer runner only) source: README
BrowsersEdge 40+, Chrome 42+, Firefox 38+, Safari 7+; Internet Explorer 11 (deprecated) source: READMEHeadless Chrome, configured through Puppeteer launch options source: README
Framework integrationsDeque packages for React, WebdriverJS, WebdriverIO, Playwright, Puppeteer; Selenium, Capybara, Cucumber, RSpec, Watir source: Docs: Projects that use axe-coreTest runners HTML_CodeSniffer (default) and axe-core; custom runners as CommonJS modules source: README
CI integrationAxe + Azure Pipelines samples, listed among community projects source: Docs: Projects that use axe-coreError thresholds that set the exit code, for CI builds source: README
Report formatsJSON results object (passes, violations, incomplete, inapplicable) source: Docs: axe-core APIcli, csv, html, json, tsv; custom reporters source: README
Install methodnpm (npm install axe-core --save-dev) or pnpm source: READMEnpm (npm install -g pa11y) source: README

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.

axe-core

Fits projects that automate accessibility testing alongside functional tests; its README describes an accessibility testing engine for websites and HTML-based interfaces. source: README

Pa11y

Fits projects that automate accessibility tests on web pages; its README describes running accessibility tests via the command line or Node.js. 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: Projects that use axe-core, read
  12. Docs: axe-core API, read

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