The gcovr command can also generate a simple HTML output using the --html option:

gcovr --html

This generates a HTML summary of the lines executed. In this example, the file example1.html is generated, which has the following output:


The default behavior of the --html option is to generate HTML for a single webpage that summarizes the coverage for all files. The HTML is printed to standard output, but the -o/--output option is used to specify a file that stores the HTML output.

The --html-details option is used to create a separate web page for each file. Each of these web pages includes the contents of file with annotations that summarize code coverage. Consider the following command:

gcovr --html-details example_html.details.html

This generates the following HTML page for the file example1.cpp:


Note that the --html-details option needs a named output, e.g. via the the -o/--output option. For example, if the output is named coverage.html, then the web pages generated for each file will have names of the form coverage.<filename>.html.

The --html-self-contained option controls whether assets like CSS styles are bundled into the HTML file. The --html report defaults to self-contained mode. but --html-details defaults to --no-html-self-contained in order to avoid problems with the Content Security Policy of some servers, especially Jenkins.

New in version 5.0: Added --html-self-contained and --no-html-self-contained.

Changed in version 5.0: Default to external CSS file for --html-details.