What's your favourite under-rated Rust crate and why?

This page summarizes the projects mentioned and recommended in the original post on /r/rust

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. concread

    Concurrently Readable Data Structures for Rust

    For me it was conread having a set of concurrent data structures that works off a eventually consistent style strategy is just awsome for heavily concurrent code (most notably the lru cache replacement is awsome!) rather than having a lock(s) to achieve the same goal which can get stalled readers / writers.

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. serde-plain

    A serde serializer that serializes a subset of types into plain strings

    serde-plain for easily converting enums to/from strings same as Serde usually does, but by themselves.

  4. enum-iterator

    Tools to iterate over all values of a type

    Also enum-iterator

  5. schemafy

    Crate for generating rust types from a json schema

    Going the other way is also possible using schemafy but I never needed that so far.

  6. phpass

    PHPass, the WordPress password hasher, re-implemented in rust

    phpass , which implements the password algorithm used by WordPress in rust. WordPress is a reality for so many devs, and this solves a big challenge in either moving away from it, or at least handling your auth on the rust side. It's also way faster than matching running the php code, so if you're doing security scans on your password DB it can really help (eg check for a bunch of commonly used passwords, then clear + send password reset emails to those who are insecure).

  7. futures-batch

    An adapter for futures, which chunks up elements and flushes them after a timeout — or when the buffer is full. (Formerly known as tokio-batch.)

  8. rust-djangohashers

    A Rust port of the password primitives used in Django Project.

    A crate that's kind of similar use-case-wise is djangohashers, which I've used to handle some interfacing with old legacy Django installations I've handled.

  9. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  10. cargo-errorbook

    Love your errors

  11. redbpf

    Discontinued Rust library for building and running BPF/eBPF modules

    Hello, redBPF is a Rust library that enables users to write both BPF program and userspace program using idiomatic Rust. It is my favorite and I hope many people use this library.

  12. structopt

    Parse command line arguments by defining a struct.

    I haven't done any big project with Rust, so I haven't used a lot of crates besides the most famous ones. But recently I've used structopt, which is a crate that lets you define command line arguments through derive macros. Not very underrated I guess, considering that clap is going to incorporate structopt's code to do the same thing (I'm not sure if they will remain two different crates or not tho).

  13. wg-allocators

    Home of the Allocators working group: Paving a path for a standard set of allocator traits to be used in collections!

    No, it only controls the global allocator. Custom allocator suppport on a per-datastructure level is still outstanding. See https://github.com/rust-lang/wg-allocators and especially https://github.com/rust-lang/wg-allocators/issues/7

  14. parse-size

    Parse byte size into integer accurately.

    Two crates: - parse-size is criminally underrated. It allows you to parse input like "100 MB", "50 kb", "25b" into an integer of bytes. It parses input so intuitively and it works exactly the way I expected. I use it in https://github.com/r00ster91/splitter. - line_drawing is in my opinion the best line algorithm library there is. Extremely clean and nice to use. Exactly what I need for my project https://github.com/r00ster91/yayagram.

  15. splitter

    a file splitter and joiner (by wooster0)

    Two crates: - parse-size is criminally underrated. It allows you to parse input like "100 MB", "50 kb", "25b" into an integer of bytes. It parses input so intuitively and it works exactly the way I expected. I use it in https://github.com/r00ster91/splitter. - line_drawing is in my opinion the best line algorithm library there is. Extremely clean and nice to use. Exactly what I need for my project https://github.com/r00ster91/yayagram.

  16. line_drawing

    A collection of line-drawing algorithms for use in graphics and video games.

    Two crates: - parse-size is criminally underrated. It allows you to parse input like "100 MB", "50 kb", "25b" into an integer of bytes. It parses input so intuitively and it works exactly the way I expected. I use it in https://github.com/r00ster91/splitter. - line_drawing is in my opinion the best line algorithm library there is. Extremely clean and nice to use. Exactly what I need for my project https://github.com/r00ster91/yayagram.

  17. yayagram

    Play nonograms/picross in your terminal

    Two crates: - parse-size is criminally underrated. It allows you to parse input like "100 MB", "50 kb", "25b" into an integer of bytes. It parses input so intuitively and it works exactly the way I expected. I use it in https://github.com/r00ster91/splitter. - line_drawing is in my opinion the best line algorithm library there is. Extremely clean and nice to use. Exactly what I need for my project https://github.com/r00ster91/yayagram.

  18. strum

    A small rust library for adding custom derives to enums

    Similar: strum with EnumIter, or with EnumVariantNames which returns a constant array of discriminant names instead. It has a few more additional useful derivable options.

  19. actix-web-static-files

    actix-web static files as resources support

    actix-web-static-files. Exceptionally useful when working within a embedded environment, or when I want to ship a single binary without having to worry about packaging additional files.

  20. fuzzcheck-rs

    Modular, structure-aware, and feedback-driven fuzzing engine for Rust functions

    fuzzcheck-rs is really cool. It combines property-testing with fuzzing, getting the nice, structured nature of the former, and the coverage-driven search of the latter, but it works by mutating the structure directly instead of going through a bit string. So if you have a binary tree, going from A(B, C) to A(C, B) can be a single mutation away if that makes sense in your use case, instead of being arbitrarily far away in the bitstring approach.

  21. sonyflake-rs

    🃏 A distributed unique ID generator inspired by Twitter's Snowflake.

    sonyflake-rs is pretty cool

  22. inventory

    Discontinued Typed distributed plugin registration

    I like dtolnay's inventory or linkme crates to register items in a central list, just using decentralized annotations.

  23. linkme

    Discontinued Safe cross-platform linker shenanigans

    I like dtolnay's inventory or linkme crates to register items in a central list, just using decentralized annotations.

  24. goblin

    An impish, cross-platform binary parsing crate, written in Rust (by m4b)

    I do security-related projects in Rust, and goblin has been my go-to crate for any type of binary parsing (ELF/PE/Mach-O).

  25. enum-map

    enum_map is great for dense maps where the keys are the variants of a discriminant-only enum.

  26. autocxx

    Tool for safe ergonomic Rust/C++ interop driven from existing C++ headers

    Also https://github.com/google/autocxx

  27. logos

    Create ridiculously fast Lexers (by maciejhirsz)

    logos for creating "ridiculously fast Lexers". I wrote quite a few parsers and this library saved me from tons of boilerplate lexer code. I would highly recommend it.

  28. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Ich_iel

    2 projects | /r/ich_iel | 16 Dec 2021
  • Convert enum into/from number in Rust

    1 project | dev.to | 17 Mar 2025
  • Sign in as anyone: Bypassing SAML SSO authentication with parser differentials

    3 projects | news.ycombinator.com | 15 Mar 2025
  • Roaring-rs: High-performance compressed bitmaps in Rust

    1 project | news.ycombinator.com | 9 Mar 2025
  • OpenMLS – An open-source implementation of Messaging Layer Security protocol

    1 project | news.ycombinator.com | 6 Mar 2025

Did you know that Rust is
the 5th most popular programming language
based on number of references?