EVERYTHING XIAOMI
Get listed

Istanbul

Istanbul is an open-source JavaScript coverage tool that instruments code with counters, showing how tests exercise a project.

Place
#24 of 27
Score
5.3
Istanbul's website

What Istanbul is

Istanbul is an open-source JavaScript coverage tool that instruments code with counters, showing how tests exercise a project. It handles ES5 and ES2015+ JavaScript, with first-class ES6 and later support through babel-plugin-istanbul. Coverage includes lines, statements, functions, and branches. Reports can be emitted as terminal text, HTML, or lcov output, with reporters supplied directly or through npm packages. The nyc command-line interface supports subprocess instrumentation and works with most JavaScript test frameworks, including tap, mocha, and AVA. Listed integrations include nyc, c8, Jest, and node-tap; c8 uses Istanbul reports for V8 coverage. Source-mapped coverage is listed for Babel and TypeScript projects. Coverage gates are supported, but pull-request annotations are not. Istanbul can be installed as a development dependency and run before a mocha command. Advanced documentation covers source instrumentation, process trees, __coverage__ reports, and alternative reporters. The project uses the Revised BSD License.

Good

  • Supports ES5 and ES2015+ JavaScript
  • Measures line, statement, function, and branch coverage
  • Provides text, HTML, and lcov reports
  • nyc supports subprocess instrumentation
  • Coverage gates are available

Watch out

  • No pull-request annotations

Who it suits

Istanbul suits JavaScript and TypeScript projects that need coverage across several measurement types and report formats. It fits teams using frameworks such as Jest, mocha, tap, or AVA.

Verdict

Istanbul provides broad JavaScript coverage measurement with multiple report formats and testing integrations. Check whether its lack of pull-request annotations matters to your workflow.

The facts

Each one read from Istanbul's own pages, with the date it was checked.

What it does

Advanced features
Advanced documentation links to source instrumentation, process tree information, reports from a __coverage__ object and alternative reporters.checked 11 Oct 2026
CLI use
The quick start installs nyc as a development dependency and shows running it before mocha in a test script.checked 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.checked 11 Oct 2026
ES2015+ support
The site lists first-class ES6/ES2015+ support through babel-plugin-istanbul.checked 10 Oct 2026
ES6 support
The site lists first class ES6/ES2015+ support through babel-plugin-istanbul.checked 11 Oct 2026
Integrations
Listed integrations are nyc, c8, Jest and node-tap; c8 uses Istanbul reports to display V8 coverage.checked 11 Oct 2026
JavaScript support
The site says Istanbul instruments ES5 and ES2015+ JavaScript.checked 10 Oct 2026
License
The Istanbul site identifies its license as Revised BSD License.checked 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.checked 11 Oct 2026
Other framework support
The homepage says nyc works with testing frameworks including tap, mocha, and AVA.checked 10 Oct 2026
Purpose
Istanbul instruments JavaScript code with line counters to track how well unit tests exercise a codebase.checked 11 Oct 2026
Reports
Istanbul provides reporters with terminal and HTML output.checked 11 Oct 2026
Setup
The quick start installs nyc as a development dependency with npm and shows using it before a mocha test command.checked 10 Oct 2026
Subprocesses
The site lists support for instrumenting subprocesses through the nyc command line interface.checked 11 Oct 2026
Support
The contributing page directs users to report bugs by opening an issue in the appropriate GitHub repository.checked 10 Oct 2026
Supported JavaScript
The site says Istanbul instruments ES5 and ES2015+ JavaScript.checked 11 Oct 2026
Test frameworks
The nyc client works with most JavaScript testing frameworks, and the site names tap, mocha and AVA as examples.checked 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.checked 10 Oct 2026
Tutorials
The tutorials cover AVA, ES2015+, Jest, mocha, Intern, IoT.js, tap and TypeScript.checked 11 Oct 2026

Where it runs

Source mapped coverage
The nyc README lists source mapped coverage for Babel and TypeScript projects.checked 11 Oct 2026

Alternatives to Istanbul

All alternatives
  1. 1Codecov logo

    Codecov

    Free planOpen sourceWebAPIExtensionLinux
    8.0From $5 a month
  2. 2

    Avidemux

    Free planOpen sourceWebLinuxmacOSWindows
    7.3Free plan
  3. 3

    Coverage.py

    Free planOpen sourceAPILinuxmacOSSelf-hosted
    7.3Free plan
  4. 4Coveralls logo

    Coveralls

    Free planWebAPILinuxSelf-hosted
    6.8From $10 a month
  5. 5

    ReportGenerator

    Free planLinuxmacOSWindows
    6.8$79 one-time
  6. 6

    gcov

    Free planLinuxmacOSWindows
    6.5Free plan