Code coverage · Comparison
Codecov vs Coveralls
Both turn your coverage report into pull-request checks. Codecov charges per user, Coveralls per repository, so team size decides. Prices and features compared.
Codecov or Coveralls?
Both take the coverage report your tests already write and turn it into pull-request checks, comments and history. Neither measures coverage. Both are free for open source.
The clearest difference is how they charge for private repositories: Codecov per user, Coveralls per repository with unlimited users. A large team with few repositories pays less on Coveralls. A small team with many repositories pays less on Codecov. Codecov does more for monorepos and test results; Coveralls does less and is simpler.
What private repositories cost
| Codecov | Coveralls | |
|---|---|---|
| Open source | Free | Free |
| Free private use | 1 user, 250 uploads a month | 30-day trial |
| Paid plans | Team: $5 a user a month, up to 10 users. Pro: $12 a user a month | $10 a month for 1 repository, $50 for 10, $100 for 20, $200 for 40, $400 unlimited |
| Users | Counted | Unlimited on every plan |
| Self-hosted | Enterprise plan | Enterprise On-Prem, $25 a user a month |
Three examples at those prices:
- 3 developers, 30 repositories: $15 a month on Codecov Team, $200 on Coveralls.
- 10 developers, 10 repositories: $50 on either.
- 20 developers, 5 repositories: $240 on Codecov Pro, $50 on Coveralls.
Prices are from the Codecov and Coveralls pricing pages on October 12, 2026. Check them for current figures and for limits such as uploads a month.
Reports they read
Both read lcov, Cobertura XML and JaCoCo XML, among others. See Codecov’s list and the formats of Coveralls’ reporter. If you are choosing a format, see lcov vs Cobertura.
Features that differ
| Codecov | Coveralls | |
|---|---|---|
| Several CI jobs for one commit | Merged automatically | Jobs are marked parallel, then a webhook closes the build |
| Parts of one repository | Flags set at upload, and components defined by path | Flags per job |
| Jobs that did not run | Carryforward flags | Carryforward flags |
| Beyond coverage | Failed and flaky tests from JUnit XML, and bundle analysis | Coverage only |
On Codecov some of these depend on the plan: flags and project coverage are listed under Pro.
The report comes first
Either service shows what your coverage tool wrote, and no more. If the report has no branch data, neither dashboard has it. Neither shows MC/DC or which test covered a line: Cobertura has no field for either, and lcov records MC/DC only since version 2.
Where Supercov fits
Supercov measures coverage; it is not a dashboard. It runs your test command and writes a report either service reads:
npx supercov -- npm test
npx supercov runs report --format lcov --output coverage/lcov.info
It can also gate a pull request inside your own CI job, with no account and nothing uploaded:
npx supercov runs check --min-lines 90 --min-branches 80
npx supercov runs patch --base origin/main --min-lines 100
The first fails the job below a floor. The second checks only the lines the change touches. See Codecov vs Supercov for how the two work together.