Skip to main content

Awesome Rust

A curated list of Rust code and resources.

If you want to contribute, please read this.

Table of contents


See also Rust — Production organizations running Rust in production.

  • alacritty — A cross-platform, GPU enhanced terminal emulator
  • andschwa/rust-genetic-algorithm — A genetic algorithm for academic benchmark problems
  • asm-cli-rust — An interactive assembly shell written in rust.
  • cloudflare/boringtun — A Userspace WireGuard VPN Implementation
  • datafusion — Apache Arrow DataFusion and Ballista query engines
  • denoland/deno — A secure JavaScript/TypeScript runtime built with V8, Rust, and Tokio
  • FactotumA system to programmatically run data pipelines
  • fcsonline/drill — A HTTP load testing application inspired by Ansible syntax
  • Fractalide — Simple Rust Microservices
  • habitat — A tool created by Chef to build, deploy, and manage applications.
  • Herd — an experimental HTTP load testing application
  • ivanceras/diwata — A database administration tool for postgresql
  • jedisct1/flowgger — A fast, simple and lightweight data collector
  • kalker - A scientific calculator that supports math-like syntax with user-defined variables, functions, derivation, integration, and complex numbers. Cross platform + WASM support
  • kytan — High Performance Peer-to-Peer VPN
  • linkerd/linkerd2-proxy — Ultralight service mesh for Kubernetes.
  • MaidSafe — A decentralized platform.
  • mdBook — A command line utility to create books from markdown files
  • nicohman/eidolon — A steam and drm-free game registry and launcher for linux and macosx
  • notty — A new kind of terminal
  • Pijul — A patch-based distributed version control system
  • Rudr — A Kubernetes implementation of the Open Application Model specification
  • rx — Vi inspired Modern Pixel Art Editor
  • Servo — A prototype web browser engine
  • shuttle — A serverless platform built for Rust
  • tiny — A terminal IRC client
  • trust-dns — A DNS-server
  • wasmer — A safe and fast WebAssembly runtime supporting WASI and Emscripten
  • Weld — Full fake REST API generator
  • wezterm — A GPU-accelerated cross-platform terminal emulator and multiplexer
  • zellij — A terminal multiplexer (workspace) with batteries included

Audio and Music

  • enginesound — A GUI and command line application used to procedurally generate semi-realistic engine sounds. Featuring in-depth configuration, variable sample rate and a frequency analysis window.
  • Glicol — Graph-oriented live coding language written in Rust for collaborative musicking in browsers.
  • ncspot - Cross-platform ncurses Spotify client, inspired by ncmpc and the likes.
  • Polaris — A music streaming application.
  • Spotify TUI — A Spotify client for the terminal written in Rust.
  • Spotifyd — An open source Spotify client running as a UNIX daemon.


  • Bitcoin Satoshi's Vision [sv] — A Rust library for working with Bitcoin SV .
  • ChainX — Fully Decentralized Interchain Crypto Asset Management on Polkadot.
  • CITA — A high performance blockchain kernel for enterprise users.
  • coinbase-pro-rs — Coinbase pro client in Rust, supports sync/async/websocket
  • Diem — Diem’s mission is to enable a simple global currency and financial infrastructure that empowers billions of people.
  • electrumrs — An efficient re-implementation of Electrum Server in Rust.
  • ethaddrgen — Custom Ethereum vanity address generator made in Rust
  • Forest - Rust Filecoin implementation
  • Grin — Evolution of the MimbleWimble protocol
  • hdwallet [hdwallet] — BIP-32 HD wallet related key derivation utilities.
  • Holochain — Scalable P2P alternative to blockchain for all those distributed apps you always wanted to build. The link to the old repo is this which is no longer maintained.
  • ibc-rs - Rust implementation of the Interblockchain Communication protocol
  • infincia/bip39-rs [bip39] — Rust implementation of BIP39.
  • interBTC — Trustless and fully decentralized Bitcoin bridge to Polkadot and Kusama.
  • Joystream — A user governed video platform
  • Lighthouse — Rust Ethereum 2.0 Client
  • near/nearcore — decentralized smart-contract platform for low-end mobile devices.
  • Nervos CKB — Nervos CKB is a public permissionless blockchain, the common knowledge layer of Nervos network.
  • Nimiq — Rust implementation of Nimiq node
  • Parity-Bitcoin — The Parity Bitcoin client
  • Parity-Bridge — Bridge between any two ethereum-based networks
  • Parity-Ethereum — Fast, light, and robust Ethereum client
  • Parity-Zcash — Rust implementation of the Zcash protocol
  • Phala-Network/phala-blockchain — Confidential smart contract blockchain based on Intel SGX and Substrate
  • Polkadot — Heterogeneous multi‑chain technology with pooled security
  • rust-bitcoin — Library with support for de/serialization, parsing and executing on data structures and network messages related to Bitcoin.
  • rust-lightning — Bitcoin Lightning library written in Rust. The main crate,lightning, does not handle networking, persistence, or any other I/O. Thus,it is runtime-agnostic, but users must implement basic networking logic, chain interactions, and disk storage.po on linking crate.
  • Solana — Incredibly fast, highly scalable blockchain using Proof-of-History.
  • Substrate — Generic modular blockchain template written in Rust
  • tendermint-rs - Rust implementation of Tendermint blockchain data structures and clients
  • wagyu [wagyu] — Rust library for generating cryptocurrency wallets
  • zcash — Zcash is an implementation of the "Zerocash" protocol.


  • Databend - A Modern Real-Time Data Processing & Analytics DBMS with Cloud-Native Architecture
  • indradb — Rust based graph database
  • Lucid — High performance and distributed KV store accessible through a HTTP API.
  • Materialize - Streaming SQL database powered by Timely Dataflow 💲
  • noria [noria] — Dynamically changing, partially-stateful data-flow for web application backends
  • ParityDB — Fast and reliable database, optimised for read operation
  • PumpkinDB — an event sourcing database engine
  • Qdrant - An open source vector similarity search engine with extended filtering support
  • seppo0010/rsedis — A Redis reimplementation in Rust
  • Singularity-Data/RisingWave - the next-generation streaming database in the cloud
  • Skytable — A multi-model NoSQL database
  • sled — A (beta) modern embedded database
  • TerminusDB - open source graph database and document store
  • tikv — A distributed KV database in Rust
  • vorot93/libmdbx-rs [mdbx-sys] — Rust bindings for MDBX, a "fast, compact, powerful, embedded, transactional key-value database, with permissive license". This is a fork of mozilla/lmdb-rs with patches to make it work with libmdbx.
  • WooriDB - General purpose time serial database inspired by Crux and Datomic.


See also crates matching keyword 'emulator'.


See also Games Made With Piston.


Image processing

  • Imager — Automated image optimization.

Industrial automation


  • avito-tech/bioyino — A high-performance scalable StatsD compatible server.
  • OpenTelemetry — OpenTelemetry provides a single set of APIs, libraries, agents, and collector services to capture distributed traces and metrics from your application. You can analyze them using Prometheus, Jaeger, and other observability tools.
  • Quickwit-oss/quickwit - Cloud-native and highly cost-efficient search engine for log management.
  • Scaphandre - A power consumption monitoring agent, to track host and each service power consumption and enable designing systems and applications for more sustainability. Designed to fit any monitoring toolchain (already supports prometheus, warp10, riemann...).
  • vectordotdev/vector — A High-Performance, Logs, Metrics, & Events Router.

Operating systems

See also A comparison of operating systems written in Rust.


  • Bartib [Bartib] - A simple timetracker for the command line
  • espanso — A cross-platform Text Expander written in Rust
  • eureka — A CLI tool to input and store your ideas without leaving the terminal
  • pier-cli/pier — A central repository to manage (add, search metadata, etc.) all your one-liners, scripts, tools, and CLIs

Security tools


  • hEngine - A Rust-implemented computational simulation engine, supporting large-scale agent-based modelling, with simulation logic written in JavaScript and Python.

System tools

  • ajeetdsouza/zoxide — A fast alternative to cd that learns your habits
  • Alonely0/Voila — Voila is a domain-specific language launched through CLI tool for operating with files and directories in massive amounts in a fast & reliable way.
  • bandwhich — Terminal bandwidth utilization tool
  • bottom - Yet another cross-platform graphical process/system monitor.
  • brocode/fblog — Small command-line JSON Log viewer
  • bustd - Lightweight process killer daemon to handle out-of-memory scenarios on Linux.
  • buster/rrun — A command launcher for Linux, similar to gmrun
  • cantino/mcfly - Fly through your shell history. Great Scott!
  • crabz - Multi-threaded compression and decompression CLI tool
  • cristianoliveira/funzzy — A configurable filesystem watcher inspired by entr
  • dalance/procs — A modern replacement for 'ps' written by Rust
  • ddh — Fast duplicate file finder
  • diskonaut — Terminal visual disk space navigator
  • dust — A more intuitive version of du
  • fselect — Find files with SQL-like queries
  • gitui - Blazing fast terminal client for git written in Rust.
  • k0pernicus/zou — A download accelerator
  • Kondo - CLI & GUI tool for deleting software project artifacts and reclaiming disk space
  • lotabout/rargs [rargs] — xargs + awk with pattern matching support
  • lotabout/skim — A fuzzy finder in pure rust
  • Luminarys/synapse — Flexible and fast BitTorrent daemon.
  • m4b/bingrep — Greps through binaries from various OSs and architectures, and colors them.
  • mitnk/cicada — A bash-like Unix shell
  • mmstick/concurr — Alternative to GNU Parallel w/ a client-server architecture
  • mmstick/fontfinder — GTK3 application for previewing and installing Google's fonts
  • mmstick/parallel — Reimplementation of GNU Parallel
  • mmstick/tv-renamer — A tv series renaming application with an optional GTK3 frontend.
  • mxseev/logram — Push log files' updates to Telegram
  • nickgerace/gfold [gfold] - CLI tool to help keep track of multiple Git repositories
  • nivekuil/rip - A safe and ergonomic alternative to rm
  • ogham/exa — A replacement for 'ls'
  • orhun/kmon — Linux Kernel Manager and Activity Monitor
  • orhun/systeroid — A more powerful alternative to sysctl(8) with a terminal user interface
  • ouch - Painless compression and decompression on the command-line
  • Peltoche/lsd — An ls with a lot of pretty colors and awesome icons
  • pop-os/popsicle — GTK3 & CLI utility for flashing multiple USB devices in parallel
  • pop-os/system76-power — Linux power management daemon (DBus-interface) with CLI tool.
  • pueue — Manage your long running shell commands.
  • redox-os/ion — Next-generation system shell
  • sharkdp/bat — A cat(1) clone with wings.
  • sharkdp/fd — A simple, fast and user-friendly alternative to find.
  • sitkevij/hex — A colorized hexdump terminal utility.
  • uutils/coreutils — A cross-platform Rust rewrite of the GNU coreutils [
  • watchexec — Executes commands in response to file modifications
  • XAMPPRocky/tokei — counts the lines of code

Task scheduling

  • delicate — A lightweight and distributed task scheduling platform written in rust.

Text editors

  • amp — Inspired by Vi/Vim.
  • gchp/iota — A simple text editor
  • helix — A post-modern modal text editor inspired by Neovim/Kakoune.
  • ilai-deutel/kibi — A tiny (≤1024 LOC) text editor with syntax highlighting, incremental search and more.
  • lapce — Lightning-fast and Powerful Code Editor written in Rust.
  • mathall/rim — Vim-like text editor written in Rust
  • ox — An independent Rust text editor that runs in your terminal!
  • Remacs — A community-driven port of Emacs to Rust.
  • vamolessa/pepper [pepper] — An opinionated modal editor to simplify code editing from the terminal
  • xi-editor — A modern editor with a backend written in Rust.
  • xray — An experimental next-generation Electron-based text editor.

Text processing

  • dmerejkowsky/ruplacer — Find and replace text in source files
  • dominikwilkowski/cfonts [cfonts] — Sexy ANSI fonts for the console
  • grex — A command-line tool and library for generating regular expressions from user-provided test cases
  • Lisprez/so_stupid_search — A simple and fast string search tool for human beings
  • Melody - A language that compiles to regular expressions and aims to be more easily readable and maintainable
  • phiresky/ripgrep-all — ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, etc.
  • replicadse/complate — An in-terminal text templating tool designed for standardizing messages (like for GIT commits).
  • ripgrep — combines the usability of The Silver Searcher with the raw speed of grep
  • sd — Intuitive find & replace CLI
  • sstadick/hck - A faster and more featureful drop in replacement for cut
  • vishaltelangre/ff — Find files (ff) by name!
  • whitfin/bytelines [bytelines] — Read input lines as byte slices for high efficiency.
  • whitfin/runiq — an efficient way to filter duplicate lines from unsorted input.
  • xsv — A fast CSV command line tool (slicing, indexing, selecting, searching, sampling, etc.)

Image processing


  • 1History — Command line interface to backup Firefox/Chrome/Safari history to one SQLite file
  • brycx/checkpwn — A Have I Been Pwned (HIBP) command-line utility tool that lets you easily check for compromised accounts and passwords.
  • evansmurithi/cloak — A Command Line OTP (One Time Password) Authenticator application.
  • fcsonline/tmux-thumbs — A lightning fast version of tmux-fingers written in Rust, copy/pasting tmux like vimium/vimperator.
  • guoxbin/dtool — A useful command-line tool collection to assist development including conversion, codec, hashing, encryption, etc.
  • nomino — Batch rename utility for developers
  • raftario/licensor — write licenses to stdout
  • rustdesk/rustdesk — A remote desktop software, great alternative to TeamViewer and AnyDesk.
  • tversteeg/emplace — Synchronize installed packages on multiple machines
  • unrelentingtech/freepass — The free password manager for power users.
  • vamolessa/verco [verco] — A simple Git/Hg tui client focused on keyboard shortcuts
  • vaultwarden — Alternative implementation of the Bitwarden server API written in Rust
  • yaa110/cb — Command line interface to manage clipboard




  • cfal/tobaru - Port forwarder with allowlists, IP and TLS SNI/ALPN rule-based routing, iptables support, round-robin forwarding (load balancing), and hot reloading.
  • LemmyNet/lemmy — A link aggregator / reddit clone for the fediverse
  • MASQ-Project/Node — MASQ Node software provides a decentralized mesh-network of nodes for global users to access normal internet content - next evolution of tech beyond Tor & VPN
  • Plume-org/Plume — ActivityPub federating blogging application
  • Revolt/backend - User-first chat platform built with modern web technologies.
  • spikecodes/libreddit - An alternative private front-end to Reddit

Web Servers

Development tools

  • artifact — the design doc tool made for developers
  • clippy — Rust lints
  • clog-tool/clog-cli — generates a changelog from git metadata (conventional changelog)
  • comtrya — A configuration management tool for localhost / dotfiles
  • create-rust-app — Set up a modern rust+react web app by running one command.
  • dan-t/rusty-tags — create ctags/etags for a cargo project and all of its dependencies
  • datanymizer/datanymizer - Powerful database anonymizer with flexible rules
  • delta — A syntax-highlighter for git and diff output
  • dotenv-linter — Linter for .env files
  • fw — workspace productivity booster
  • geiger — A program that list statistics related to usage of unsafe Rust code in a Rust crate and all its dependencies
  • git-cliff — A highly customizable Changelog Generator that follows Conventional Commit specifications
  • git-journal — The Git Commit Message and Changelog Generation Framework
  • just — A handy command runner for project-specific tasks
  • mask — A CLI task runner defined by a simple markdown file
  • Module Linker — Extension that adds links to references in mod, use and extern crate statements at GitHub.
  • ptags — A parallel universal-ctags wrapper for git repository
  • Racer — code completion for Rust
  • Rust Language Server — A server that runs in the background, providing IDEs, editors, and other tools with information about Rust programs
  • Rust Search Extension — A handy browser extension to search crates and docs in address bar (omnibox).
  • rust-lang/rustfix — automatically applies the suggestions made by rustc
  • rustfmt — A Rust code formatter
  • Rustup — the Rust toolchain installer
  • scriptisto A language-agnostic "shebang interpreter" that enables you to write one file scripts in compiled languages.
  • semantic-rs — automatic crate publishing
  • synth — A declarative data generation engine.

Build system

  • Cargo — the Rust package manager
    • cargo-all-features - A configurable subcommand to simplify testing, building and much more for all combinations of features
    • cargo-benchcmp — A utility to compare Rust micro-benchmarks
    • cargo-bitbake — A cargo extension that can generate BitBake recipes utilizing the classes from meta-rust
    • cargo-cache — inspect/manage/clean your cargo cache (~/.cargo//${CARGO_HOME}), print sizes etc
    • cargo-check — A wrapper around cargo rustc -- -Zno-trans which can be helpful for running a faster compile if you only need correctness checks
    • cargo-count — lists source code counts and details about cargo projects, including unsafe statistics
    • cargo-deb — Generates binary Debian packages
    • cargo-deps — build dependency graphs of Rust projects
    • cargo-do — run multiple cargo commands in a row
    • cargo-ebuild — cargo extension that can generate ebuilds using the in-tree eclasses
    • cargo-edit — allows you to add and list dependencies by reading/writing to your Cargo.toml file from the command line
    • cargo-generate A generator of a rust project by leveraging a pre-existing git repository as a template.
    • cargo-graph — updated fork of cargo-dot with additional features. Unmaintained, see cargo-deps
    • cargo-info — queries for crates details from command line
    • cargo-license — A cargo subcommand to quickly view the licenses of all dependencies.
    • cargo-make — Rust task runner and build tool.
    • cargo-modules — A cargo plugin for showing a tree-like overview of a crate's modules.
    • cargo-multi — runs specified cargo command on multiple crates
    • cargo-outdated — displays when newer versions of Rust dependencies are available, or out of date
    • cargo-release — tool for releasing git-managed cargo project, build, tag, publish, doc and push
    • cargo-rpm [cargo-rpm] — cargo subcommand for building .rpm releases of Rust projects.
    • cargo-script — lets people quickly and easily run Rust "scripts" which can make use of Cargo's package ecosystem
    • cargo-tree – Cargo subcommand that visualizes a crate's dependency graph in a tree-like format
    • cargo-update — cargo subcommand for checking and applying updates to installed executables
    • cargo-watch — utility for cargo to compile projects when sources change
    • dtolnay/cargo-expand — Expand macros in your source code
  • CMake
  • Fleet [fleet-rs] - The blazing fast build tool for Rust.
  • Github actions




Rust Embedded focuses on improving the end-to-end experience of using Rust in resource-constrained environments and non-traditional platforms. See awesome-embedded-rust for a curated, and more extended list of embedded Rust resources.

  • Arduino

  • Cross compiling

    • japaric/rust-cross — everything you need to know about cross compiling Rust programs
    • japaric/xargo — effortless cross compilation of Rust programs to custom bare-metal targets like ARM Cortex-M
  • Espressif

    • esp-rs home to a number of community projects enabling the use of the Rust programming language on various SoCs and modules produced by Espressif Systems.
  • nRF

  • Raspberry Pi


See also Foreign Function Interface, The Rust FFI Omnibus (a collection of examples of using code written in Rust from other languages) and FFI examples written in Rust.


See also Are we (I)DE yet? and Rust Tools.



  • — Detect outdated or insecure dependencies
  • — Automatic documentation generation of crates

Static analysis

[assert, static]


[test, testing]

  • Code Coverage
    • tarpaulin — A code coverage tool designed for Rust
  • Continuous Integration
    • trust — A Travis CI and AppVeyor template to test your Rust crate on 5 architectures and publish binary releases of it for Linux, macOS and Windows
  • Frameworks and Runners
    • AlKass/polish — Mini Testing/Test-Driven Framework
    • cargo-dinghy - A cargo extension to simplify running library tests and benches on smartphones and other small processor devices.
    • cucumber — An implementation of the Cucumber testing framework for Rust. Fully native, no external test runners or dependencies.
    • demonstrate — Declarative Testing Framework
    • rstest — Fixture-based test framework for Rust
    • speculate — An RSpec inspired minimal testing framework for Rust
  • Mocking and Test Data
  • Property Testing and Fuzzing


  • BayesWitnesses/m2cgen — A CLI tool to transpile trained classic machine learning models into a native Rust code with zero dependencies.
  • immunant/c2rust — C to Rust translator and cross checker built atop Clang/LLVM.
  • jameysharp/corrode — A C to Rust translator written in Haskell.


  • perf-monitor-rs — A toolkit designed to be a foundation for applications to monitor their performance.
  • Phate6660/nixinfo [crate] — A lib crate for gathering system info such as cpu, distro, environment, kernel, etc.

Artificial Intelligence

Genetic algorithms

  • innoave/genevo — Execute genetic algorithm (GA) simulations in a customizable and extensible way.
  • m-decoster/RsGenetic — Genetic Algorithm library in Rust. In maintenance mode.
  • Martin1887/oxigen — Fast, parallel, extensible and adaptable genetic algorithm library. A example using this library solves the N Queens problem for N = 255 in only few seconds and using less than 1 MB of RAM.
  • pkalivas/radiate — A customizable parallel genetic programming engine capable of evolving solutions for supervised, unsupervised, and reinforcement learning problems. Comes with complete and customizable implementation of NEAT and Evtree.
  • willi-kappler/darwin-rs — Evolutionary algorithms with Rust

Machine learning

See [Machine learning]

See also About Rust’s Machine Learning Community and Are we learning yet?.




  • async-std [async-std] - Async version of the Rust standard library
  • dpc/mioco — Scalable, coroutine-based, asynchronous IO handling library
  • mio — MIO is a lightweight IO library for Rust with a focus on adding as little overhead as possible over the OS abstractions
  • rust-lang/futures-rs — Zero-cost futures in Rust
  • TeaEntityLab/fpRust — Monad/MonadIO, Handler, Coroutine/doNotation, Functional Programming features for Rust
  • Xudong-Huang/may — rust stackful coroutine library
  • zonyitoo/coio-rs — A coroutine I/O library with a working-stealing scheduler

Audio and Music



  • constantoine/totp-rs [totp-rs] — 2fa library to generate and verify TOTP-based tokens
  • Keats/jsonwebtokenJSON Web Token lib in rust
  • oauth2 — Extensible, strongly-typed Rust OAuth2 client library
  • oxide-auth — A OAuth2 server library, for use in combination with actix or other frontends, featuring a set of configurable and pluggable backends
  • sgrust01/jwtvault — Async library to manage and orchestrate JWT workflow
  • yup-oauth2 — An oauth2 client implementation providing the Device, Installed and Service Account flows



  • Rust-Bio — bioinformatics libraries in Rust.









[crypto, cryptography]



Data processing

Data streaming

Data structures

Data visualization

Date and time

[date, time]

Distributed systems

Domain driven design


[email, imap, smtp]





Functional Programming

[functional programming]

Game development

See also Are we game yet?


[geo, gis]





Image processing

Language specification

  • shnewto/bnf — A library for parsing Backus–Naur form context-free grammars.



  • estk/log4rs — highly configurable logging framework modeled after Java's Logback and log4j libraries
  • jesusprubio/leg — Elegant print for lazy devs. Make your CLIs nicer with minimal effort.
  • rust-lang/log — Logging implementation for Rust
  • seanmonstar/pretty-env-logger — A pretty, easy-to-use logger for Rust.
  • slog-rs/slog — Structured, composable logging for Rust
  • tokio-rs/tracing — An application level tracing framework for async-aware structured logging, error handling, metrics, and more


  • cute
    • mattgathu/cute — Macro for Python-esque list comprehensions in Rust.
  • Linq-in-Rust - Macro and methods for C#-LINQ-like expressions.

Markup language



Network programming



Platform specific





  • nyx-space - High fidelity, fast, reliable and validated astrodynamical toolkit library, used for spacecraft mission design and orbit determination

Task scheduling

  • delay-timer — Time-manager of delayed tasks. Like crontab, but asynchronous tasks are possible.

Template engine

Text processing


  • zerocopy — Utilities for safely reinterpreting arbitrary byte sequences as native Rust types


Web programming

See also Are we web yet? and Rust web framework comparison.


A registry allows you to publish your Rust libraries as crate packages, to share them with others publicly and privately.

  • Cloudsmith 💲 — A fully managed package management SaaS, with first-class support for public and private Cargo/Rust registries (plus many others). Has a generous free-tier and is also completely free for open-source.
  • Crates — The official public registry for Rust/Cargo.
  • w4/chartered - A private, authenticated, permissioned Cargo registry



Contribute to this list: