LCOV
LCOV captures which parts of a program ran during tests and displays the resulting coverage information.
What LCOV is
LCOV captures which parts of a program ran during tests and displays the resulting coverage information. It generates HTML reports with colored rates, bar graphs and hyperlinks, and can also produce LCOV .info tracefiles. Its listed coverage types are line, function, branch and MC/DC, with described language support for C/C++, Perl and Python. Reports can be organized as a directory hierarchy, a flat source-file list, or detail at directory, file and source-code levels. Users can include or exclude code and filter artifacts such as compiler-generated branches. LCOV also supports differential coverage, date and owner binning, and sample callbacks for Git and Perforce to identify source changes, authors and edit dates. Its tools can parallelize work across multiple cores when requested, with an option to limit memory use. LCOV is GPL-2.0 licensed and available for Linux and self-hosted use at no cost. Installation options include RPM, tarball and Git clone; it is primarily implemented in Perl and requires Perl packages.
Good
- Generates HTML reports and .info tracefiles
- Supports line, function, branch and MC/DC coverage
- Offers differential coverage reports
- Can parallelize work across multiple cores
- GPL-2.0 licensed and available at no cost
Watch out
- Requires a moderately up-to-date Perl installation
- Needs multiple Perl packages
- Optional XS extension requires a C++20-capable compiler
- Issue support is provided by volunteers
Who it suits
LCOV suits developers and teams working with C/C++, Perl or Python who need test coverage reports. Its differential reporting and source-change callbacks may also suit users tracking coverage alongside version-control changes.
Verdict
LCOV offers multiple report views and coverage types for its listed languages, with options for differential reports and filtering. Users should account for its Perl dependencies and volunteer-based issue support.
Plans and prices
From LCOV's own pricing page, checked 9 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| LCOV | Free | GPL-2.0 licensed; available as RPM, tarball, or Git clone |
The facts
Each one read from LCOV's own pages, with the date it was checked.
What it does
- Dependencies
- LCOV is primarily implemented in Perl and requires a moderately up-to-date Perl installation and multiple Perl packages.checked 9 Oct 2026
- Differential coverage
- LCOV supports differential coverage reports as well as date and owner binning.checked 9 Oct 2026
- Filtering
- Users can include or exclude code and filter coverage artifacts such as compiler-generated branches.checked 9 Oct 2026
- Installation
- The project provides RPM and tarball releases, and documents installation from a Git clone; the default install location is /usr/local.checked 9 Oct 2026
- Languages
- The project describes support for C/C++, Perl, and Python, and includes translators for LLVM, Python Coverage.py, Perl Devel::Cover, Cobertura-like XML, and JaCoCo data.checked 9 Oct 2026
- License
- The repository identifies LCOV as GPL-2.0 licensed.checked 9 Oct 2026
- Optional extension
- The optional XS extension requires a C++20-capable compiler; the README specifies g++ 8 or later and recommends g++ 14 or later.checked 9 Oct 2026
- Parallel processing
- lcov, genhtml, and geninfo can parallelize work across multiple cores when requested, with an option to limit memory use.checked 9 Oct 2026
- Project scale
- Its reports can show coverage in a hierarchical directory view, a flat source-file list, or directory, file, and source-code detail levels.checked 9 Oct 2026
- Purpose
- LCOV captures and displays information about which parts of a program ran during tests.checked 9 Oct 2026
- Reports
- It generates HTML coverage reports with colored coverage rates, bar graphs, and hyperlinks.checked 9 Oct 2026
- Support
- The README directs users with questions to open an issue or discussion and says issue support is provided by volunteers.checked 9 Oct 2026
- Version control
- Sample callbacks are provided for Git and Perforce to identify source changes, authors, and edit dates.checked 9 Oct 2026
The company
- Maker
- The GitHub organization describes Linux Test Project as providing tools and test suites to verify the Linux kernel and related subsystems.checked 9 Oct 2026
Alternatives to LCOV
- 1

Codecov
Free planOpen sourceWebAPIExtensionLinux8.0From $5 a month - 2
Avidemux
Free planOpen sourceWebLinuxmacOSWindows7.3Free plan - 3
Coverage.py
Free planOpen sourceAPILinuxmacOSSelf-hosted7.3Free plan - 4

Coveralls
Free planWebAPILinuxSelf-hosted6.8From $10 a month - 5
ReportGenerator
Free planLinuxmacOSWindows6.8$79 one-time - 6
gcov
Free planLinuxmacOSWindows6.5Free plan
