
JaCoCo
Java integrated development environments (IDE)
Integrated development environments (IDE)
- Features
- Ease of use
- Ease of management
- Quality of support
- Affordability
- Market presence
Take the quiz to check if JaCoCo and its alternatives fit your requirements.
Completely free
Small
Medium
Large
-
What is JaCoCo
JaCoCo (Java Code Coverage) is an open-source code coverage library for Java that instruments bytecode to measure test execution coverage. It is typically used by Java developers and build/release teams to generate coverage reports as part of unit/integration testing in CI pipelines. JaCoCo integrates with common Java build tools and can produce reports in multiple formats for quality gates and auditing. It is not an IDE; it complements IDEs and build systems by providing coverage measurement and reporting.
Build and CI friendly
JaCoCo integrates into common Java build workflows, including Maven and Gradle, and is frequently used in automated CI pipelines. It supports both on-the-fly instrumentation via a Java agent and offline instrumentation for specific scenarios. This makes it practical for teams that need repeatable coverage reporting across local development and CI environments.
Multiple report formats
JaCoCo generates coverage outputs in formats commonly consumed by developers and quality tooling, including HTML for human review and XML/CSV for automation. Teams can use these outputs to track coverage trends and enforce thresholds in build steps. The reporting focus fits well alongside IDE-based development without requiring developers to change editors.
Bytecode-level Java coverage
JaCoCo measures coverage by instrumenting Java bytecode, which allows it to work across different IDEs and runtime environments. It supports typical coverage metrics used in Java projects (for example, instruction, branch, line, method, and class coverage). This approach helps standardize coverage measurement across diverse developer setups.
Not an IDE product
Despite being listed alongside IDEs, JaCoCo does not provide code editing, debugging, project navigation, or other IDE capabilities. Users still need a separate IDE or editor and a build tool to run tests and view results. Organizations evaluating IDE platforms should treat JaCoCo as an auxiliary testing/quality component rather than a development environment.
Java-focused scope
JaCoCo targets the Java ecosystem and does not provide native coverage for non-JVM languages. Mixed-language repositories may need additional coverage tools for other stacks and then reconcile reporting across systems. This can complicate standardization when teams use multiple runtimes.
Coverage interpretation overhead
Coverage results can be affected by generated code, instrumentation settings, and test execution paths, requiring configuration and governance to avoid misleading metrics. Teams often need to manage exclusions (for example, for generated sources) and align on which coverage thresholds are meaningful. Without this discipline, coverage numbers can drive incorrect conclusions about test quality.
Plan & Pricing
Pricing model: Completely free / open-source License: Eclipse Public License 2.0 How to obtain: Download release builds from the official JaCoCo site or use the Maven repository (official downloads listed on jacoco.org). Notes: No paid plans, no tiered pricing, and no time-limited trials documented on the official site. The EclEmma Eclipse integration is also provided free under the Eclipse Public License.
Seller details
Eclipse Foundation AISBL
Brussels, Belgium
2004
Non-profit
https://www.eclipse.org/
https://x.com/EclipseFdn
https://www.linkedin.com/company/eclipse-foundation/