Comparison

ESLint vs PMD

On the evidence we track, ESLint leads this comparison with a composite score of 74/100. Scores are only directly comparable because these tools share a category; the full breakdown and every source is below.

Machine formatsJSONMarkdownGraphQLor send Accept: application/json
ESLint74
PMD60
Score
Vioscale score
ESLint74 / 100high · 79%updating
PMD60 / 100medium · 53%updating
Pricing
Free tier
ESLint
PMD
Model
Price level
ESLintfree
PMDfree
Transparent
ESLint
PMD
Integrations
Count
ESLint2
PMD1
Adoption
Dependent repos
ESLint1,569,244
PMD356
Github stars
ESLint27,484
Package downloads weekly
PMD
Activity
Commits last 30d
ESLint50
PMD62
Release
Cadence days
ESLint13
PMD28
History
License
Spdx
ESLintMIT
PMD
Language
Primary
Market
Availability

Capabilities

Feature-by-feature on the axes that matter for code quality tools. “-” means undocumented, not absent.

Core
Function
ESLintLinter + formatter
PMDStatic analyzer
Language scope
ESLintSingle-language
PMDMulti-language
Implementation language
ESLintJavaScript
PMDJava
Capability
Autofix
ESLint
PMD-
Config
Config model
ESLintConfig file
PMDRule packs
Extensibility
Custom rules
ESLint
PMD
Deployment
Deployment
ESLintCLI-local
PMDCLI-local
Delivery
Editor integration
ESLint
PMD
CI / VCS gating
ESLint
PMD
Insight
Code metrics
ESLint-
PMD-
Performance
Incremental / monorepo aware
ESLint-
PMD-
Licensing
Open-source
ESLintOSS
PMDOSS
Commercial
Pricing model
ESLintFree
PMDFree

What each one is

The product in its own terms, so the numbers below have context.

ESLint

Leader

An open-source linter and fixer for JavaScript and JSX that runs locally in editors and CI pipelines. It uses AST analysis to catch problems and can automatically fix many issues, with full support for custom rules and extensibility.

Independently observed

PMD

PMD is a multilingual static code analyzer that detects common programming issues like unused variables and inefficient patterns. It includes over 400 built-in rules, supports 16+ languages with primary focus on Java, and supports custom rules via Java or XPath.

Independently observed

Pricing

List pricing as published by each vendor, with the date we read it. Always verify at the source before you buy.

ESLint

Leader
Open sourceFree tier

Free open source

  • Open SourceFree
    • Find issues in JavaScript code
    • Automatically fix problems
    • Custom parsers
    • Custom rules
    • Text editor integration
    • +1 more
as of verify ↗

PMD

FreeFree tier

Free, open source

as of verify ↗

Platform & deployment

Where each product runs and how it can be hosted. A dash means undocumented, not unsupported.

Platforms
macOS
ESLint
PMD
Windows
ESLint
PMD
Linux
ESLint
PMD
CLI
ESLint
PMD
Deployment
Self-hosted
ESLint
PMD

Integrations

What each product connects to. Counts come from the vendor's own integration directory where one exists.

ESLint

Leader
2 total
  • eslint-plugin-react
  • eslint-plugin-unicorn
Independently observed

PMD

1 total
  • Eclipse
Independently observed

Comparison generated from independently-sourced facts. Every value links to its source and retrieval date. See the method.

ESLint vs PMD: an evidence-based comparison · Vioscale