Crates / Compare / thiserror vs snafu
Rust crates side by side · data Oct 24, 2026
thiserror vs snafu
Short answerthiserror is minimal and the most common; snafu is more structured. By steady daily use, thiserror is bigger: 5,048,791 real downloads a day against 263,488 for snafu (19.2x). 75,923 crates depend on thiserror and 998 on snafu. thiserror last shipped 31 days ago, snafu 3 months ago.
thiserror
FoundationalFoundational and steady.
75,923 crates depend on it; downloads don't spike on releases.
derive(Error)
snafu
EstablishedEstablished and steady.
998 crates depend on it; no release in the last 90 days, so its count is all steady use.
An ergonomic error handling library
thiserrorsnafu · 100% = that crate's normal quiet day, so a spike to 300% is triple its usual traffic
Every number, side by side
| Same window, same method | thiserror | snafu |
|---|---|---|
| Real downloads a day | 5,048,791 | 263,488 |
| Crates that depend on it | 75,923 | 998 |
| Last release | 2.0.21, 31 days ago | 0.9.2, 3 months ago |
| Trend vs the field | +2% | +10% |
| Release-window share | 3.8% | 0.0% |
| Downloads in the window | 456,070,996 | 23,693,267 |
| All-time downloads | 1,690,852,060 | 121,723,554 |
| Versions published | 92 | 54 |
| License | MIT OR Apache-2.0 | MIT OR Apache-2.0 |
| MSRV | 1.77 | 1.65 |
| First published | Oct 9, 2019 | Jan 28, 2019 |
Which to pick
- Pick thiserror if you want the smallest derive for an error enum with Display and From.
- Pick snafu if you want context selectors and backtraces built in, so every error site attaches context.
- Bottom line: thiserror is minimal and the most common; snafu is more structured. (checked against each project's docs, Oct 24, 2026)
- Downloads tell you what is common, not what fits. Each crate's own description above says what it is for; when the jobs differ, pick by the job.
- When both fit, prefer the one more crates depend on (thiserror, 75,923 dependents): more eyes, more answered questions, and you may already have it in your tree.
- Check the release dates against your own pace: thiserror 31 days ago, snafu 3 months ago.
Also in this space
Method
Real downloads = the median day with no release that day or the day before, from the crates.io API (Jul 27, 2026 to Oct 23, 2026). Raw crates.io counts include CI and bots and run high (why); the method is from our 90-day study. People search for this pair: Google suggests "thiserror vs snafu".