Best of / Rust crates / error handling
Best of · ranked by real use · data Oct 24, 2026
Best Rust crates for error handling
Short answerBy real use, the top Rust crates for error handling are thiserror (5M a day), anyhow (2.9M a day), displaydoc (2.5M a day). thiserror is our default pick: 5,048,791 real downloads a day and 75,923 dependents. 3 of these 5 shipped in the last 90 days.
Our picks
- Default pick: thiserror. The most used that still ships releases, so the most answered questions and the likeliest to already be in your tree.
- Most recently released: eyre (2 months ago).
The ranking
| # | Crate | Real downloads a day | Dependents | Trend vs field | Last release | What it is (its own description) |
|---|---|---|---|---|---|---|
| 1 | thiserror Foundational | 5,048,791 | 75,923 | +1% | 31d | derive(Error) |
| 2 | anyhow Foundational | 2,875,638 | 52,113 | -4% | 3mo | Flexible concrete Error type built on std::error::Error |
| 3 | displaydoc Established | 2,547,279 | 270 | +0% | 3mo | A derive macro for implementing the display Trait via a doc comment and string interpolation |
| 4 | eyre Widely used | 286,395 | 1,678 | -7% | 2mo | Flexible concrete Error Reporting type built on std::error::Error with customizable Reports |
| 5 | snafu Established | 263,488 | 998 | +8% | 3mo | An ergonomic error handling library |
Rules
Candidates: crates whose own README says they do this job, picked by hand (anyhow, thiserror, eyre, color-eyre, snafu, miette, displaydoc, failure, error-chain); one appears when we have 80+ days of crates.io data for it. Ranked by real downloads a day (quiet-day median, release-day spikes removed), crates.io data Oct 24, 2026. The default pick is the top crate that shipped a release in the last 2 years. Downloads measure use, not quality, and crates that other libraries pull in rank above tools you add yourself: read each description for fit.
Up next
Another best-of list: Same rules, same data.Best Rust crates for logging and tracingRead it next →