crates_diff logo crates_diff

crates_diff

Full-source diffs between any two versions of a Rust crate from crates.io — a free, open-source, browser-based alternative to diff.rs.

Compare any two versions of a Rust crate, file by file

crates_diff downloads the real crate tarballs from static.crates.io and shows a complete, file-by-file source diff between any two published versions — right in your browser, with nothing to install. Use it to audit a dependency update, review exactly what changed before you bump a version in Cargo.toml, or understand a security advisory in a Rust package.

What you can do with crates_diff

  • Whole-crate diff — every file marked added, removed, modified, or unchanged, with per-file line counts and a full unified or side-by-side diff with Rust syntax highlighting.
  • Search inside the change — jump to every line that mentions a symbol across the version transition.
  • GitHub history — the commits between the two versions' git tags.
  • Notes & line comments — leave PR-style review notes on a crate or a specific upgrade.
  • Local versions — diff a published release against an unpublished crate source tree you import locally.

Popular Rust crates to compare

Frequently asked questions

What is crates_diff?

crates_diff is a free, open-source, browser-based tool that shows the full source diff between any two versions of a Rust crate published on crates.io. It downloads the crate tarballs and diffs them entirely in your browser — nothing is installed and no code is sent to a server.

How is it different from diff.rs?

crates_diff is an actively maintained, open-source alternative to diff.rs. It defaults the file tree to only changed files, offers unified and side-by-side diffs, content search across a transition, GitHub commit history, and PR-style review notes — and it works for many crates where diff.rs fails to load.

Is it free and open source?

Yes. crates_diff is completely free, and the source is on GitHub.

Do I need to install anything?

No — it runs fully in the browser. Search a crate, pick two versions, and the diff loads. There is also an optional local CLI build for auditing unpublished versions.

Can I diff against an unpublished version of a crate?

Yes, with the local build: import a crate source tree with crates_diff add-local <crate> <version> <path> and it appears in the version list next to the published releases.

Read more about crates_diff →

Loading the interactive app… if it doesn't appear, enable JavaScript.