CATEGORY
Algorithms 7,448 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.
stringmatchAllow the use of regular expressions or strings wherever you need string comparison1,436,385MIT
rs-snowflakeRust version of the Twitter snowflake algorithm.1,414,516MIT
lexicmpLibrary for comparing and sorting strings lexicographically and naturally1,403,947MIT OR Apache-2.0
simhashSimhash algorithm for 64-bit locality-sensitive hashing and similarity calculation1,402,354MIT
internet-checksumRFC 1071 checksum computation (the "internet checksum")1,401,140non-standard
validitValidate data structures internal state1,377,110MIT OR Apache-2.0
zipfA fast generator of discrete, bounded Zipf-distributed random numbers1,369,708Apache-2.0
datasketchesA software library of stochastic streaming algorithms (a.k.a. sketches)1,361,547Apache-2.0
delogDeferred logging, an implementation and extension of Rust's standard logging facade.1,340,750Apache-2.0 OR MIT
glidesortGlidesort sorting algorithm1,331,752MIT OR Apache-2.0
xorfilter-rsXor Filters: Faster and Smaller Than Bloom and Cuckoo Filters1,310,218Apache-2.0
galil-seiferasGeneral string search in constant space, linear time, for nonorderable alphabets.1,296,340MIT/Apache-2.0
ordsliceExtensions for ordered slices1,291,729Apache-2.0
reference-counted-singletonReference-counted singleton whose protected data can be recreated as needed1,284,370MIT
lsm-treeA K.I.S.S. implementation of log-structured merge trees (LSM-trees/LSMTs)1,282,133MIT OR Apache-2.0
cardinality-estimatorA crate for estimating the cardinality of distinct elements in a stream or dataset.1,278,154Apache-2.0
fjallLog-structured, embeddable key-value storage engine1,257,288MIT OR Apache-2.0
rust-lapperA fast and easy interval overlap library1,248,809MIT
count-min-sketchCount-min-sketch implementation1,189,340MIT
ext-sortrust external sort algorithm implementation1,161,884Unlicense
gxhashGxHash non-cryptographic algorithm1,152,498MIT
vekGeneric 2D-3D math swiss army knife for game engines, with SIMD support and focus on convenience.1,145,432MIT OR Apache-2.0
openraftAdvanced Raft consensus1,114,964MIT OR Apache-2.0
internal-russh-num-bigintBig integer implementation for Rust1,102,136MIT OR Apache-2.0
microfftEmbedded-friendly Fast Fourier Transforms1,089,163MIT
merkle-cbtA library for generating efficient Merkle tree and combined Merkle proof based on complete binary tree1,087,865MIT
bioA bioinformatics library for Rust. This library provides implementations of many algorithms and data structures that are useful…1,042,538MIT
metrohashRust implementation of MetroHash, a high quality, high performance hash algorithm1,035,328MIT
cubecl-commonCommon crate for CubeCL1,013,708MIT OR Apache-2.0
linfa-nnA collection of nearest neighbour algorithms1,004,804MIT OR Apache-2.0
levenberg-marquardtLevenberg-Marquardt algorithm built on top of nalgebra997,813MIT
linfa-clusteringA collection of clustering algorithms925,873MIT OR Apache-2.0
cubecl-coreCubeCL core create923,968MIT OR Apache-2.0
cubeclMulti-platform high-performance compute language extension for Rust.921,663MIT OR Apache-2.0
halo2_legacy_pdqsortA copy of the core::slice::sort module from the Rust 1.56.1 standard library, modified to behave the same on 32-bit platforms as…899,760MIT OR Apache-2.0
tenthashA high-quality, non-cryptographic, 160-bit hash function.882,292MIT OR Apache-2.0
iptoolsHigh-performance IPv4/IPv6 utilities and iterators inspired by Python's iptools878,772MIT
lstsqReturn the least-squares solution to a linear matrix equation859,948MIT/Apache-2.0
qr2termStupidly simple Rust crate to render a QR code in the terminal.842,009MPL-2.0
double-ended-peekableAn adapter providing peeking features to double-ended iterators.833,274MIT
openraft-macrosAdvanced Raft consensus827,304MIT OR Apache-2.0
daggrsA fast Double-Array Aho-Corasick implementation for multi-pattern matching821,266MIT OR Apache-2.0
heapifyConvenience functions to turn slices into max-heaps.809,292MIT OR Apache-2.0
bitmThe library for bit and bitmap (bit vector) manipulation.798,848MIT OR Apache-2.0
extprimExtra primitive types (u128, i128)793,434MIT/Apache-2.0
ic-representation-independent-hashA library for computing representation-independent hashes as described in the Internet Computer interface specification.784,624Apache-2.0
advent-of-codeSolutions to Advent of Code781,103MIT
binoutThe library for binary serialization/deserialization of integers and arrays of integers.776,746MIT OR Apache-2.0
magic-cryptMagicCrypt is a Java/PHP/NodeJS/Rust library to encrypt/decrypt strings, files, or data, using Data Encryption Standard(DES) or…768,835Apache-2.0
phThe library of data structures based on perfect hashing.762,308MIT OR Apache-2.0
ndarray-interpInterpolation package for ndarray747,136MIT
numext-constructorFixed-size uint and hash constructor.735,247Apache-2.0 OR MIT
numext-fixed-uintFixed-size uint types.733,785Apache-2.0 OR MIT
cubecl-stdCubeCL Standard Library.732,916MIT OR Apache-2.0
ch_cityhash102ClickHouse CityHash implementation732,218MIT
numext-fixed-uint-coreA internal crate used by numext-fixed-uint.728,589Apache-2.0 OR MIT
numext-fixed-uint-hackA internal crate used by numext-fixed-uint.727,948Apache-2.0 OR MIT
digits_iteratorIterate over the digits of numbers in an arbitrary radix718,751Apache-2.0
triple_bufferAn implementation of triple buffering, useful for sharing frequently updated data between threads712,164MPL-2.0
resiterHelper crate for handling iterators over result710,559MPL-2.0
ic-response-verificationClient side response verification for the Internet Computer690,741Apache-2.0
entropy-mapUltra-low latency hash map using minimal perfect hash functions and compact encoding of values, minimizing memory footprint and…684,307Apache-2.0
raftThe rust language implementation of Raft algorithm.680,275Apache-2.0
clipper-sysBoolean operations on polygons (Clipper wrapper)671,649ISC
geo-clipperBoolean operations on polygons668,797ISC
t1haAn implementation of the T1AH (Fast Positive Hash) hash function.668,482Zlib
elliptic-curve-toolsExtra Rust-Crypto elliptic-curve adaptors, functions, and macros665,829Apache-2.0 OR MIT
naturalPure rust library for natural language processing.649,075MIT
geosRust bindings for GEOS C API648,957MIT
accurate(more or less) accurate floating point algorithms644,059MIT OR Apache-2.0
bitintrPortable Bit Manipulation Intrinsics.642,958MIT
geos-sysGEOS C API bindings640,885MIT
httlib-huffmanCanonical Huffman algorithm for handling HPACK format in HTTP/2.635,215MIT
raft-protoProtocol definitions for the rust language implementation of the Raft algorithm.613,640Apache-2.0
cubecl-reduceCubeCL Reduce Algorithms.613,437MIT OR Apache-2.0
iter_toolsCollection of general purpose tools to iterate. Currently it simply reexports itertools.608,596MIT
resolvoFast package resolver written in Rust (CDCL based SAT solving)606,707BSD-3-Clause
textdistanceLots of algorithms to compare how similar two sequences are603,696MIT
memintervalA simple interval-tree in Rust made to store memory mappings601,051MIT OR Apache-2.0
ic-cborCBOR decoding for Internet Computer clients595,217Apache-2.0
ic-http-certificationCertification for HTTP responses for the Internet Computer593,777Apache-2.0
const-primesWork with prime numbers in const contexts. Prime generation, primality testing, prime counting, and more.590,449MIT OR Apache-2.0
lzokay-nativeA pure rust port of lzookay.587,366MIT
ic-certificate-verificationCertificate verification for the Internet Computer585,984Apache-2.0
pubgrubPubGrub version solving algorithm563,207MPL-2.0
color-thiefGrabs the dominant color or a representative color palette from an image.553,039MIT
aes-keywrapAES Key Wrap construction (AES-KW, RFC 3394 / RFC 5649)550,232MIT
verhoeffThe Verhoeff algorithm, for number checksums545,860BlueOak-1.0.0 OR MIT OR Apache-2.0
range_union_findA union-find data structure for ranges544,440MIT OR Apache-2.0
crc_allA Pure Rust Implementation of Generic CRC Algorithm544,367MIT OR Apache-2.0
voprfAn implementation of a verifiable oblivious pseudorandom function (VOPRF)535,700MIT
rand-utf8Random utf8 utility511,336MIT/Apache-2.0
sacabaseBase types and functions for suffix arrays and longest substring search499,526MIT
small-ord-setA set data-structure represented by a sorted `SmallVec`486,726MIT/Apache-2.0
partitionsA disjoint-sets/union-find implementation that allows for efficient iteration over elements of a set.483,460Apache-2.0
subsliceFast subslice search481,885MIT/Apache-2.0
delaunatorA very fast 2D Delaunay triangulation library.471,650ISC
shardtreeA space-efficient Merkle tree with witnessing of marked leaves, checkpointing & state restoration.468,645MIT OR Apache-2.0
unicycleA scheduler for driving a large number of futures.452,998MIT OR Apache-2.0
astral-pubgrubPubGrub version solving algorithm449,661MPL-2.0
permutation_iteratorA Rust library for iterating over random permutations using O(1) (i.e. constant) space.448,655Apache-2.0
iter-chunksExtend Iterator with chunks446,238MIT OR Apache-2.0
arroyAnnoy-inspired Approximate Nearest Neighbors in Rust, based on LMDB and optimized for memory usage446,110MIT
memxmemory functions like libc memcmp(), memchr(), memmem(), memcpy(), memset()445,196MIT OR Apache-2.0
line-spanFind line ranges and jump between next and previous lines438,573MIT
pqc_kyberA rust implementation of the post-quantum Kyber KEM algorithm428,622MIT/Apache-2.0
ggml-quantsGGml defined quantized data types and their quant/dequant algorithm426,172MIT
mpchashA space-efficient (no need for vnodes) multi-probe consistent hashing algorithm423,278MIT
simsearchA small in-memory fuzzy search index for embedded autocomplete and search suggestions.419,109MIT
unisetA hierarchical, growable bit set with support for in-place atomic operations.411,542MIT OR Apache-2.0
ratelimit_meterA leaky-bucket-as-a-meter rate-limiting implementation in Rust398,955MIT
golomb-coded-setAn implementation of BIP158 Golomb-Coded Set data structure396,463MIT
blsfulBLS signature implementation according to the IETF spec on the BLS12-381 curve.392,394MIT OR Apache-2.0
optimization_engineA pure Rust framework for embedded nonconvex optimization. Ideal for robotics!389,067MIT OR Apache-2.0
seedable_hashThe library for calculating seedable hashes and fast reduction of their ranges.388,244MIT OR Apache-2.0
topo_sortA 'cycle-safe' topological sort for a set of nodes with dependencies388,121MIT OR Apache-2.0
google-authenticatorThis Rust crate can be used to interact with the Google Authenticator mobile app for 2-factor-authentication.384,060MIT
aarcAn atomically updatable Arc for lock-free concurrency.381,303MIT
parolLL(k) and LALR(1) parser generator for Rust371,882MIT/Apache-2.0
hash-iterIterator producing sequence of hash values for a given input (using double hashing technique)367,716MIT
cubecl-optCompiler optimizations for CubeCL364,881MIT OR Apache-2.0
lbfgsA Rust implementation of the L-BFGS algorithm364,163MIT OR Apache-2.0
scirs2-coreCore utilities and common functionality for SciRS2 (scirs2-core)363,830Apache-2.0
fixed-macroMacros for creating fixed-point constants for types in the `fixed` crate.363,789MIT OR Apache-2.0
probabilistic-collectionsVarious implementations of collections that use approximations to improve on running time or memory,
but introduce a certain…363,325MIT OR Apache-2.0
gat-lending-iteratorA library for iterators who's items can [mutably] reference the iterator.358,078MIT
segment-treeQuickly perform interval queries or modifications.356,100MIT
clatterno_std compatible implementation of Noise protocol framework with Post-Quantum extensions356,028MIT
scirs2-linalgLinear algebra module for SciRS2 (scirs2-linalg)345,504Apache-2.0
embedded-crc-macrosMacros implementing portable CRC calculation algorithms for use in no_std.345,448MIT OR Apache-2.0
cubecl-linalgCubeCL Linear Algebra Library.344,384MIT OR Apache-2.0
geometry-predicatesA Rust port of robust geometric predicates343,620MIT
smbus-pecMinimal portable implementation of SMBus Packet Error Code calculation algorithm.339,626MIT OR Apache-2.0
fsrsFSRS for Rust, including Optimizer and Scheduler337,980BSD-3-Clause
parol_runtimeRuntime library for parsers generated by the 'parol' parser generator.337,564MIT OR Apache-2.0
graafWork with directed graphs.336,028MIT OR Apache-2.0
uuid7A Rust implementation of UUID version 7334,562Apache-2.0
clipper2A safe, idiomatic Rust API for 2D polygon boolean clipping (intersection, union, difference, XOR), offsetting (inflate/deflate),…331,317MIT OR Apache-2.0
bit-iterIterate forward or backwards over the positions of set bits in a word.330,627MIT
indxvecVecs sorting, merging, indexing, ranking, searching, reversing, intersecting, printing, etc.328,845Apache-2.0
moduloSimple modulo operation.325,177MIT
whichlangA blazingly fast and lightweight language detection library for Rust.324,980MIT
idallocA library for different methods of allocating unique identifiers efficiently.324,388MIT/Apache-2.0
clipper2c-sysRust FFI bindings to Clipper2 — 2D polygon boolean clipping (intersection, union, difference, XOR), offsetting (inflate/deflate),…324,373MIT OR Apache-2.0
cobylaCOBYLA optimizer for Rust322,558non-standard
cubecl-matmulCubeCL Matrix Multiplication Kernels Engine321,475MIT OR Apache-2.0
cubecl-randomCubeCL Random Number Generation.321,415MIT OR Apache-2.0
cubecl-convolutionCubeCL Convolution Kernels Engine320,484MIT OR Apache-2.0
nloptWrapper for the nlopt library316,846MIT
cdivsufsortRust bindings for Yuta Mori's divsufsort316,094MIT
bumparaw-collectionsA small set of bumpalo-backed collections for low-level operations311,881MIT
oxiblas-coreCore traits and SIMD abstractions for OxiBLAS308,884Apache-2.0
oxiblas-blasBLAS operations for OxiBLAS - pure Rust implementation308,664Apache-2.0
num-bigfloatIncreased precision floating point numbers implemented purely in Rust.308,229MIT
oxiblas-lapackLAPACK operations for OxiBLAS - pure Rust implementation308,160Apache-2.0
oxiblas-ndarrayndarray integration for OxiBLAS307,435Apache-2.0
taTechnical analysis library. Implements number of indicators: EMA, SMA, RSI, MACD, Stochastic, etc.302,766MIT
bloom-filtersRust port of https://github.com/tylertreat/BoomFilters300,689Apache-2.0 OR MIT
rstatsStatistics, Information Measures, Data Analysis, Linear Algebra, Clifford Algebra, Machine Learning, Geometric Median, Matrix…300,117Apache-2.0
fastbloom-rsSome fast bloom filter implemented by Rust for Python and Rust!298,532Apache-2.0
suffix_arraySuffix array construction and searching algorithms for in-memory binary data.297,331MIT
dusk-bls12_381Fork of the implementation of the BLS12-381 pairing-friendly elliptic curve construction with some extra tooling needed by the…295,561MIT/Apache-2.0/MPL-2.0
tree-sitter-traversalTraversal of tree-sitter Trees and any arbitrary tree with a TreeCursor-like interface293,641MIT
stream-moreStream utilities for Rust293,194MIT OR Apache-2.0
varproA straightforward nonlinear least-squares fitting library which uses the Variable Projection algorithm.287,771MIT
easyfftA library crate providing an easy FFT API for arrays and slices284,633MIT OR Apache-2.0
scirs2-interpolateInterpolation module for SciRS2 (scirs2-interpolate)283,379Apache-2.0
partitionpartition slices in-place by a predicate281,129MIT OR Apache-2.0
sgp4A pure Rust implementation of the SGP4 algorithm for satellite propagation279,752MIT
rdstA flexible parallel unstable radix sort that supports sorting by any arbitrarily defined sequence of bytes.277,036Apache-2.0 OR MIT
derive_toolsA collection of derive macros designed to enhance STD.276,067MIT
hannoyHNSW Approximate Nearest Neighbors in Rust, based on LMDB and optimized for memory usage275,261MIT
mod_interfaceProtocol of modularity unifying interface of a module and introducing layers.274,968MIT
dusk-jubjubDusk's fork of the implementation of the Jubjub elliptic curve group274,386MIT/Apache-2.0
value-logValue log implementation for key-value separated LSM storage274,304MIT OR Apache-2.0
linfa-kernelKernel methods for non-linear algorithms273,959MIT OR Apache-2.0
entropyCalculates the Shannon entropy of arrays of bytes and strings273,909MIT
mod_interface_metaProtocol of modularity unifying interface of a module and introducing layers.267,077MIT
syntree_layoutA library to visualize trees from the 'syntree' crate.264,627MIT OR Apache-2.0
parol-macrosMacros for LL(k) parser generator `parol`264,027MIT OR Apache-2.0
cubecl-zspaceCubeCL ZSpace Library.258,685MIT OR Apache-2.0
petal-neighborsNearest neighbor search algorithms including a ball tree and a vantage point tree.258,209Apache-2.0
kk is for kinematics257,723Apache-2.0
linfa-reductionA collection of dimensionality reduction techniques256,457MIT OR Apache-2.0
clone_dyn_typesDerive to clone dyn structures.255,932MIT
advanced_collectionsLibrary with advanced data structures (collections).
Includes counter (hash-bag, multiset), disjoint set (union-find,…254,598MIT
powierza-coefficientPowierża coefficient is a statistic for gauging if one string is an abbreviation of another249,685MIT
iter_num_toolsCreate simple iterators over non integer ranges. itertools + num = iter_num_tools249,424MIT
censorA simple text profanity filter248,787MIT
linfa-linearA Machine Learning framework for Rust243,024MIT OR Apache-2.0
flo_curvesLibrary for manipulating Bezier curves242,617Apache-2.0
macro_toolsTools for writing procedural macroses.240,635MIT
merkle_hashFinds the hashes of all files and directories in a directory tree.240,272MIT
bridgetreeA space-efficient Merkle tree designed for linear appends with witnessing of marked leaves, checkpointing & state restoration.240,050MIT OR Apache-2.0
lz-fearA fast pure-rust no-unsafe implementation of LZ4 compression and decompression238,952MIT
lz_fnvFowler-Noll-Vo hash functions for various integer types238,664MIT
jumphashA Fast, Minimal Memory, Consistent Hash Algorithm236,557ISC
formerA flexible implementation of the Builder pattern supporting nested builders and collection-specific subformers. Simplify the…236,496MIT
tailcallStack-safe tail calls on stable Rust236,005MIT OR Apache-2.0
kalmanfiltKalman and other filters from Kalman-and-Bayesian-Filters-in-Python235,448MIT