Suggest a tool

Category guides · published

"Best open source accessibility testing tools": 9 listed, sorted by GitHub stars

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

The accessibility category on FreeQATools lists open-source automated accessibility checkers and rule engines. The table is sorted by GitHub stars on each tool's fetch date, which is a count and not a quality judgement. The sections below group the tools by rule engine, documented standards, place of execution and report format.

Rule engines and axe-core integrations

axe-core is a JavaScript engine that checks HTML interfaces against WCAG rules inside existing test suites. Several tools in the category reference axe-core in their documentation. axe-core-npm packages axe-core checks for a CLI, Playwright, Puppeteer, React and WebDriver. cypress-axe adds Cypress commands that run axe-core checks. Lighthouse weights its accessibility audits by axe user impact assessments.

Pa11y has HTML_CodeSniffer as its default test runner and axe-core as another built-in runner. Pa11y CI is built on Pa11y. The Pa11y CI README states that it accepts Pa11y configuration as defaults. equal-access applies its own rule policies, with IBM_Accessibility as the default policy.

Documented standards

axe-core documents WCAG 2.0, 2.1 and 2.2 rules at levels A, AA and AAA. Pa11y accepts the WCAG2A, WCAG2AA and WCAG2AAA standards, with AAA available on the HTML_CodeSniffer runner only. The assessment in Accessibility Insights for Web covers WCAG 2.2 Level AA success criteria. equal-access lists WCAG_2_1 among its rule policies.

Some wrappers select axe-core rules by tag instead of naming a standard. The axe-core-npm CLI takes a --tags option such as wcag2a. The cypress-axe README shows an example that filters by the wcag2a tag. No standard was found in the documentation read for Pa11y CI. A comparison row with no documented value is marked not documented instead of inferred (comparison method).

Where the checks run

Some accessibility tools run inside the browser. Accessibility Insights for Web runs as a Google Chrome and Microsoft Edge extension. The equal-access toolkit includes extensions for the Chrome, Firefox and Edge developer tools. Lighthouse is available as a Chrome DevTools panel.

Test framework integrations cover other workflows. The equal-access accessibility-checker package works with Selenium, Puppeteer, Playwright and Jest. cypress-axe runs inside Cypress. axe-core-npm covers Playwright, Puppeteer, React, WebdriverIO and WebdriverJS.

CI use is documented in different ways. The axe-core-npm CLI has an --exit flag that returns exit code 1 when a rule fails. Pa11y sets its exit code through error thresholds. Pa11y CI is designed for CI environments. Lighthouse CI provides configs for GitHub Actions, Travis CI, CircleCI, GitLab CI, Jenkins and Google Cloud Build.

Report formats and status

axe-core returns its results in JSON format. The axe-core-npm CLI saves results as JSON files. Pa11y reporters include cli, csv, html, json and tsv. Lighthouse writes JSON, HTML or CSV, with HTML by default. The equal-access accessibility-checker writes JSON, CSV, HTML and XLSX results.

cypress-axe adds a Cypress command log entry for each violation type. Pa11y CI includes a cli reporter and a json reporter.

Status on the fetch date follows the published status rules. Lighthouse CI is marked inactive. Pa11y CI is marked slow.

How this list is sorted

The quoted title is a search query, not a verdict. FreeQATools does not rank tools by opinion. The list below is sorted by GitHub stars, descending, as fetched from the repository host API on the date shown with each value.

Stars count how many accounts have starred a repository. They say nothing about fit for a given project, so the documented facts under each tool are the part to compare.

Every tool here meets the inclusion rules: an OSI-approved license, a public repository, software testing or quality as its primary purpose and at least one release or tag. Each status badge follows the status rules on the methodology page.

Open-source accessibility testing tools by GitHub stars

Accessibility testing tools. Sorted by GitHub stars, descending. Select a column heading to change the sort.
Lighthouse30,79912026-09-181v13.5.02026-09-181Apache-2.0JavaScriptactive
axe-core7,54212026-08-051v4.13.02026-09-211MPL-2.0HTMLactive
Lighthouse CI7,09412025-06-261v0.15.12025-06-261Apache-2.0JavaScriptinactive
Pa11y4,53612026-08-28110.0.02026-08-281LGPL-3.0JavaScriptactive
Accessibility Insights for Web95212026-09-081web@2.49.02026-09-151MITTypeScriptactive
equal-access77812026-09-0814.0.342026-09-081Apache-2.0JavaScriptactive
axe-core-npm72412026-08-111v4.13.02026-09-021MPL-2.0JavaScriptactive
cypress-axe64112025-08-291v1.7.02026-09-031MITTypeScriptactive
Pa11y CI63312026-05-1214.1.12026-05-121LGPL-3.0JavaScriptslow

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

Filters for language, license and status are on the accessibility testing category page.

Tools in this list

Each entry gives the tool's one-line summary from its README and the facts its documentation states for this category, each with its source. Facts that are not documented are left out here and marked on the comparison pages.

  1. Lighthouse

    Web page auditing tool for performance, accessibility and SEO, run from Chrome DevTools, a Node CLI or module. README, read 2026-09-22

    Rules or standards
    Accessibility audits, weighted by axe user impact assessments source: Docs: Lighthouse accessibility score
    Browsers
    Chrome or Chromium 66.0 or later; detects Chrome Canary or Chrome stable by default source: README
    Framework integrations
    Puppeteer (launch Chrome with Puppeteer, then hand off to Lighthouse) source: Docs: Using Puppeteer with Lighthouse
    CI integration
    Lighthouse CI, listed as the official project for running Lighthouse on every commit source: README
    Report formats
    JSON, HTML, CSV (HTML by default) source: README
    Install method
    npm (npm install -g lighthouse) or yarn; also a Chrome DevTools panel source: README
  2. axe-core

    JavaScript accessibility testing engine that checks HTML interfaces against WCAG rules inside existing test suites. README, read 2026-09-22

    Rules or standards
    WCAG 2.0, 2.1 and 2.2 at levels A, AA and AAA; additional rules outside WCAG source: README
    Browsers
    Edge 40+, Chrome 42+, Firefox 38+, Safari 7+; Internet Explorer 11 (deprecated) source: README
    Framework integrations
    Deque packages for React, WebdriverJS, WebdriverIO, Playwright, Puppeteer; Selenium, Capybara, Cucumber, RSpec, Watir source: Docs: Projects that use axe-core
    CI integration
    Axe + Azure Pipelines samples, listed among community projects source: Docs: Projects that use axe-core
    Report formats
    JSON results object (passes, violations, incomplete, inapplicable) source: Docs: axe-core API
    Install method
    npm (npm install axe-core --save-dev) or pnpm source: README
  3. Lighthouse CI

    Tool suite that runs, stores and asserts against Lighthouse results in CI, with a server and dashboard. README, read 2026-09-22

    Rules or standards
    Lighthouse regression checks for accessibility, SEO, offline support and performance source: README
    Browsers
    Chrome or Chromium (chromePath option) source: Docs: Configuration
    Framework integrations
    Puppeteer scripts that prepare the browser before Lighthouse runs (puppeteerScript) source: Docs: Configuration
    CI integration
    Guide with configs for GitHub Actions, Travis CI, CircleCI, GitLab CI, Jenkins, Google Cloud Build source: Docs: Getting Started
    Report formats
    Lighthouse JSON and HTML reports with a manifest.json (filesystem target); LHCI server or temporary public storage source: Docs: Configuration
    Install method
    npm (npm install -g @lhci/cli) source: README
  4. Pa11y

    Accessibility testing CLI and Node.js library that checks web pages with HTML_CodeSniffer or axe runners. README, read 2026-09-22

    Rules or standards
    WCAG2A, WCAG2AA (default), WCAG2AAA (HTML_CodeSniffer runner only) source: README
    Browsers
    Headless Chrome, configured through Puppeteer launch options source: README
    Framework integrations
    Test runners HTML_CodeSniffer (default) and axe-core; custom runners as CommonJS modules source: README
    CI integration
    Error thresholds that set the exit code, for CI builds source: README
    Report formats
    cli, csv, html, json, tsv; custom reporters source: README
    Install method
    npm (npm install -g pa11y) source: README
  5. Accessibility Insights for Web

    Chrome and Edge extension for checking the accessibility of websites and web applications, including WCAG 2.1 AA assessments. README, read 2026-09-22

    Rules or standards
    WCAG 2.2 Level AA success criteria (Assessment) source: Docs: Assessment
    Browsers
    Google Chrome, Microsoft Edge (browser extension) source: README
    Framework integrations
    Playwright example in axe-pipelines-samples for the automated checks source: Docs: Web FAQ
    CI integration
    Azure Pipelines samples (axe-pipelines-samples) for the automated checks source: Docs: Web FAQ
    Report formats
    HTML, JSON (Assessment export) source: Docs: Assessment
    Install method
    Chrome Web Store extension in Canary, Insider and Production channels source: README
  6. equal-access

    IBM Equal Access Toolkit accessibility checkers: browser extensions, a Node package for CI, and a Cypress wrapper. README, read 2026-09-22

    Rules or standards
    Rule policies such as IBM_Accessibility (default) and WCAG_2_1 source: Docs: accessibility-checker usage
    Browsers
    Extensions for Chrome, Firefox and Edge developer tools source: README
    Framework integrations
    Selenium, Puppeteer, Playwright, Jest (accessibility-checker package) source: Docs: accessibility-checker NODE
    CI integration
    Continuous integration pipelines such as Travis CI source: README
    Report formats
    JSON, CSV, HTML, XLSX source: Docs: accessibility-checker NODE
    Install method
    npm (npm install --save-dev accessibility-checker) source: Docs: accessibility-checker usage
  7. axe-core-npm

    Set of npm packages that run axe-core accessibility checks from a CLI, Playwright, Puppeteer, React and WebDriver. README, read 2026-09-22

    Rules or standards
    axe-core rules selected by tag, such as wcag2a (CLI --tags) source: Docs: @axe-core/cli
    Browsers
    Headless Chrome by default (CLI); other browsers through their WebDriver source: Docs: @axe-core/cli
    Framework integrations
    Playwright, Puppeteer, React, WebdriverIO, WebdriverJS; plus a CLI and an EARL reporter source: README
    CI integration
    CLI --exit flag returns exit code 1 when a rule fails, for CI builds source: Docs: @axe-core/cli
    Report formats
    JSON files (CLI --save and --dir flags) source: Docs: @axe-core/cli
    Install method
    npm, one package per integration (npm install @axe-core/cli -g) source: Docs: @axe-core/cli
  8. cypress-axe

    Cypress commands that run axe-core accessibility checks against pages under test. README, read 2026-09-22

    Rules or standards
    axe-core rules; README example filters by tag wcag2a source: README
    Framework integrations
    Cypress (v10 and above; cypress-axe 0.x for Cypress v9) source: README
    Report formats
    Cypress command log entry per violation type; custom terminal output via violationCallback source: README
    Install method
    npm (npm install --save-dev axe-core cypress cypress-axe) source: README
  9. Pa11y CI

    Command-line runner that applies Pa11y accessibility tests to URL lists or sitemaps in CI pipelines. README, read 2026-09-22

    Browsers
    Chrome (executable path set in defaults.chromeLaunchConfig.executablePath) source: README
    Framework integrations
    Pa11y (built on it; accepts Pa11y configuration as defaults) source: README
    CI integration
    Designed for CI environments; Docker setup documented; Travis CI article listed source: README
    Report formats
    cli (default), json; custom reporters such as pa11y-reporter-html source: README
    Install method
    npm (npm install -g pa11y-ci) source: README

Comparisons in this category