c8
What it is
c8 is a free, open-source command-line tool that creates code coverage reports from Node.js’ built-in V8 coverage. It supports JavaScript, TypeScript, and JSX, and reports lines, functions, branches, and statements. Reports work with Istanbul-compatible reporters; the README also describes an experimental Monocart option with v8 and console-details reporters. Configuration is available through command-line flags, a c8 section in package.json, or a JSON file. The --all option adds eligible source files the engine did not load and marks them at 0% coverage. Source maps can map coverage from generated code back to original files, using inline or separate map files. Special c8 comments can exclude a line, a chosen number of lines, or a block. Coverage thresholds, including per-file checks, can make tests fail when requirements are not met. The README shows global npm installation and running c8 with a Node.js script. The repository lists an ISC license. Its latest listed release, v12.0.0, says its dependencies require Node.js ^20.19.0, ^22.12.0, or >=23.
For and against
For
- Free and open source
- Istanbul-compatible reporting
- Can enforce per-file coverage thresholds
- Remaps coverage with source maps
Against
- Latest listed release requires specified recent Node.js versions
- Monocart reporting option is experimental
The verdict
c8 offers configurable V8 coverage reporting, source-map support, and threshold checks. Check the Node.js requirement for the latest listed release before adopting it.
Who it suits
c8 is suited to JavaScript, TypeScript, and JSX developers who want V8-based coverage reports and configurable coverage gates. It also supports teams that need source-map remapping or multiple report formats.
Plans and prices
c8
Open-source Node.js command-line code coverage tool
Read 8 Oct 2026 · github.com
On the record
- Configuration
- c8 accepts command-line flags, a c8 section in package.json, or a JSON configuration file.github.com · read 8 Oct 2026
- Coverage scope
- The --all option adds eligible source files that were not loaded by the engine to the report with 0% coverage.github.com · read 8 Oct 2026
- Ignore comments
- Special c8 comments can exclude the next line, a chosen number of lines, or a block from coverage.github.com · read 8 Oct 2026
- Installation
- The README shows installing c8 globally with npm and running it with a Node.js script.github.com · read 8 Oct 2026
- License
- The repository identifies its license as ISC.github.com · read 8 Oct 2026
- Purpose
- c8 produces code coverage reports using Node.js’ built-in V8 coverage.github.com · read 8 Oct 2026
- Report compatibility
- Its coverage is compatible with Istanbul reporters.github.com · read 8 Oct 2026
- Report formats
- The README documents Istanbul-compatible reporters and an experimental Monocart option with v8 and console-details reporters.github.com · read 8 Oct 2026
- Runtime requirement
- The latest listed release, v12.0.0, states that its dependencies require Node.js ^20.19.0, ^22.12.0, or >=23.github.com · read 8 Oct 2026
- Security
- The repository has a Security and quality section, but the opened security page did not expose specific security or compliance claims.github.com · read 8 Oct 2026
- Source maps
- c8 can remap coverage from generated code to original source files and load inline or separate source map files.github.com · read 8 Oct 2026
- Thresholds
- c8 can fail tests when coverage falls below configured thresholds, including per-file checks.github.com · read 8 Oct 2026