Freedom251 › Test Coverage Tools
c8

What c8 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 measures lines, functions, branches, and statements. Its reports work with Istanbul-compatible reporters; an experimental Monocart option includes v8 and console-details reporters. You can configure c8 with 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 connect coverage from generated code to original files, using inline or separate map files. Special c8 comments can exclude a line, a chosen number of lines, or a block. You can set coverage thresholds, including per-file checks, and have tests fail when coverage falls short. The README shows installing c8 globally with npm and running it with a Node.js script. The repository identifies its license as ISC. The latest listed release, v12.0.0, says its dependencies require Node.js ^20.19.0, ^22.12.0, or >=23.
Who it suits
c8 suits developers working with JavaScript, TypeScript, or JSX who want coverage reports from Node.js’ built-in V8 coverage. It is also relevant to projects that need configurable report formats, source-map remapping, or coverage thresholds that can fail tests.
What it does well
- Free and open source, with an ISC license.
- Measures lines, functions, branches, and statements.
- Supports Istanbul-compatible reporters and an experimental Monocart option.
- Can include unloaded eligible files at 0% coverage.
- Supports source-map remapping and configurable coverage thresholds.
What to know first
- Listed platform support is Linux.
- It does not provide pull-request annotations.
- Latest listed release dependencies require specified Node.js versions.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| c8 | Open-source Node.js command-line code coverage tool | Free |
As github.com lists them, read 8 Oct 2026. The maker's own page has the final word.
Getting started
- Open the c8 GitHub repository.
- Install c8 globally with npm, as shown in the README.
- Run c8 with a Node.js script.
- Set options with command-line flags, package.json, or a JSON configuration file.
Verdict
Choose c8 if you need a free command-line tool that turns Node.js V8 coverage into configurable reports and can enforce coverage thresholds. Look elsewhere if you need pull-request annotations or historical trends, or if your platform is not Linux.
Questions
How much does c8 cost?
The listed plan is free. c8 is open source.
Which languages does c8 support?
The listed languages are JavaScript, TypeScript, and JSX.
What coverage does c8 measure?
It measures lines, functions, branches, and statements using Node.js’ built-in V8 coverage.
Which report formats can it produce?
Coverage is compatible with Istanbul reporters. The README also documents an experimental Monocart option with v8 and console-details reporters.
What Node.js versions are required?
The latest listed release, v12.0.0, says its dependencies require Node.js ^20.19.0, ^22.12.0, or >=23.
How can c8 be configured?
It accepts command-line flags, a c8 section in package.json, or a JSON configuration file.
Facts from c8's own pages
- Configuration
- c8 accepts command-line flags, a c8 section in package.json, or a JSON configuration file. · github.com, 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, 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, 8 Oct 2026
- Installation
- The README shows installing c8 globally with npm and running it with a Node.js script. · github.com, 8 Oct 2026
- License
- The repository identifies its license as ISC. · github.com, 8 Oct 2026
- Purpose
- c8 produces code coverage reports using Node.js’ built-in V8 coverage. · github.com, 8 Oct 2026
- Report compatibility
- Its coverage is compatible with Istanbul reporters. · github.com, 8 Oct 2026
- Report formats
- The README documents Istanbul-compatible reporters and an experimental Monocart option with v8 and console-details reporters. · github.com, 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, 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, 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, 8 Oct 2026
- Thresholds
- c8 can fail tests when coverage falls below configured thresholds, including per-file checks. · github.com, 8 Oct 2026
Where c8 stands on Freedom251
- Test Coverage Tools#9 of 27