FREEDOM251

Freedom251 › Code Coverage Tools

JaCoCo

Free plan API

Visit JaCoCo Alternatives Pricing

JaCoCo's own site

What JaCoCo is

JaCoCo is a free code coverage library for Java and Java Virtual Machine based environments. It measures instruction, branch, line, method, class, and complexity coverage, giving development teams several ways to examine which parts of their code are covered. Its Java agent instruments class files as the application loads them and works independently of the application framework. JaCoCo can produce reports in HTML, XML, and CSV, and includes Ant tasks and a Maven plug-in for collecting execution data and generating reports. Its integration matrix includes Gradle, Eclipse, IntelliJ IDEA, Jenkins, SonarQube, and TeamCity. JaCoCo officially supports Java class files from version 1.0 through 27, with experimental support for version 28; its runtime and tools require Java 1.5 or later. Line coverage and source highlighting depend on class files compiled with debug information that includes line numbers. The library and its included documentation are offered under the Eclipse Public License 2.0, except where otherwise indicated. JaCoCo’s agent TCP connections and JMX interface do not use authentication, so the project cautions against exposing them to untrusted sources. The project is maintained by volunteers and does not commit to release dates.

Who it suits

JaCoCo suits Java and Java Virtual Machine developers who want to collect coverage data and produce reports through Ant or Maven. Its integrations and coverage measures also make it relevant to teams using tools such as Gradle, Eclipse, Jenkins, SonarQube, or TeamCity.

What it does well

  • Free Java code coverage library under EPL 2.0.
  • Measures instruction, branch, line, method, class, and complexity coverage.
  • Generates reports in HTML, XML, and CSV.
  • Includes Ant tasks and a Maven plug-in.
  • Integration matrix includes Gradle, Jenkins, SonarQube, and other tools.

What to know first

  • Runtime and tools require Java 1.5 or higher.
  • Line coverage and source highlighting need debug line information.
  • Agent TCP connections and JMX have no authentication.
  • Java 28 support is experimental.

Limits

JaCoCo is free. Line coverage and source highlighting require class files compiled with debug information that includes line numbers; Java 28 support is experimental.

Plans

PlanBilled and limitsPrice
FreeFree Java code coverage library · EPL 2.0 licenseFree

As jacoco.org lists them, read 4 Oct 2026. The maker's own page has the final word.

Getting started

  1. Open the JaCoCo website.
  2. Use a runtime and tools environment with Java 1.5 or higher.
  3. Choose Ant tasks or the Maven plug-in to collect execution data and create reports.
  4. Compile class files with debug information containing line numbers if line coverage or source highlighting is needed.

Verdict

Choose JaCoCo if you need a free library to measure Java code coverage and create reports through Ant or Maven. It supports a range of coverage metrics and integrations. Account for the debug information needed for line reporting and the unauthenticated agent interfaces when deciding how to configure it.

Questions

How much does JaCoCo cost?

JaCoCo is free, with a listed plan price of $0.

Which languages does JaCoCo support?

It is described as a code coverage library for Java and Java VM based environments. The listed supported languages are Java, Kotlin, Groovy, and Scala.

What report formats can it create?

JaCoCo can generate reports in HTML, XML, and CSV.

What Java versions does JaCoCo support?

It officially supports Java class files from version 1.0 through 27 and experimentally supports version 28. Its runtime and tools require Java 1.5 or later.

Is JaCoCo open source?

The library and included documentation are made available under the Eclipse Public License 2.0, except where otherwise indicated.

Which tools does JaCoCo integrate with?

Its integration matrix includes Gradle, Eclipse, IntelliJ IDEA, Jenkins, SonarQube, and TeamCity.

Facts from JaCoCo's own pages

Build tools
JaCoCo provides Ant tasks and a Maven plug-in for collecting execution data and creating reports. · jacoco.org, 4 Oct 2026
Coverage metrics
It analyzes instruction, branch, line, method, type, and cyclomatic complexity coverage. · jacoco.org, 4 Oct 2026
Instrumentation
Its Java agent instruments class files on the fly as they are loaded, independently of the application framework. · jacoco.org, 4 Oct 2026
Integrations
The integration matrix lists tools including Gradle, Eclipse, IntelliJ IDEA, Jenkins, SonarQube, and TeamCity. · jacoco.org, 4 Oct 2026
Java support
JaCoCo officially supports Java class files from version 1.0 to 27 and experimentally supports version 28; its runtime and tools require Java 1.5 or higher. · jacoco.org, 4 Oct 2026
License
The library and its included documentation are made available under the Eclipse Public License 2.0, except where otherwise indicated. · jacoco.org, 4 Oct 2026
Purpose
JaCoCo is a code coverage library for Java and Java VM based environments. · jacoco.org, 4 Oct 2026
Release schedule
The project says it is maintained by volunteers in their free time and does not commit to particular release dates. · jacoco.org, 4 Oct 2026
Report requirement
Line coverage and source highlighting require class files compiled with debug information containing line numbers. · jacoco.org, 4 Oct 2026
Reports
It can create coverage reports in HTML, XML, and CSV formats. · jacoco.org, 4 Oct 2026
Security
The agent’s TCP connections and JMX interface have no authentication, and the documentation warns that exposing them to untrusted sources may reveal application information or permit denial-of-service attacks. · jacoco.org, 4 Oct 2026
Support
The project directs users to its public JaCoCo and EclEmma user group for feedback and questions. · jacoco.org, 4 Oct 2026

Where JaCoCo stands on Freedom251

Look at these too