validation

LCOV Coverage Viewer

Parse lcov.info files from Jest, Istanbul, Vitest, gcov, and coverage.py — line, function, and branch coverage per file. Runs in your browser.

All tools

What is LCOV Coverage Viewer?

LCOV Coverage Viewer is a free online tool that parses LCOV .info files and displays a human-readable coverage report. LCOV is the standard output format for code coverage tools across many languages and test runners — including Jest (JavaScript), Istanbul/nyc (JavaScript), Vitest (TypeScript), gcov (C/C++), and coverage.py (Python). An LCOV .info file encodes line-by-line, function-by-function, and branch-by-branch execution data for every source file in your project. This tool reads that data and renders it as a sortable, filterable table showing which files are well-covered and which need more tests. Processing is entirely client-side — your source code and coverage data never leave your browser.

How to view your LCOV report

  1. Generate your LCOV report: Run your test suite with coverage enabled. For Jest: add --coverage and set coverageReporters: ['lcov'] in jest.config. For Vitest: set coverage.reporter: ['lcov']. For Python: run coverage run then coverage lcov. The output is a file called lcov.info or coverage/lcov.info.
  2. Upload or paste the .info file: Drag your lcov.info file onto the upload area, or paste its raw text content into the input field. The viewer accepts any standard LCOV format regardless of which tool generated it.
  3. Inspect coverage by file: The summary cards show overall line, function, and branch coverage percentages. The file table lists every source file with its individual coverage and colored indicators — green (≥80%), yellow (60–80%), and red (<60%). Sort any column or search by filename to find the biggest coverage gaps.

Frequently asked questions

Is my code or coverage data sent to a server?
No. The LCOV parser runs entirely in your browser in JavaScript. Your .info file is never uploaded — it is read and parsed locally. This makes the tool safe for proprietary codebases.
Which test runners and coverage tools produce LCOV output?
Jest (coverageReporters: ['lcov']), Vitest (coverage.reporter: ['lcov']), Istanbul/nyc (--reporter=lcov), gcov (with lcov CLI), coverage.py (coverage lcov), Cargo/tarpaulin (--out Lcov), and most CI coverage platforms including Codecov and Coveralls.
What is the difference between line, function, and branch coverage?
Line coverage counts whether each executable line was reached by at least one test. Function coverage counts whether each function was called. Branch coverage counts both sides of every conditional (if/else, ternary, switch) — a line with a conditional shows as covered even if only one branch was taken.

Processing runs entirely in your browser — your coverage data is never sent to any server. API: POST https://quickhelp.dev/api/lcov-viewer — accepts raw LCOV content, returns structured JSON. See OpenAPI spec.

We use cookies to serve ads and measure traffic. Cookie policy · Privacy policy