Skip to main content
Software Version / Package Tools

Dependency Version Comparator

Compare two dependency lists - package.json, composer.json or requirements.txt - to see what was added, removed, upgraded or downgraded.

Paste the old and new dependency lists - the tool matches packages by name and labels every change as major, minor, patch, range-only or downgrade.

Accepts package.json (dependencies, devDependencies, peerDependencies, optionalDependencies), composer.json (require, require-dev), requirements.txt lines (name==1.2.3), or plain name version / name@version lines. Everything is compared in your browser.

Review every major change against the package's changelog before merging - that is where breaking changes live.

What Is the Dependency Version Comparator?

It is a focused diff for dependency files. A normal text diff shows that lines changed; this tool tells you how each dependency changed, so a major upgrade hidden in a long update pull request stands out.

When to Use It

  • Reviewing a Dependabot or Renovate pull request that touches many packages.
  • Comparing dependencies between two branches, releases or services.
  • Writing release notes that mention upgraded libraries.

How to Use It

  1. Paste the old file on the left and the new one on the right. JSON files (package.json, composer.json) and line-based lists (requirements.txt, name@version) are detected automatically.
  2. Click Compare. Untick "Hide unchanged" to see every package.

Example

express from ^4.18.2 to ^5.0.1 is labelled Major; axios from 1.5.0 to 1.7.2 is Minor; moment removed and dayjs added are listed separately.

Understanding the Result

The change type compares the lowest version named in each spec - ^4.18.2 counts as 4.18.2. "Range changed" means the same base version with a different operator (for example ^1.2.0 to ~1.2.0). Packages whose spec is a URL or tag are shown as "Changed".

Limitations

It compares what the files declare, not what a lockfile actually installed. Packages are matched by exact name. To check a single npm spec against published versions, use the npm Package Version Checker; for two individual versions, use the Version Comparator.

Frequently Asked Questions

package.json, composer.json, requirements.txt, and simple "name version" or "name@version" lists.

The tool compares the lowest version named in each spec - ^4.18.2 counts as 4.18.2 - and reports which part changed.

It compares what you paste. Lockfiles are large and structured differently, so compare the dependency sections of the manifest files instead.
Share this tool: