awesome-zig
Zig project list
A curated list of notable projects and libraries built using the Zig programming language
A list of awesome projects related to Zig
386 stars
15 watching
32 forks
last commit: about 2 months ago
Linked from 1 awesome list
awesomeawesome-listzigziglang
Awesome Zig / Algorithms and data structures | |||
ziglibs/s2s | 130 | 2 months ago | Binary serialization format and library |
BarabasGitHub/LZig4 | 6 | over 5 years ago | LZ4 implementation |
DutchGhost/ArrayVec | 15 | over 4 years ago | An array with a vector feeling |
emekoi/deque.zig | 16 | over 4 years ago | A lock free chase-lev deque |
kristoff-it/zig-cuckoofilter | 83 | almost 2 years ago | Production-ready Cuckoo Filters for any C ABI compatible target |
marijnfs/zigtimsort | 5 | over 4 years ago | TimSort implementation |
Sahnvour/zig-containers | 12 | over 3 years ago | A container library |
Srekel/zig-sparse-set | 66 | 5 months ago | Sparse sets, supporting both SOA and AOS style |
hexops/xorfilter | 259 | about 1 month ago | Xor Filters for checking if a key is part of a set |
JakubSzark/zig-string | 368 | 2 months ago | UTF-8 string data structure |
karlseguin/cache.zig | 42 | 6 months ago | Thread-safe, expiration-aware, LRU cache |
Awesome Zig / Allocators and memory | |||
fengb/zee_alloc | 82 | over 3 years ago | Tiny allocator primarily targeting WebAssembly |
mdsteele/ziegfried | 24 | over 3 years ago | A general-purpose memory allocator |
suirad/Seal | 6 | almost 6 years ago | An allocator that wraps another allocator and detects if memory is leaked after usage |
Hejsil/zig-gc | 38 | over 3 years ago | A super simple mark-and-sweep garbage collector |
dbandstra/zig-hunk | 0 | 12 days ago | Basic "Hunk" memory allocator, based on the hunk system from id Software's Quake engine |
Awesome Zig / Audio | |||
Hejsil/zig-midi | 30 | 9 months ago | |
hazeycode/zig-alsa | 1 | over 2 years ago | Bindings for ALSA (libasound) |
dantecatalfamo/sndio-zig | 1 | over 2 years ago | Bindings for |
orhun/linuxwave | 537 | 7 days ago | Generate music from the entropy of Linux |
dbandstra/zig-wav | 1 | about 2 months ago | Simple WAV file parser and writer |
Awesome Zig / Bootables | |||
AndreaOrru/zen | 443 | 7 months ago | Experimental operating system |
andrewrk/clashos | 219 | almost 5 years ago | Multiplayer arcade game for bare metal Raspberry Pi 3 B+ |
andrewrk/HellOS | 273 | almost 2 years ago | "hello world" x86 kernel example |
chivay/vmt | 10 | 5 months ago | Toy OS |
DorianXGH/Lukarnel | 21 | over 4 years ago | A microkernel with Rust microservices |
iguessthislldo/georgios | 48 | over 1 year ago | Hobby Operating System |
jzck/kernel-zig | 429 | about 1 year ago | Hobby x86 kernel |
markfirmware/zig-bare-metal-microbit | 35 | about 3 years ago | Bare metal microbit program |
markfirmware/zig-bare-metal-raspberry-pi | 89 | almost 5 years ago | Bare metal raspberry pi program |
MasterQ32/RetrOS | 56 | almost 4 years ago | A retro-style gaming console running on bare x86 metal |
nrdmn/uefi-examples | 61 | about 1 year ago | UEFI examples |
nrdmn/uefi-paint | 46 | about 5 years ago | UEFI-bootable touch paint app |
rafaelbreno/zig-os | 35 | over 1 year ago | A simple OS following Philipp Oppermann's posts "Writing an OS in Rust" |
SamTebbs33/pluto | 561 | 11 months ago | An x86 kernel |
sjdh02/trOS | 49 | over 5 years ago | Tiny aarch64 baremetal OS thingy |
tralamazza/embedded_zig | 75 | about 4 years ago | Minimal embedded ARM example (STM32F103 blue pill) |
yvt/zig-armv8m-test | 11 | over 5 years ago | Example app for Armv8-M + TrustZone |
ZeeBoppityZagZiggity/ZBZZ.OS | 12 | over 4 years ago | An operating system built for RISCV |
Awesome Zig / Compilers and interpreters | |||
oven-sh/bun | 74,264 | 6 days ago | Incredibly fast JavaScript runtime, bundler, transpiler and package manager – all in one |
Vexu/bog | 546 | over 1 year ago | Small, strongly typed, embeddable language |
LoLa Programming Language | ( ) An embeddable programming language for game scripting | ||
squeek502/zua | 172 | 9 months ago | An implementation of Lua 5.1 for learning purposes |
CurtisFenner/zsmol | 9 | almost 2 years ago | The new Smol compiler and reference |
dantecatalfamo/brainfuck-zig | 9 | 12 months ago | Brainfuck interpreter |
dantecatalfamo/mruby-zig | 33 | over 1 year ago | bindings |
dantecatalfamo/wren-zig | 26 | about 2 years ago | bindings |
fulcrum-so/ziggy-pydust | 417 | 10 days ago | bindings |
fubark/cyber | 1,223 | 3 months ago | Fast and concurrent scripting |
Awesome Zig / Concurrency | |||
mitchellh/libxev | 2,141 | 17 days ago | Cross-platform event-loop |
kprotty/zefi | 37 | 4 months ago | Fiber library |
rsepassi/zigcoro | 160 | 2 months ago | coroutine-friendly, based on libxev |
iacore/minicoro-zig | Bindings for minicoro - Stackful Stack-Switching Coroutine | ||
Awesome Zig / Database | |||
coilhq/tigerbeetle | 10,569 | 6 days ago | A distributed financial accounting database designed for mission critical safety and performance |
kristoff-it/redis-cuckoofilter | 231 | over 4 years ago | Hashing-function agnostic Cuckoo filters for Redis |
kristoff-it/zig-okredis | 213 | 8 months ago | Zero-allocation Client for Redis 6+ |
leroycep/sqlite-zig | 63 | 7 months ago | SQLite bindings |
vrischmann/zig-cassandra | 8 | 2 months ago | Client for Cassandra 2.1+ |
vrischmann/zig-sqlite | 378 | 22 days ago | SQLite wrapper |
karlseguin/zuckdb.zig | 93 | 24 days ago | DuckDB wrapper |
karlseguin/pg.zig | 249 | 15 days ago | Native PostgreSQL client |
Awesome Zig / Editor plugins | |||
MarioAriasC/zig-support | 79 | 12 months ago | Language support for JetBrains IDEs (IntelliJ, CLion and others) |
isaachier/ztags | 16 | almost 4 years ago | Ctags implementation for Zig |
Tetralux/sublime-zig | 3 | about 4 years ago | My own, more lightweight, syntax highlighting for Zig |
ziglang/sublime-zig-language | 85 | about 2 months ago | Zig language support for Sublime Text |
ziglang/vscode-zig | 549 | 25 days ago | Zig language support for VSCode |
ziglang/zig-mode | 171 | 17 days ago | Zig mode for Emacs |
ziglang/zig.vim | 469 | 3 months ago | Vim configuration for Zig |
zigtools/zls | 3,002 | 8 days ago | Zig LSP implementation + Zig Language Server |
Awesome Zig / Emulators | |||
fengb/fundude | 181 | about 3 years ago | Gameboy emulator for WASM |
GrooveStomp/chip8-zig | 8 | over 4 years ago | CHIP-8 emulator |
sourgrasses/ichigo | Virtual Boy emulator | ||
floooh/kc85.zig | 53 | 3 months ago | A KC85 emulator |
Arwalk/ChipZ | 3 | 5 months ago | A simple Chip8 emulator (library and executable) |
Awesome Zig / Game tools and libraries | |||
hexops/mach | 3,374 | 8 days ago | Game engine and graphics toolkit |
michal-z/zig-gamedev | 2,295 | 14 days ago | DirectX 12 game development ecosystem |
floooh/sokol-zig | 373 | 6 days ago | bindings |
TM35-Metronome/metronome | 46 | 11 months ago | A set of tools for modifying and randomizing Pokémon games |
TM35-Metronome/tm35-nds | 10 | over 5 years ago | A library for working with Nintendo DS roms |
user00e00/sudokuinzig | Simple and robust sudoku solver | ||
wendigojaeger/ZigGBA | 354 | 9 months ago | SDK for creating Game Boy Advance games using Zig |
hazeycode/brucelib | Monorepo of modules for programming cross-platforms games, simulations, engines & editors | ||
andy5995/zigdeck | 3 | 28 days ago | A library that creates and shuffles a deck of cards from which you can draw |
Awesome Zig / Games | |||
Akuli/curses-minesweeper | 17 | 2 months ago | Minesweeper game written in curses |
andrewrk/tetris | 396 | about 2 months ago | A simple tetris clone |
fabioarnold/snake-zig | 18 | about 1 year ago | A simple snake clone |
Stenodyon/blink | 17 | over 4 years ago | A game about building logic with lasers |
thejoshwolfe/legend-of-swarkland | 94 | about 1 month ago | Hack-n-slash roguelike inspired by NetHack |
tiehuis/zstack | 5 | over 5 years ago | Line-race tetris mode |
kooparse/zalgebra | 229 | 10 days ago | Linear algebra library for games and real-time computer graphics |
floooh/pacman.zig | 241 | 13 days ago | A Pacman clone |
dantecatalfamo/OpenCSE | 1 | 7 months ago | Free implementation of the Can't Stop Express dice game |
dbandstra/oxid | 4 | 11 days ago | Arcade-style game where you fight waves of monsters in a fixed-screen maze |
Awesome Zig / GUI | |||
capy-ui/capy | 1,711 | 10 days ago | Cross-platform library for making true native GUIs |
david-vanderson/gui | 423 | 7 days ago | Immediate mode GUI for Zig |
Aransentin/ZWL | 99 | over 2 years ago | Zig Windowing Library |
prime31/zig-upaya | 131 | over 2 years ago | GUI toolkit |
fubark/cosmic | 340 | over 1 year ago | GUI toolkit |
batiati/IUPforZig | 116 | 10 months ago | Zig idiomatic and type-checked bindings for IUP Portable User Interface Toolkit |
andrewrk/zig-sdl | Self-contained SDL2 package for Zig | ||
Snektron/vulkan-zig | 510 | about 1 month ago | Vulkan binding generator |
Avokadoen/zig_vulkan | 49 | 10 months ago | Toy renderer using Vulkan and GLFW |
andrewrk/zig-vulkan-triangle | 116 | 2 months ago | Simple triangle displayed using Vulkan, GLFW, and Zig |
kassane/QML-zig | 87 | 3 months ago | QML bindings |
cshenton/learnopengl | 141 | over 3 years ago | tutorials ported to Zig |
ifreund/river | 3,310 | 10 days ago | Dynamic wayland compositor that takes inspiration from dwm and bspwm |
Nelarius/weekend-raytracer-zig | 92 | over 2 years ago | An implementation of the "Ray Tracing in One Weekend" book |
SpexGuy/Zig-Gltf-Display | 31 | 8 months ago | A program that displays glTF files using Vulkan |
tiehuis/zig-raytrace | 16 | 6 months ago | Simple raytracer |
donpdonp/zootdeck | 40 | 4 months ago | Fediverse GTK Desktop Reader |
MasterQ32/ZigPaint | 11 | over 5 years ago | A simple paint application. Used to create an OpenGL loader/wrapper and a minimal UI system |
olexij-christian/zgtk3 | 1 | about 2 months ago | GTK3 bindings |
Awesome Zig / Misc libraries | |||
natecraddock/ziglua | 273 | 7 days ago | Bindings for the Lua C API |
ryoppippi/zigcv | 101 | 20 days ago | Bindings for OpenCV4 |
BraedonWooding/Lazy-Zig | 42 | 12 months ago | Linq |
DutchGhost/maybeuninit | 1 | about 4 years ago | MaybeUninit |
emekoi/log.zig | 22 | over 4 years ago | A thread-safe logging library |
kprotty/zap | 446 | 3 months ago | A collection of libraries which provide interfaces over the system for writing high performance applications |
vbrusca/ZigMatrixUtils | 2 | 2 months ago | Matrix manipulation and utility library |
mlarouche/zigimg | 452 | 26 days ago | Library for reading and writing different image formats |
bfactory-ai/zignal | 67 | 12 days ago | Image processing library inspired by |
dbandstra/zig-pcx | 0 | 12 days ago | PCX image format decoder and encoder |
ziglibs/known-folders | 232 | 4 months ago | Provides access to well-known folders across several operating systems |
SasLuca/zig-nanoid | 27 | about 2 years ago | Battle-tested, tiny, secure, URL-friendly, unique string ID generator. Now available in pure Zig |
kassane/libvlc-zig | 17 | about 1 year ago | Bindings for libVLC media framework |
karlseguin/log.zig | 99 | about 2 months ago | Structured logging library |
dantecatalfamo/9p-zig | 4 | over 1 year ago | 9P2000 client/server library |
karlseguin/singleflight.zig | 3 | 5 months ago | Duplicate function call suppression |
kassane/lean4-zig | 8 | 10 months ago | Bindings for Lean 4 (theorem prover) |
attron/astroz | 16 | 8 days ago | Astronomical and Spacecraft Toolkit |
Awesome Zig / Network | |||
MasterQ32/zig-network | 484 | about 1 month ago | Small network abstraction layer around TCP & UDP |
dantecatalfamo/zig-dns | 57 | 8 months ago | Experimental DNS library implemented in zig |
euantorano/ip.zig | 14 | about 5 years ago | Library for working with IP Addresses |
lun-4/zigdig | 33 | 4 months ago | Naive DNS client library |
marler8997/netpunch | 17 | about 2 months ago | Outbound proxy protocol |
remeh/statsd-zig | 4 | 12 months ago | Basic DogStatsD UDP server |
Awesome Zig / Network / HTTP | |||
Luukdegram/apple_pie | 163 | over 1 year ago | HTTP 1.0/1.1 Server implementation |
truemedian/zfetch | 60 | about 2 years ago | HTTP(S) client based on iguanaTLS |
ducdetronquito/requestz | 115 | almost 2 years ago | HTTP client based on h11 |
ducdetronquito/h11 | 102 | almost 2 years ago | I/O-free HTTP/1.1 implementation inspired by hyper/h11 |
lun-4/ziget | 20 | 7 months ago | Simple wget without libc |
frmdstryr/zhp | 355 | over 2 years ago | Featureful HTTP server |
axgdev/telegram_echobot_zig | 5 | almost 3 years ago | Telegram echo bot |
karlseguin/http.zig | 593 | 10 days ago | HTTP/1.1 server |
zigzap/zap | 2,364 | about 1 month ago | blazingly fast, robust HTTP server |
Awesome Zig / Network / Messaging | |||
skunkwerks/zamqp | 4 | over 3 years ago | AMQP client, based on rabbitmq-c |
nine-lives-later/zzmq | 24 | 5 months ago | ZeroMQ library, based on CZMQ |
Awesome Zig / Web | |||
andrewrk/lua-in-the-browser | 32 | over 5 years ago | Using Zig to build Lua for WebAssembly |
karlseguin/websocket.zig | 305 | 11 days ago | A WebSocket implementation |
kivikakk/htmlentities.zig | 12 | 5 months ago | HTML5 entity data |
meheleventyone/zig-wasm-test | 55 | 5 months ago | A minimal WebAssembly example using Zig's build system |
shritesh/zig-wasm-dom | 142 | almost 2 years ago | Zig + WebAssembly + JS + DOM |
shritesh/zigfmt-web | 43 | almost 5 years ago | Zig fmt on the web |
zigwasm/wasm-zig | 27 | about 1 year ago | Common WASM runtime binding to C API |
zigwasm/wasmer-zig | 53 | almost 3 years ago | Bindings for the Wasmer WebAssembly runtime |
zigwasm/wasmtime-zig | 83 | over 2 years ago | Bindings of Wasmtime |
batiati/mustache-zig | 120 | about 1 month ago | Mustache implementation |
floscodes/zerve | 49 | 5 months ago | Simple framework for writing web services and web apps |
zon-dev/zinc | 27 | 25 days ago | Zinc is a framework focusing on high performance, usability, security, and extensibility |
Awesome Zig / System tools | |||
pbui-project/pbui-main | 91 | over 3 years ago | BSD/Linux core utilities written in Zig |
hspak/brightnessztl | 8 | 4 months ago | A CLI to control device backlight |
thejoshwolfe/hexdump-zip | 8 | 7 months ago | Produce an annotated hexdump of a zipfile |
kubkon/zacho | 37 | 2 months ago | Zig's Mach-O parser |
weskoerber/mac_address | 2 | 2 months ago | A cross-platform library to retrieve the MAC address from your network interfaces without libc |
Awesome Zig / Zig development tools | |||
marler8997/zigup | 779 | about 2 months ago | Download and manage zig compilers |
korandoru/setup-zig | 19 | about 2 months ago | Set up a specific version of Zig environment on GitHub Actions |
weskoerber/zvm | 4 | 3 months ago | POSIX-compliant bash script to manage multiple active Zig versions |
vezel-dev/zig-sdk | 73 | 8 days ago | MSBuild SDK for building Zig, C, and C++ projects using the Zig compiler |
aherrmann/rules_zig | 44 | 7 days ago | Bazel build rules for Zig |
Awesome Zig / Zig development tools / Package managers | |||
zigtools/zpm | 90 | 6 months ago | Unofficial Zig package manager |
mattnite/gyro | 575 | over 1 year ago | Package manager with an index, build runner, and build dependencies |
nektro/zigmod | 769 | 23 days ago | Zig package manager |
cheetah/asdf-zig | 28 | 5 months ago | Zig plugin for the ASDF package manager |
mattnite/ezpkg | 24 | about 1 year ago | Zig Package Manager Expansion Pack |
nix-community/zon2nix | 72 | 5 months ago | Convert the dependencies in to a Nix expression |
Awesome Zig / Parser | |||
darithorn/zig-toml | 107 | 3 months ago | A TOML parser |
Himujjal/zig-json5 | 23 | almost 2 years ago | JSON5 parser resembling the APIs |
chwayne/rem | 106 | 5 months ago | An HTML parsing library |
goto-bus-stop/ziguid | 7 | over 1 year ago | GUID parsing/stringifying |
00JCIV00/cova | 109 | 29 days ago | Commands, Options, Values, Arguments. A simple yet robust cross-platform command line argument parsing library |
Hejsil/zig-clap | 954 | 6 days ago | Simple command line argument parsing library |
sam701/zig-cli | 208 | about 1 month ago | Package for building command line apps |
kivikakk/libpcre.zig | 25 | 5 months ago | Bindings to libpcre for Perl-compatible regular expressions |
kivikakk/koino | 126 | 5 months ago | CommonMark/GitHub Flavored Markdown parser and HTML renderer |
kubkon/zig-yaml | 146 | 2 months ago | YAML parser |
sreehax/zig-ini | 6 | over 3 years ago | .ini parser |
Nulo/ini-parser | .ini parser | ||
tiehuis/zig-regex | 196 | 5 months ago | A regex implementation |
tiehuis/zig-ryu | 15 | 9 months ago | Port of |
Vexu/zuri | 45 | almost 2 years ago | URI parser |
vi/zigmkv | 12 | about 2 years ago | Matroska/webm (mkv) parser |
winksaville/zig-parse-args | 0 | about 6 years ago | Parse command line arguments |
winksaville/zig-parse-number | 0 | over 5 years ago | Implement ParseNumber which can parse any TypeId.Int or TypeId.Float |
gernest/base32 | 11 | 3 months ago | Base32 encoding/decoding |
caolan/zig-netstring | Netstring parser | ||
Arwalk/zig-protobuf | 233 | 19 days ago | Implementation of Protocol Buffers v3 leveraging Zig's comptime |
iddev5/inon | 10 | 6 months ago | Data configuration file format |
naneros/ztoml | TOMLv1.0.0 parser and convert TOML to JSON | ||
InKryption/comath | 51 | 11 days ago | Calculate math expressions in comptime |
weskoerber/kewpie | 2 | 3 months ago | A simple query string parser |
Awesome Zig / Learning resources | |||
belse-de/zig-tut | 18 | 9 months ago | A collection of small projects and tutorials to learn Zig |
Sobeston/ziglearn | 696 | 2 months ago | Zig learning resources |
zighelp/zighelp | 37 | about 1 year ago | Get up to speed with Zig quickly (ziglearn fork) |
ziglings/exercises | Learn Zig by fixing tiny example programs | ||
Awesome Zig / C/C++ libraries packaged for Zig / C | |||
andrewrk/SDL | 77 | 12 days ago | Simple Directmedia Layer |
andrewrk/libz | 14 | 7 months ago | Zlib data compression |
andrewrk/ffmpeg | 178 | 13 days ago | library only |
andrewrk/libgroove | 293 | 8 months ago | streaming audio processing library |
andrewrk/libsoundio | 1,946 | 5 months ago | library for real-time audio input and output |
kassane/openssl-zig | 12 | about 2 months ago | crypto, providers & ssl libraries only |
kassane/wolfssl | 5 | 8 days ago | wolfssl library |
kassane/libbpf | 2 | 7 months ago | BPF CO-RE (Compile Once – Run Everywhere) |
kassane/winpthreads | 12 | 29 days ago | PThread library for MinGW |
raysan5/raylib | 22,637 | 6 days ago | A simple and easy-to-use library to enjoy videogames programming |
jmcnamara/libxlsxwriter | 1,519 | 8 days ago | Creating Excel XLSX files |
alexrp/libffi | 7 | 9 days ago | libffi with a Zig build script |
Awesome Zig / C/C++ libraries packaged for Zig / C++ | |||
andrewrk/libchromaprint | 5 | 9 months ago | library for generating audio fingerprints used by AcoustID |
kassane/asio | 7 | 22 days ago | (non-boost) Networking I/O library (w/ event-loop, C++14/17/20) |
kassane/fmt | 0 | about 2 months ago | Modern formatting library |
kassane/context | 0 | 5 months ago | (boost-context) fiber library (C++14/17/20) |
kassane/fiber | 1 | 3 months ago | (boost-fiber) userland threads (C++14/17/20) |
kassane/beast | 1 | 4 months ago | (boost-beast) HTTP and WebSocket (C++14/17/20) |
kassane/hana | 1 | 4 months ago | (boost-hana) Meta-programming library (header-only, C++14/17/20) |
kassane/intrusive | 0 | over 1 year ago | (boost-intrusive) intrusive containers (header-only, C++03/11/14) |
kassane/unordered | 0 | 5 months ago | (boost-unordered) hashmap and set concurrency containers (C++03/11/14) |
kassane/catch2 | 0 | about 1 year ago | Unit testing library (C++14/17/20) |
kassane/outcome | 1 | 4 months ago | (non-boost) Error handler (C++14/17/20) |
kassane/json | 1 | 4 months ago | jsoncpp ported to Zig packaging |
kassane/Standalone-Server | 3 | 5 months ago | Asio standalone C++ HTTP/S Server |
kassane/range-v3 | 0 | 4 months ago | modern range library (C++14/17/20) |
kassane/libzmq | 2 | about 1 year ago | ZeroMQ core engine in C++ library |
kassane/libsigcplusplus | 0 | about 1 year ago | Typesafe callback system for standard C++ |
ggerganov/llama.cpp | 67,866 | 6 days ago | Port of Facebook's LLaMA model in C/C++ |
Awesome Zig / Other | |||
All Your Codebase | Development status of Zig and its' ecosystem | ||
zig.pm | A community-maintained repository of Zig packages | ||
hspak/geteltorito-zig | 7 | 6 months ago | Geteltorito re-write in Zig |
momumi/x86-zig | 27 | over 3 years ago | Library for assembling x86 |
nrdmn/ilo_license_key | 16 | over 4 years ago | ILO license key library |
vegecode/svd2zig | 27 | over 3 years ago | Convert System View Description (svd) files to Zig headers for baremetal development |
mqttiotstuff/iotmonitor | 21 | 7 months ago | MQTT IotMonitor tools, save time to monitor mqtt agents or devices |
ve-nt/outfieldr | client | ||
kubkon/zig-ios-example | 128 | about 1 year ago | Minimal for targeting iOS |
ynuwenhof/zigbraten | 1 | almost 3 years ago | Proof of concept internal cheat for Cube 2: Sauerbraten |
vbrusca/ZigSdlGameTemplate | 4 | 2 months ago | SDL game project template |