FREEDOM251

Freedom251 › Test Coverage Tools

Istanbul

Free plan API

Visit Istanbul Alternatives

Istanbul's own site

What Istanbul is

Istanbul measures how JavaScript tests exercise a codebase by instrumenting code and tracking coverage. It reports line, statement, function, and branch coverage, with output available in text, HTML, and lcov formats. The tool supports ES5 and ES2015+ JavaScript, including ES6+ through babel-plugin-istanbul, and source-mapped coverage for Babel and TypeScript projects. Its nyc command-line interface works with most JavaScript test frameworks; named examples include tap, mocha, and AVA. Integrations listed by the project include nyc, c8, Jest, and node-tap, with c8 using Istanbul reports to display V8 coverage. Reporters can be built in or provided by npm packages, and text is the default output. The nyc CLI can instrument subprocesses. Istanbul is open source, free, and uses the Revised BSD License. Its documented tools support coverage gates, but not pull-request annotations.

Who it suits

Istanbul suits JavaScript teams that want to measure test coverage across several code constructs and produce terminal, HTML, or lcov reports. It also fits projects using TypeScript with source-mapped coverage or test frameworks such as mocha, tap, or AVA.

What it does well

  • Tracks line, statement, function, and branch coverage.
  • Supports ES5 and ES2015+ JavaScript.
  • Produces text, HTML, and lcov reports.
  • nyc supports subprocess instrumentation.
  • Free and open source under the Revised BSD License.

What to know first

  • Does not provide pull-request annotations.
  • Listed platform is API.

Limits

Istanbul’s listed coverage tooling does not provide pull-request annotations. Its language support is limited to JavaScript and TypeScript projects.

Getting started

  1. Install nyc as a development dependency with npm
  2. Add nyc before your test command
  3. Run nyc with a mocha or other supported test framework
  4. Choose text, HTML, lcov, or another reporter
  5. Configure coverage gates for your workflow

Verdict

Istanbul provides coverage measurement and reporting for JavaScript projects, with source-mapped coverage also listed for Babel and TypeScript. Consider the lack of pull-request annotations if those are needed in your workflow.

Questions

Is Istanbul free?

Yes. Istanbul is listed as free and open source.

Which languages does it support?

It supports JavaScript and TypeScript, including ES5 and ES2015+ JavaScript.

What coverage types are available?

It reports line, statement, function, and branch coverage.

Which report formats are supported?

Listed formats are text, HTML, and lcov.

Which tools integrate with Istanbul APIs?

The listed integrations are nyc, c8, Jest, and node-tap.

Which test frameworks are named?

The nyc client names tap, mocha, and AVA among supported frameworks.

Facts from Istanbul's own pages

Advanced features
Advanced documentation links to source instrumentation, process tree information, reports from a __coverage__ object and alternative reporters. · istanbul.js.org, 11 Oct 2026
CLI use
The quick start installs nyc as a development dependency and shows running it before mocha in a test script. · istanbul.js.org, 11 Oct 2026
Configurable reports
The nyc README says reporters can be built in or supplied by an npm package, and defaults to text output. · github.com, 11 Oct 2026
ES2015+ support
The site lists first-class ES6/ES2015+ support through babel-plugin-istanbul. · istanbul.js.org, 10 Oct 2026
ES6 support
The site lists first class ES6/ES2015+ support through babel-plugin-istanbul. · istanbul.js.org, 11 Oct 2026
Integrations
Listed integrations are nyc, c8, Jest and node-tap; c8 uses Istanbul reports to display V8 coverage. · istanbul.js.org, 11 Oct 2026
JavaScript support
The site says Istanbul instruments ES5 and ES2015+ JavaScript. · istanbul.js.org, 10 Oct 2026
License
The Istanbul site identifies its license as Revised BSD License. · istanbul.js.org, 11 Oct 2026
Open source project
The Istanbul GitHub organization describes Istanbul as a JavaScript code coverage tool that computes statement, line, function and branch coverage. · github.com, 11 Oct 2026
Other framework support
The homepage says nyc works with testing frameworks including tap, mocha, and AVA. · istanbul.js.org, 10 Oct 2026
Purpose
Istanbul instruments JavaScript code with line counters to track how well unit tests exercise a codebase. · istanbul.js.org, 11 Oct 2026
Reports
Istanbul provides reporters with terminal and HTML output. · istanbul.js.org, 11 Oct 2026
Setup
The quick start installs nyc as a development dependency with npm and shows using it before a mocha test command. · istanbul.js.org, 10 Oct 2026
Source mapped coverage
The nyc README lists source mapped coverage for Babel and TypeScript projects. · github.com, 11 Oct 2026
Subprocesses
The site lists support for instrumenting subprocesses through the nyc command line interface. · istanbul.js.org, 11 Oct 2026
Support
The contributing page directs users to report bugs by opening an issue in the appropriate GitHub repository. · istanbul.js.org, 10 Oct 2026
Supported JavaScript
The site says Istanbul instruments ES5 and ES2015+ JavaScript. · istanbul.js.org, 11 Oct 2026
Test frameworks
The nyc client works with most JavaScript testing frameworks, and the site names tap, mocha and AVA as examples. · istanbul.js.org, 11 Oct 2026
Testing integrations
The integrations page lists nyc, c8, Jest, and node-tap as tools that integrate with Istanbul APIs for JavaScript test coverage. · istanbul.js.org, 10 Oct 2026
Tutorials
The tutorials cover AVA, ES2015+, Jest, mocha, Intern, IoT.js, tap and TypeScript. · istanbul.js.org, 11 Oct 2026

Where Istanbul stands on Freedom251

Look at these too