Best Test Coverage Tools in 2026
Updated
In short: Coveralls is ranked #1 of 26 as of 5 October 2026, ahead of Codecov and ReportGenerator. The best-ranked option with a free plan is Codecov. The lowest first paid tier on this page is Codecov at $5/mo.
When you want to understand how much of a codebase your tests exercise, coverage tools can provide reports and workflow controls to consider. Compared on supported languages and coverage types, the entries also include coverage gates, historical trends, and pull-request annotations. Report formats and a self-hosted option offer further points of comparison for fitting results into your development setup. Free-plan availability and paid-from pricing round out the listed criteria. Coveralls, Codecov, and ReportGenerator are among the named tools, as are Coverage.py and Coverlet. Weigh language support and reporting details against the way your team reviews test results.
26 test coverage tools ranked on what their makers publish — plans and prices, free tiers, platforms and the facts on their own pages.
Recognised 40% · Phone app 26% · Documented 20% · Free plan 14% of the score
- 1 Coveralls No phone app RecognisedPhone appDocumentedFree plan 6.4$10/mo Coverage types: line, branchSupported languages: .NET, C/C++, D, Elixir, Erlang, FORTRAN, Go, Haskell, Java, JavaScript, Julia, Kotlin, Lisp, Lua, OCaml, Objective-C, PHP, Python, R, Ruby, Scala, Smalltalk, SwiftReport formats: LCOV, SimpleCov, Cobertura, JaCoCo, Gcov, LuaCov, Golang, Coveralls JSON, Pytest-Cov, Clover XML
- 2 Codecov No phone app RecognisedPhone appDocumentedFree plan 6.3$5/mo Coverage types: line, branch, project, patchSupported languages: Bash, C, C#, C++, Clojure, D, Dart, Elixir, Erlang, Fortran, F#, Go, Haskell, Java, JavaScript, Julia, Lua, MATLAB, Perl, PHP, Python, R, Ruby, Rust, Salesforce, Scala, TypeScript, Vala, Xcode, Objective-C, Swift, Kotlin, GroovyReport formats: XML, JSON, TXT
- 3 ReportGenerator No phone app RecognisedPhone appDocumentedFree plan 6.3Free Coverage types: line, branch, method, full method, MC/DCSupported languages: .NET, Java, Node.jsReport formats: HTML, Clover, Cobertura, OpenCover, SonarQube, TeamCity, lcov, XML, JSON, LaTeX, text, CSV, Markdown, SVG, badges
- 4 Coverage.py No phone app RecognisedPhone appDocumentedFree plan 6.2Free Coverage types: statement, branchSupported languages: PythonReport formats: text, HTML, XML, LCOV, JSON
- 5 Coverlet No phone app RecognisedPhone appDocumentedFree plan 6.2Free Coverage types: line, branch, methodReport formats: json, lcov, opencover, cobertura, teamcity
- 6 gofmt No phone app RecognisedPhone appDocumentedFree plan 6.2Free Coverage types: statement, function, basic-blockSupported languages: GoReport formats: HTML, text, binary coverage data
- 7 JaCoCo No phone app RecognisedPhone appDocumentedFree plan 6.2Free Coverage types: instruction, branch, complexity, line, method, classSupported languages: Java, Kotlin, Groovy, ScalaReport formats: HTML, XML, CSV
- 8 LLVM llvm-cov No phone app RecognisedPhone appDocumentedFree plan 6.2Free Coverage types: function, instantiation, line, region, branch, MC/DCSupported languages: C, C++, Objective-C, Objective-C++Report formats: text, HTML, JSON, LCOV
- 9 Microsoft Code Coverage No phone app RecognisedPhone appDocumentedFree plan 6.2Free Coverage types: line, block, assembly, class, procedure, managed CLR, unmanaged nativeSupported languages: C#, C++Report formats: coverage, XML, Cobertura
- 10 OpenClover No phone app RecognisedPhone appDocumentedFree plan 6.2Free Coverage types: method, statement, branch, global, per-testSupported languages: Java, Groovy, AspectJReport formats: HTML, XML, PDF, JSON, TEXT
- 11 SimpleCov No phone app RecognisedPhone appDocumentedFree plan 6.2Free Coverage types: line, branch, method, oneshot-line, evalSupported languages: RubyReport formats: HTML, JSON
- 12 gcovr No phone app RecognisedPhone appDocumentedFree plan 5.8 Coverage types: line, branch, decision, function, condition, callSupported languages: C, C++Report formats: text, HTML, CSV, JSON, Markdown, Clover XML, Cobertura XML, Coveralls JSON, JaCoCo XML, LCOV, SonarQube XML
- 13 Tarpaulin No phone app RecognisedPhone appDocumentedFree plan 5.7 Coverage types: lineSupported languages: RustReport formats: JSON, stdout, XML, HTML, LCOV
- 14 PHP_CodeCoverage No phone app RecognisedPhone appDocumentedFree plan 5.6 Coverage types: line, branch, pathSupported languages: PHPReport formats: HTML, XML, Clover, OpenClover, Cobertura, Crap4J, text, serialized PHP
- 15 MozJPEG No phone app RecognisedPhone appDocumentedFree plan 5.4 Coverage types: line, branch, functionSupported languages: Rust, C, C++, JavaScript, Go, Java, KotlinReport formats: LCOV, Coveralls, Coveralls+, covdir JSON, ActiveData-ETL, files, Markdown, HTML, Cobertura XML
- 16 c8 No phone app RecognisedPhone appDocumentedFree plan 5.3 Coverage types: lines, functions, branches, statementsSupported languages: JavaScript, TypeScript, JSXReport formats: text, Istanbul-compatible reporters, v8, console-details
- 17 cargo-llvm-cov No phone app RecognisedPhone appDocumentedFree plan 5.3 Coverage types: line, region, function, branch, MC/DCSupported languages: Rust, C, C++Report formats: HTML, text, JSON, LCOV, Cobertura, Codecov Custom Coverage
- 18 EclEmma No phone app RecognisedPhone appDocumentedFree plan 5.3 Coverage types: instruction, branch, line, method, type, cyclomatic complexitySupported languages: Java, ScalaReport formats: HTML, XML, CSV, JaCoCo execution data (.exec)
- 19 gcov No phone app RecognisedPhone appDocumentedFree plan 5.3 Coverage types: line, function, branch, condition, prime-path, basic-blockSupported languages: C, C++, Objective-C, Objective-C++, Fortran, Ada, D, GoReport formats: .gcov text, compressed JSON (.gcov.json.gz)
- 20 Istanbul No phone app RecognisedPhone appDocumentedFree plan 5.3 Coverage types: line, statement, function, branchSupported languages: JavaScript, TypeScriptReport formats: text, HTML, lcov
- 21 Kover No phone app RecognisedPhone appDocumentedFree plan 5.3 Coverage types: line, instruction, branchSupported languages: Kotlin, JavaReport formats: HTML, XML, IC
- 22 LCOV No phone app RecognisedPhone appDocumentedFree plan 5.3 Coverage types: line, function, branch, MC/DCSupported languages: C/C++, Perl, PythonReport formats: LCOV .info tracefiles, HTML
- 23 BullseyeCoverage No phone app RecognisedPhone appDocumentedFree plan 5.1 Coverage types: function coverage; condition/decision coverageSupported languages: C; C++Report formats: HTML; text; annotated source code; XML; Cobertura; CSV
- 24 dotCover No phone app RecognisedPhone appDocumentedFree plan 5.1 Coverage types: statement, unit-test, application/manualSupported languages: C#, F#, VB.NETReport formats: HTML, XML, JSON, XML for NDepend
- 25 NCover No phone app RecognisedPhone appDocumentedFree plan 5.1 Coverage types: sequence point, branch, method, condition, symbol, line, cyclomatic complexitySupported languages: C#, VB.NET, C++/CLI, other .NET CLI languagesReport formats: HTML, XML, JSON, CSV, NCover v3 XML
Compare all 25 in a table
| # | App | Score | Free plan | From | Free plan | Paid from | Coverage types | Supported languages |
|---|---|---|---|---|---|---|---|---|
| 1 | Coveralls | 6.4 | Free plan | $10/mo | Yes | 10 /mo | line, branch | .NET, C/C++, D, Elixir, Erlang, FORTRAN, Go, Haskell, Java, JavaScript, Julia, Kotlin, Lisp, Lua, OCaml, Objective-C, PHP, Python, R, Ruby, Scala, Smalltalk, Swift |
| 2 | Codecov | 6.3 | Free plan | $5/mo | Yes | — | line, branch, project, patch | Bash, C, C#, C++, Clojure, D, Dart, Elixir, Erlang, Fortran, F#, Go, Haskell, Java, JavaScript, Julia, Lua, MATLAB, Perl, PHP, Python, R, Ruby, Rust, Salesforce, Scala, TypeScript, Vala, Xcode, Objective-C, Swift, Kotlin, Groovy |
| 3 | ReportGenerator | 6.3 | Free plan | Free | Yes | — | line, branch, method, full method, MC/DC | .NET, Java, Node.js |
| 4 | Coverage.py | 6.2 | Free plan | Free | Yes | — | statement, branch | Python |
| 5 | Coverlet | 6.2 | Free plan | Free | Yes | — | line, branch, method | — |
| 6 | gofmt | 6.2 | Free plan | Free | Yes | — | statement, function, basic-block | Go |
| 7 | JaCoCo | 6.2 | Free plan | Free | Yes | — | instruction, branch, complexity, line, method, class | Java, Kotlin, Groovy, Scala |
| 8 | LLVM llvm-cov | 6.2 | Free plan | Free | Yes | — | function, instantiation, line, region, branch, MC/DC | C, C++, Objective-C, Objective-C++ |
| 9 | Microsoft Code Coverage | 6.2 | Free plan | Free | — | — | line, block, assembly, class, procedure, managed CLR, unmanaged native | C#, C++ |
| 10 | OpenClover | 6.2 | Free plan | Free | Yes | — | method, statement, branch, global, per-test | Java, Groovy, AspectJ |
| 11 | SimpleCov | 6.2 | Free plan | Free | Yes | — | line, branch, method, oneshot-line, eval | Ruby |
| 12 | gcovr | 5.8 | No | — | Yes | — | line, branch, decision, function, condition, call | C, C++ |
| 13 | Tarpaulin | 5.7 | No | — | — | — | line | Rust |
| 14 | PHP_CodeCoverage | 5.6 | No | — | — | — | line, branch, path | PHP |
| 15 | MozJPEG | 5.4 | No | — | Yes | — | line, branch, function | Rust, C, C++, JavaScript, Go, Java, Kotlin |
| 16 | c8 | 5.3 | No | — | — | — | lines, functions, branches, statements | JavaScript, TypeScript, JSX |
| 17 | cargo-llvm-cov | 5.3 | No | — | — | — | line, region, function, branch, MC/DC | Rust, C, C++ |
| 18 | EclEmma | 5.3 | No | — | Yes | — | instruction, branch, line, method, type, cyclomatic complexity | Java, Scala |
| 19 | gcov | 5.3 | No | — | Yes | — | line, function, branch, condition, prime-path, basic-block | C, C++, Objective-C, Objective-C++, Fortran, Ada, D, Go |
| 20 | Istanbul | 5.3 | No | — | — | — | line, statement, function, branch | JavaScript, TypeScript |
| 21 | Kover | 5.3 | No | — | Yes | — | line, instruction, branch | Kotlin, Java |
| 22 | LCOV | 5.3 | No | — | — | — | line, function, branch, MC/DC | C/C++, Perl, Python |
| 23 | BullseyeCoverage | 5.1 | No | — | No | — | function coverage; condition/decision coverage | C; C++ |
| 24 | dotCover | 5.1 | No | — | No | — | statement, unit-test, application/manual | C#, F#, VB.NET |
| 25 | NCover | 5.1 | No | — | No | — | sequence point, branch, method, condition, symbol, line, cyclomatic complexity | C#, VB.NET, C++/CLI, other .NET CLI languages |
Is your app on this list?
Numbered spots on this list can be sponsored, and a sponsored row is labelled as paid.
Questions about this list
Which test coverage tool is ranked first on Samsung Mobile US Press?
Coveralls is ranked #1 of 26 with a score of 6.4. Codecov is second and ReportGenerator third.
How many of these have a free plan?
11 of the 25 on this page publish a free plan on their own pricing pages.
Which is the cheapest paid option?
On this page, Codecov has the lowest first paid tier we found: $5/mo.
How is this list ranked?
Ranked mobile-first: a phone app alongside the web or desktop product, a free tier and the depth of its documentation.


