CATEGORY
Data structures 10,114 crates
Data as of 2026-07-25 (crates.io database dump, timestamp 2026-07-25T02:00:36Z). Source: crates.io · db-dump.tar.gz · methodology & corrections.
hashbrownA Rust port of Google's SwissTable hash map2,024,350,310MIT OR Apache-2.0
indexmapA hash table with consistent order and fast iteration.1,313,414,826Apache-2.0 OR MIT
smallvec'Small vector' optimization: store up to a small number of items on the stack1,004,644,075MIT OR Apache-2.0
bytesTypes and traits for working with bytes882,080,449MIT
semverParser and evaluator for Cargo's flavor of Semantic Versioning862,895,433MIT OR Apache-2.0
eitherThe enum `Either` with variants `Left` and `Right` is a general purpose sum type with two cases.862,156,977MIT OR Apache-2.0
slabPre-allocated storage for a uniform data type782,808,612MIT
crossbeam-utilsUtilities for concurrent programming780,341,918MIT OR Apache-2.0
generic-arrayGeneric types implementing functionality of arrays760,906,271MIT
uuidA library to generate and parse UUIDs.684,078,956Apache-2.0 OR MIT
equivalentTraits for key comparison in maps.683,243,589Apache-2.0 OR MIT
ahashA non-cryptographic hash function using AES-NI for high performance677,646,249MIT OR Apache-2.0
tinyvec`tinyvec` provides 100% safe vec-like data structures.613,544,585Zlib OR Apache-2.0 OR MIT
crossbeam-dequeConcurrent work-stealing deque537,500,466MIT OR Apache-2.0
crossbeam-channelMulti-producer multi-consumer channels for message passing519,711,724MIT OR Apache-2.0
num-bigintBig integer implementation for Rust499,015,891MIT OR Apache-2.0
phf_sharedSupport code shared by PHF libraries486,413,779MIT
arrayvecA vector with fixed capacity, backed by an array (it can be stored on the stack too). Implements fixed capacity ArrayVec and…481,336,100MIT OR Apache-2.0
sharded-slabA lock-free concurrent slab.463,212,870MIT
tinystrA small ASCII-only bounded length string representation.461,000,099Unicode-3.0
yokeAbstraction allowing borrowed data to be carried along with the backing data it borrows from459,064,653Unicode-3.0
yoke-deriveCustom derive for the yoke crate454,633,429Unicode-3.0
zerovecZero-copy vector backed by a byte array450,648,481Unicode-3.0
zerovec-deriveCustom derive for the zerovec crate445,794,098Unicode-3.0
zerofromZeroFrom trait for constructing444,224,810Unicode-3.0
phfRuntime support for perfect hash function data structures444,201,519MIT
petgraphGraph data structure library. Provides graph types and graph algorithms.441,128,482MIT OR Apache-2.0
zerofrom-deriveCustom derive for the zerofrom crate438,160,016Unicode-3.0
fixedbitsetFixedBitSet is a simple bitset collection428,641,317MIT OR Apache-2.0
rustls-pki-typesShared types for the rustls PKI ecosystem408,720,111MIT OR Apache-2.0
halfHalf-precision floating point f16 and bf16 types for Rust implementing the IEEE 754-2008 standard binary16 and bfloat16 types.390,535,192MIT OR Apache-2.0
derPure Rust embedded-friendly implementation of the Distinguished Encoding Rules
(DER) for Abstract Syntax Notation One (ASN.1) as…387,213,224Apache-2.0 OR MIT
phf_generatorPHF generation logic371,753,466MIT
const-oidConst-friendly implementation of the ISO/IEC Object Identifier (OID) standard
as defined in ITU X.660, with support for BER/DER…362,044,033Apache-2.0 OR MIT
spkiX.509 Subject Public Key Info (RFC5280) describing public keys as well as their
associated AlgorithmIdentifiers (i.e. OIDs)359,044,200Apache-2.0 OR MIT
pkcs8Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #8:
Private-Key Information Syntax Specification (RFC 5208),…346,318,389Apache-2.0 OR MIT
num-rationalRational numbers implementation for Rust332,953,069MIT OR Apache-2.0
dashmapBlazing fast concurrent HashMap for Rust.325,651,531MIT
num-complexComplex numbers implementation for Rust322,884,424MIT OR Apache-2.0
crossbeam-queueConcurrent queues300,341,510MIT OR Apache-2.0
arc-swapAtomically swappable Arc271,936,156MIT OR Apache-2.0
pem-rfc7468PEM Encoding (RFC 7468) for PKIX, PKCS, and CMS Structures, implementing a
strict subset of the original Privacy-Enhanced Mail…268,694,911Apache-2.0 OR MIT
phf_codegenCodegen library for PHF types252,590,220MIT
numA collection of numeric types and traits for Rust, including bigint,
complex, rational, range iterators, generic integers, and…242,614,338MIT OR Apache-2.0
bitvecAddresses memory by bits, for packed collections and bitfields241,629,048MIT
crypto-bigintPure Rust implementation of a big integer library which has been designed from
the ground-up for use in cryptographic…232,479,376Apache-2.0 OR MIT
phf_macrosMacros to generate types in the phf crate213,118,449MIT
ciborium-ioSimplified Read/Write traits for no_std usage200,170,108Apache-2.0
ciboriumserde implementation of CBOR using ciborium-basic200,087,255Apache-2.0
ciborium-llLow-level CBOR codec primitives200,049,657Apache-2.0
predicatesAn implementation of boolean-valued predicate functions.199,367,810MIT OR Apache-2.0
flumeA blazingly fast multi-producer channel196,507,922Apache-2.0/MIT
sec1Pure Rust implementation of SEC1: Elliptic Curve Cryptography encoding formats including ASN.1 DER
encoded private keys as well…185,387,325Apache-2.0 OR MIT
pkcs1Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #1:
RSA Cryptography Specifications Version 2.2 (RFC 8017)179,688,113Apache-2.0 OR MIT
predicates-coreAn API for boolean-valued predicate functions.176,371,579MIT OR Apache-2.0
predicates-treeRender boolean-valued predicate functions results as a tree.176,120,759MIT OR Apache-2.0
num-bigint-digBig integer implementation for Rust168,433,892MIT/Apache-2.0
lru-slabPre-allocated storage with constant-time LRU tracking159,482,252MIT OR Apache-2.0 OR Zlib
rust_decimalDecimal number implementation written in pure Rust suitable for financial and fixed-precision calculations.122,746,248MIT
crossbeamTools for concurrent programming121,942,065MIT OR Apache-2.0
bytes-utilsAdditional utilities for working with the bytes crate112,799,651Apache-2.0/MIT
heapless`static` friendly data structures that don't require dynamic memory allocation110,984,546MIT OR Apache-2.0
ndarrayAn n-dimensional array for general elements and for numerics. Lightweight array views and slicing; views support chunking and…104,269,753MIT OR Apache-2.0
hdrhistogramA port of HdrHistogram to Rust101,047,074MIT/Apache-2.0
dlv-listSemi-doubly linked list implemented using a vector99,289,413MIT OR Apache-2.0
ordered-multimapInsertion ordered multimap98,154,307MIT
slotmapSlotmap data structure88,263,233Zlib
flatbuffersOfficial FlatBuffers Rust runtime library.87,208,649Apache-2.0
plainA small Rust library that allows users to reinterpret data of certain types safely.81,954,799MIT/Apache-2.0
triompheA fork of std::sync::Arc with some extra functionality and without weak references (originally servo_arc)80,421,705MIT OR Apache-2.0
portable-atomic-utilSynchronization primitives built with portable-atomic.80,359,251Apache-2.0 OR MIT
sccA collection of high-performance asynchronous/concurrent containers with both asynchronous and synchronous interfaces76,907,450Apache-2.0
sddScalable lock-free delayed memory reclaimer76,211,003Apache-2.0
radix_trieGeneric radix trie data-structure.75,356,224MIT
nibble_vecVector data-structure for half-byte values.73,622,547MIT
fractionLossless fractions and decimals; drop-in float replacement72,471,648MIT OR Apache-2.0
zvariant_deriveD-Bus & GVariant encoding & decoding66,507,020MIT
zvariantD-Bus & GVariant encoding & decoding66,433,072MIT
zbus_macrosproc-macros for zbus66,286,280MIT
aliasableBasic aliasable (non unique pointer) types66,127,109MIT
generatorStackfull Generator Library in Rust62,863,661MIT/Apache-2.0
wideA crate to help you go wide.61,637,510Zlib OR Apache-2.0 OR MIT
hybrid-arrayHybrid typenum-based and const generic array types designed to provide the
flexibility of typenum-based expressions while also…58,911,945MIT OR Apache-2.0
zvariant_utilsVarious utilities used internally by the zvariant crate.58,295,310MIT
smartstringCompact inlined strings57,222,536MPL-2.0+
bitmapsFixed size boolean arrays56,667,954MPL-2.0+
loomPermutation testing for concurrent code55,751,273MIT
arraydequeA ring buffer with a fixed capacity, which can be stored on the stack.51,162,307MIT/Apache-2.0
nuidA highly performant unique identifier generator.46,219,977Apache-2.0
bonNext-gen compile-time-checked builder generator, named function's arguments, and more!44,769,236MIT OR Apache-2.0
enum-mapA map with C-like enum keys represented internally as an array43,635,896MIT OR Apache-2.0
enum-map-deriveMacros 1.1 implementation of #[derive(Enum)]43,487,600MIT OR Apache-2.0
roaringA better compressed bitset - pure Rust implementation42,970,651MIT OR Apache-2.0
sized-chunksEfficient sized chunk datatypes42,830,398MPL-2.0+
bimapBijective maps40,481,577Apache-2.0/MIT
cachedGeneric cache implementations and simplified function memoization39,431,112MIT
enumsetA library for creating compact sets of enums.38,586,856MIT/Apache-2.0
pkcs5Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #5:
Password-Based Cryptography Specification Version 2.1…36,878,080Apache-2.0 OR MIT
rstarAn R*-tree spatial index35,588,099MIT OR Apache-2.0
dary_heapA d-ary heap34,439,883MIT OR Apache-2.0
string-internerEfficient string interner with minimal memory footprint
and fast access to the underlying strings.33,902,193MIT/Apache-2.0
der_deriveCustom derive support for the `der` crate's `Choice` and `Sequence` traits33,159,289Apache-2.0 OR MIT
strength_reduceFaster integer division and modulus operations33,135,036MIT OR Apache-2.0
array-initSafe wrapper for initializing fixed-size arrays32,830,809MIT OR Apache-2.0
imImmutable collection datatypes29,275,828MPL-2.0+
x509-certPure Rust implementation of the X.509 Public Key Infrastructure Certificate
format as described in RFC 528029,123,232Apache-2.0 OR MIT
lockfree-object-poolA thread-safe object pool collection with automatic return and attach/detach semantics.28,579,657BSL-1.0
priority-queueA Priority Queue implemented as a heap with a function to efficiently change the priority of an item.27,807,168LGPL-3.0-or-later OR MPL-2.0
rangemapMap and set data structures whose keys are stored as ranges.
Contiguous and overlapping ranges that map to the same value are…27,264,275MIT/Apache-2.0
uuid-macro-internalPrivate implementation details of the uuid! macro.26,551,219Apache-2.0 OR MIT
uluruA simple, fast, LRU cache implementation25,850,067MPL-2.0
cidrIP network and IP host within network types25,280,126MIT
alloy-primitivesEthereum primitive types24,907,532MIT OR Apache-2.0
histogramA collection of histogram data structures23,955,003MIT OR Apache-2.0
boxcarA concurrent, append-only vector22,613,808MIT
quick_cacheLightweight and high performance concurrent cache22,266,080MIT
syn-soliditysyn-powered Solidity parser20,560,887MIT OR Apache-2.0
vsdbA std-collection-like database20,274,123MIT
bitfield-structStruct-like procedural macro for bitfields.19,919,259MIT
vsdb_deriveSome procedure macro implementations for vsdb.19,904,248GPL-3.0
vsdbsledLightweight high-performance pure-rust transactional embedded database.19,886,691MIT/Apache-2.0
arcstrA better reference-counted string type, with zero-cost (allocation-free) support for string literals, and reference counted…18,780,699Apache-2.0 OR MIT OR Zlib
fastdivideFastdivide is a partial port of libdivide. It makes it possible to reduce the cost of divisions.17,999,746zlib-acknowledgement OR MIT
xmltreeParse an XML file into a simple tree-like structure17,678,394MIT
rust_decimal_macrosShorthand macros to assist creating Decimal types.17,077,872MIT
atomic_floatFloating point types which can be safely shared between threads16,590,166Apache-2.0 OR MIT OR Unlicense
spadeDelaunay triangulations for the rust ecosystem16,257,092MIT OR Apache-2.0
fastbloomThe fastest Bloom filter in Rust. No accuracy compromises. Full concurrency support and compatible with any hasher.15,964,734MIT OR Apache-2.0
sluiceEfficient ring buffer for byte buffers, FIFO queues, and SPSC channels15,895,461MIT
tantivySearch engine library15,763,952MIT
intrusive-collectionsIntrusive collections for Rust (linked list and red-black tree)15,743,938MIT OR Apache-2.0
rpdsPersistent data structures with structural sharing15,644,141MIT
elsaAppend-only collections for Rust where borrows to entries can outlive insertions15,631,009MIT/Apache-2.0
tantivy-query-grammarSearch engine library15,619,694MIT
planusPlanus is an alternative compiler for flatbuffers, an efficient cross platform serialization library.15,152,154MIT/Apache-2.0
array-init-cursorUtility crate to help keep track of arrays of MaybeUninit15,125,884MIT/Apache-2.0
bvBit-vectors and bit-slices15,061,047MIT/Apache-2.0
ringbufLock-free SPSC FIFO ring buffer with direct access to inner data14,927,710MIT OR Apache-2.0
im-rcImmutable collection datatypes (the fast but not thread safe version)14,785,086MPL-2.0+
ip_networkIPv4 and IPv6 network structs.14,680,319BSD-2-Clause
by_addressWrapper for comparing and hashing pointers by address14,415,729MIT OR Apache-2.0
choiceSimilar to `either` but supports an unbounded number of variants.14,219,396MIT
alloy-trieFast Merkle-Patricia Trie (MPT) state root calculator
and proof generator for prefix-sorted nibbles14,154,623MIT OR Apache-2.0
nybblesEfficient nibble-sized (4-bit) byte sequence data structure14,042,638MIT OR Apache-2.0
tantivy-columnarcolumn oriented storage for tantivy14,032,095MIT
tantivy-sstablesstables for tantivy14,031,548MIT
guppyTrack and query Cargo dependency graphs.13,854,620MIT OR Apache-2.0
sledLightweight high-performance pure-rust transactional embedded database.13,446,003MIT/Apache-2.0
nestedA memory efficient container for nested collections (like `Vec<String>` or `Vec<Vec<T>>`)13,189,321MIT
alloy-chainsCanonical type definitions for EIP-155 chains13,174,024MIT OR Apache-2.0
stringA UTF-8 encoded string with configurable byte storage.13,069,815MIT
yadaYada is a yet another double-array trie library aiming for fast search and compact data representation.12,619,600MIT OR Apache-2.0
macaddrMAC address types12,496,875Apache-2.0 OR MIT
ordermapA hash table with consistent order and fast iteration.11,686,228Apache-2.0 OR MIT
atomic-takeAtomically take a value out of a container once.11,471,419MIT
hash_hasherA hasher which is designed to work with already-hashed or hash-like data.11,331,963Apache-2.0 OR MIT
modular-bitfieldEasily define bitfield types with modular building blocks.11,028,996MIT OR Apache-2.0
futures-boundedUtilities for bounding futures in size and time.10,910,269MIT
crossbeam-skiplistA concurrent skip list10,759,078MIT OR Apache-2.0
keyed_priority_queuePriority queue that support changing priority or early remove by key10,588,184MIT
lassoA multithreaded and single threaded string interner that allows strings to be cached with a
minimal memory footprint, associating…10,340,676MIT OR Apache-2.0
vec1a std Vec wrapper assuring that it has at least 1 element9,840,161MIT OR Apache-2.0
ropeyA fast and robust text rope for Rust9,812,178MIT
atreeAn arena based tree structure with removal support9,718,907MIT
calendrical_calculationsCalendrical calculations in Rust9,710,185Apache-2.0
kanalThe fast sync and async channel that Rust deserves9,338,071MIT
generational-arenaA safe arena allocator that supports deletion without suffering from the ABA problem by using generational indices.9,300,331MPL-2.0
indexmap-nostdA no_std compatible implementation of the indexmap crate9,241,130Apache-2.0
foyer-intrusive-collectionsIntrusive collections for Rust (linked list and red-black tree)9,222,331Apache-2.0/MIT
rtrbA realtime-safe single-producer single-consumer ring buffer9,157,865MIT OR Apache-2.0
ferroidHigh-performance ULID and Snowflake-style IDs. Unique, monotonic, and lexicographically sortable IDs optimized for low-latency…9,102,265MIT OR Apache-2.0
gridDynamic generic 2D data structure.9,015,052MIT
array-macroArray multiple elements constructor syntax8,896,694MIT OR Apache-2.0
min-max-heapAn efficient, double-ended priority queue8,884,083MIT/Apache-2.0
hexasphereA library to evenly tile hexagons on a sphere.8,442,463MIT OR Apache-2.0
newtype-uuidNewtype wrapper around UUIDs8,399,115MIT OR Apache-2.0
smallstrString-like container based on smallvec8,265,776MIT OR Apache-2.0
wasmer-typesWasmer Common Types8,235,400MIT OR Apache-2.0 WITH LLVM-exception
anymapA safe and convenient store for one value of each type8,041,043MIT/Apache-2.0
binary-heap-plusEnhanced version of std::collections::BinaryHeap that supports max, min, and custom-order heaps.8,021,677MIT
corosenseiA fast and safe implementation of stackful coroutines7,600,359MIT OR Apache-2.0
bevy_ecsBevy Engine's entity component system7,473,683MIT OR Apache-2.0
vec_mut_scanForward scan over a vector with mutation and item removal7,371,5120BSD
nonempty-collectionsCorrect-by-construction non-empty collections.7,343,591MIT
papayaA fast and ergonomic concurrent hash-table for read-heavy workloads.7,323,076MIT
hyperloglogplusHyperLogLog implementations.7,205,479MIT
multi-stashVector-based arena data structure that reuses vacant slots.6,713,745MIT/Apache-2.0
inplace-vec-builderBuild a vec from a vec, in place6,510,381MIT OR Apache-2.0
ip_network_table-deps-treebitmapForked version of fast IPv4/IPv6 lookup trie.6,479,992MIT
meteredFast, ergonomic metrics for Rust!6,444,785Apache-2.0 OR MIT
metered-macroFast, ergonomic metrics for Rust!6,443,628Apache-2.0 OR MIT
ringbufferA fixed-size circular buffer6,381,271MIT
tinystr-rawRaw string-to-integer conversions for tinystr.6,346,226Apache-2.0/MIT
tinystr-macrosProc macros for TinyStr.6,337,650Apache-2.0/MIT
aspectAn Aspect Toolkit for Rust6,279,219Apache-2.0 OR MIT
aspect-weaveAn Aspect Toolkit for Rust6,260,124Apache-2.0 OR MIT
option_setBitflags on steroids6,209,938MIT
ndarray-statsStatistical routines for the n-dimensional array data structures provided by ndarray.6,195,893MIT/Apache-2.0
permutationSmall utility for creating, manipulating, and applying permutations.6,095,411Apache-2.0/MIT
range-collectionsSets and maps of ranges, backed by smallvec6,051,929MIT OR Apache-2.0