Gcovr provides a utility for managing the use of the GNU gcov utility and generating summarized code coverage results. This command is inspired by the Python coverage.py package, which provides a similar utility for Python.

The gcovr command can produce different kinds of coverage reports:

CLI Option

User Guide


default, --txt

Text Output

compact human-readable summaries


HTML Output

overview of all files


HTML Output

annotated source files


HTML Output

use custom set of Jinja2 templates


CSV Output

CSV report summarizing the coverage of each file


JSON Output

JSON report with source file structure and coverage


JSON Output

JSON summary coverage report


Clover XML Output

machine readable XML reports in Clover format


Cobertura XML Output

machine readable XML reports in Cobertura format


Coveralls JSON Output

machine readable JSON report in Coveralls format


JaCoCo XML Output

machine readable XML reports in JaCoCo format


LCOV info Output

machine readable report in LCOV info format


SonarQube XML Output

machine readable XML reports in SonarQube format

Thus, gcovr can be viewed as a command-line alternative to the lcov utility, which runs gcov and generates an HTML-formatted report. The development of gcovr was motivated by the need for text summaries and XML reports.

This documentation (https://gcovr.com/) describes gcovr 7.2+main.