awesome-zig
A collaborative list of awesome Zig libraries and resources.
https://github.com/zigcc/awesome-zig
Last synced: 7 days ago
JSON representation
-
Interoperability
-
FFI Bindings
- natecraddock/ziglua - Zig bindings for the Lua C API.
- mitchellh/zig-objc - Objective-C runtime bindings for Zig (Zig calling ObjC).
- katafrakt/zig-ruby - This repo contains an experiment of building a Ruby extension with Zig programming language. It implements a slightly altered version of 100 doors from Rosetta Code.
- lassade/c2z - C++ to Zig bindings and transpiler.
- floooh/sokol-zig - Zig bindings for the sokol headers.
- jiacai2050/zig-curl - Zig bindings for libcurl.
- jiacai2050/zig-rocksdb - Zig bindings for RocksDB.
- jiacai2050/zig-jemalloc - Zig allocator baked by jemalloc.
- arshidkv12/zig-php - Write PHP extension in Zig.
- sackosoft/zig-luajit - Zig bindings for the LuaJIT C API.
- OnlyF0uR/pqc-zig - Zig bindings and abstractions for [PQClean](https://github.com/PQClean/PQClean/), post-quantum cryptography.
- happystraw/phpz - Build PHP extensions with Zig.
-
-
Language Essentials
-
Command Line and Argument Parser
- Hejsil/zig-clap - A simple and easy to use command line argument parser library for Zig.
- jiacai2050/zigcli - A toolkit for building command lines programs in Zig.
- PrajwalCH/yazap - The ultimate Zig library for seamless command line parsing. Effortlessly handles options, subcommands, and custom arguments with ease. [prajwalch.github.io/yazap](https://prajwalch.github.io/yazap).
- 00JCIV00/cova - Commands, Options, Values, Arguments. A simple yet robust cross-platform command line argument parsing library for Zig.
- BanchouBoo/accord - A simple argument parser for Zig.
- judofyr/parg - Lightweight argument parser for Zig.
- sam701/zig-cli - A simple package for building command line apps in Zig.
- GabrieleInvernizzi/zig-prompter - A flexible library for building interactive command line prompts.
- kioz-wang/zargs - Another Comptime-argparse for Zig.
- xcaeser/zli - Zig command-line interfaces made easy. A blazing fast CLI framework. Build ergonomic, high-performance command-line tools with Zig.
- MasterQ32/zig-args - Simple-to-use argument parser with struct-based config.
- CogitatorTech/chilli - Chilli 🌶️ is a minimalistic CLI framework for Zig.
- plutowang/zlap - A declarative, fluent, and type-safe command-line argument parser for Zig with subcommand support, inspired by Rust's clap.
-
Data Structure and Algorithm
- jakubgiesler/VecZig - Vector implementation in Zig.
- TheAlgorithms/Zig - Collection of Algorithms implemented in Zig.
- alichraghi/zort - Zort: Sorting algorithms in Zig.
- Srekel/zig-sparse-set - Sparse sets for Zig, supporting both SOA and AOS style.
- mitchellh/zig-graph - Directed graph data structure for Zig.
- ok-ryoko/multiring.zig - Singly linked, cyclic and hierarchical abstract data type in Zig.
- JacobCrabill/btree.zig - Behavior Tree library written in Zig.
- DutchGhost/ArrayVec - A library with an ArrayList-like API, except its a static array.
- emekoi/deque.zig - A lock free chase-lev deque for Zig.
- kristoff-it/zig-cuckoofilter - Production-ready Cuckoo Filters for any C ABI compatible target.
- BarabasGitHub/LZig4 - Implementing lz4 in Zig.
- marijnfs/zigtimsort - TimSort implementation for Zig.
- Sahnvour/zig-containers - A set of containers for Zig.
- booniepepper/zig-data-structures - Home to some experiments in Zig data structures.
- deckarep/ziglang-set - A generic and general purpose Set implementation for the Zig language.
- BraedonWooding/Lazy-Zig - Linq in Zig.
- yamafaktory/hypergraphz - HypergraphZ - A Hypergraph Implementation in Zig.
- ramsyana/Zig-Math-Algorithms - A collection of math algorithms in Zig—primes, Fibonacci, GCD, Euler's Totient, & more! Perfect for learning Zig & math.
- williamw520/toposort - Topological sort library that produces topological ordered nodes and dependence-free subsets.
- hello-algo-zig - Zig programming language codes for the famous public project [《Hello, Algorithm》|《 Hello,算法 》](https://github.com/krahets/hello-algo) about data structures and algorithms.
- CogitatorTech/ordered - A sorted collection library (sorted sets and sorted maps) for Zig.
- kobolds-io/stdx - Helpful extensions to the Zig standard library.
- OrlovEvgeny/lo.zig - A Lodash-style utility library for Zig with zero hidden allocations and lazy iterator-first design.
-
Date, Time and Timezones
- scento/zig-date - Time and date for Zig. Zig-date is a date and time library for the Zig, inspired by the popular Rust library [chrono](https://github.com/chronotope/chrono).
- frmdstryr/zig-datetime - A datetime module for Zig with an API similar to Python's Arrow.
- nektro/zig-time - A date and time parsing and formatting library for Zig.
- travisstaloch/date-zig - Fast calendar algorithms ported to Zig (Cassio Neri's [EAF](https://github.com/cassioneri/eaf)).
- leroycep/chrono-zig - Zig port of the Rust chrono crate.
- karlseguin/zul - Some date/time handling functionality among the other functionality.
- clickingbuttons/datetime - Generic Date, Time, and DateTime library.
- leroycep/zig-tzif - [TZif](https://datatracker.ietf.org/doc/html/rfc8536) parser that also handles POSIX timezone strings.
- FObersteiner/zdt - Timezoned Datetime in Zig. For learning purposes.
- rockorager/zeit - Generic date/time library, including time zone loading and conversion.
- deatil/zig-time - A date and time parse and format library for Zig.
-
File Format Processing
- MahBestBro/regex - A single file regex library written in and for Zig.
- ziglibs/known-folders - Provides access to well-known folders across several operating systems.
- tiehuis/zig-regex - A regex implementation for the Zig programming language.
- jecolon/ziglyph - Unicode text processing for the Zig programming language.
- kubkon/zig-yaml - YAML parser for Zig.
- nektro/zig-json - A JSON library for inspecting arbitrary values.
- karlseguin/log.zig - A structured logger for Zig.
- mattyhall/tomlz - A well-tested TOML parsing library for Zig.
- mitchellh/zig-libxml2 - Libxml2 built using Zig build system.
- travisstaloch/protobuf-zig - A protocol buffers implementation in Zig.
- sam701/zig-toml - Zig TOML (v1.0.0) parser.
- ziglibs/s2s - A Zig binary serialization format.
- Arwalk/zig-protobuf - A protobuf 3 implementation for Zig.
- aeronavery/zig-toml - A TOML parser written in Zig.
- goto-bus-stop/ziguid - GUID parsing/stringifying with Zig.
- kivikakk/libpcre.zig - Zig bindings to libpcre.
- kivikakk/koino - CommonMark + GFM compatible Markdown parser and renderer.
- vi/zigmkv - A (WIP) Matroska/webm (mkv) parser in Zig.
- winksaville/zig-parse-number - Implement ParseNumber which can parse any TypeId.Int or TypeId.Float.
- demizer/markzig - Pure Zig Markdown Parser.
- thejoshwolfe/hexdump-zip - Produce an annotated hexdump of a zipfile.
- javiorfo/zig-epub - Minimal Zig library for creating EPUB files.
- ezequielramis/zimdjson - Parsing gigabytes of JSON per second. Zig port of simdjson with fundamental features.
- rawC1nnamon/elfy.zig - Tiny and fast ELF parsing library for Zig.
- xcaeser/glob.zig - Fast and reliable glob pattern matching in pure Zig.
- kobolds-io/gnoll - Zig application configuration handled well.
- peymanmortazavi/csv-zero - Zero allocation, SIMD-accelerated CSV iterator and emitter for Zig.
- OrlovEvgeny/serde.zig - Comptime serialization framework for Zig supporting JSON, MessagePack, TOML, YAML, ZON, and CSV.
- mattnite/protobuf - A pure-Zig Protocol Buffers library with a standalone .proto parser, build-time code generator, and transport-agnostic RPC stub generation. Supports proto2 and proto3.
- shaik-abdul-thouhid/ezi-gex - Unicode-aware regex engine for Zig with runtime and comptime compilation, full \p{} Unicode property support, named captures, and custom pluggable backends (engines).
- nDimensional/zig-flatbuffers - FlatBuffers codegen for Zig, in Zig.
-
Finite State Machine
- cryptocode/zigfsm - Zigfsm is a [finite state machine](https://en.wikipedia.org/wiki/Finite-state_machine) library for Zig.
-
Logging Processing
- emekoi/log.zig - A thread-safe logging library for Zig.
- g41797/syslog - A [syslog](https://en.wikipedia.org/wiki/Syslog) RFC5424 client library.
- chrischtel/nexlog - A modern, feature-rich logging library for Zig with thread-safety, file rotation, and colorized output.
- sam701/slog - A configurable, structured logging package for Zig with support for hierarchical loggers.
- ross-weir/logex - A library that enriches `std.log` logging with additional functionality and features.
- muhammad-fiaz/logly.zig - A modern, production-grade, high-performance structured logging library for Zig, built for speed and scalability.
-
Memory Allocator and Management
- Aandreba/zigrc - Zig reference-counted pointers inspired by Rust's Rc and Arc. [aandreba.github.io/zigrc/](https://aandreba.github.io/zigrc/).
- DutchGhost/zorrow - Borrowchecker in Zig. This is a userlevel implementation of borrowchk in Zig.
- mdsteele/ziegfried - A general-purpose memory allocator for Zig.
- fengb/zee_alloc - Tiny Zig allocator primarily targeting WebAssembly.
- suirad/Seal - An allocator that wraps another allocator and detects if memory is leaked after usage.
- rvcas/mpool - A memory pool library written in Zig.
- nsmryan/zig_sealed_and_compact - Zig functions for memory management.
- suirad/adma - A general purpose, multithreaded capable slab allocator for Zig.
- hmusgrave/zcirc - A dynamic circular buffer allocator for Zig.
- dweiller/zig-composable-allocators - Comptime-generic composable allocators.
- bcrist/Zig-TempAllocator - Arena allocator for interactive programs and simulations.
- rdunnington/zig-stable-array - Address-stable array with a max size that allocates directly from virtual memory.
- dweiller/zimalloc - A general purpose allocator for Zig, inspired by [mimalloc](https://github.com/microsoft/mimalloc).
- Hejsil/zig-gc - A super simple mark-and-sweep garbage collector written in Zig.
- DutchGhost/maybeuninit - MaybeUninit in Zig.
-
Parser Library
- tree-sitter/zig-tree-sitter - Zig bindings to the [Tree-sitter](https://tree-sitter.github.io/zig-tree-sitter/) parsing library.
- OrlovEvgeny/zigquery - Zig HTML parser and CSS selector engine for DOM querying and manipulation.
-
String Processing
- JakubSzark/zig-string - Zig String (A UTF-8 String Library). This library is a UTF-8 compatible string library for the Zig programming language.
- jecolon/zigstr - Zigstr is a UTF-8 string type for Zig programs.
- ziglibs/string-searching - String(not limited to []const u8)-searching algorithms in Zig.
- hwu1001/zig-string - A String struct made for Zig.
- atman/zg - Provides Unicode text processing for Zig projects. It works correctly with the Russian language and other languages.
- shaik-abdul-thouhid/ezi-code - A comprehensive Unicode library for Zig covering UTF-8/16/32 encoding, normalization (NFC/NFD/NFKC/NFKD), segmentation (grapheme/word/sentence/line), casing, BiDi, collation (UCA/DUCET), and character properties. No dependencies.
-
-
Machine Learning
-
Zigged Project
- ggml-zig
- Gonzih/onnx-worker.zig - worker.zig
- ggml
-
-
Multimedia & Graphics
-
Audio Processing
- orhun/linuxwave - Generate music from the entropy of Linux 🐧🎵. [orhun.dev/linuxwave/](https://orhun.dev/linuxwave/).
- Hejsil/zig-midi - Zig-midi.
-
Game Development
- Mach - A game engine & graphics toolkit for the future. machengine.org.
- zig-gamedev/zig-gamedev - Building game development ecosystem for @ziglang.
- ryupold/zecsi - Small game framework made with Zig utilizing the awesome raylib.
- wendigojaeger/ZigGBA - Work in progress SDK for creating Game Boy Advance games using Zig programming language.
- prime31/zig-gamekit - Companion repo for Zig-renderkit for making 2D games.
- Jack-Ji/jok - A minimal 2d/3d game framework for Zig.
- star-tek-mb/Paradise - Paradise is a WebAssembly first game engine written in Zig.
- zkburke/quanta - A game engine/framework written in and for Zig.
- andrewrk/tetris - A simple tetris clone written in Zig programming language. [www.youtube.com/watch?v=AiintPutWrE](https://www.youtube.com/watch?v=AiintPutWrE).
- DanB91/Zig-Playdate-Template - Starter code for a Playdate program written in Zig.
- foxnne/aftersun - Top-down 2D RPG.
- 4imothy/termy48 - A 2048 game to run in terminal.
- andrewrk/clashos - Multiplayer arcade game for bare metal Raspberry Pi 3 B+.
- Srekel/zag - Game dev project written in Zig and C.
- TM35-Metronome/metronome - A set of tools for modifying and randomizing Pokémon games. [tm35-metronome.github.io/](https://tm35-metronome.github.io/).
- Akuli/curses-minesweeper - Minesweeper game written in curses with Zig.
- thejoshwolfe/legend-of-swarkland - Turn-based action fantasy puzzle game inspired by NetHack and Crypt of the Necrodancer. [wolfesoftware.com/legend-of-swarkland/](https://wolfesoftware.com/legend-of-swarkland/).
- emekoi/ziglet - A small Zig game library.
- kristianhasselknippe/zig-game-engine - Learning Zig through game engine.
- TM35-Metronome/tm35-nds - A library for working with Nintendo DS roms.
- fabioarnold/snake-zig - A simple snake game written in the Zig programming language using OpenGL 2.
- Stenodyon/blink - A game about building logic with lasers.
- tiehuis/zstack - Line-race tetris mode in Zig.
- godot-zig/godot-zig - Zig bindings for Godot 4.
- Avokadoen/ecez - An archetype based ECS library written in pure Zig.
- nitanmarcel/ScriptHookVZig - Library to write GTA V mods in Zig.
- PixelGuys/Cubyz - Voxel sandbox game with a large render distance, procedurally generated content and some cool graphical effects.
- Avokadoen/ecez_vulkan - A scene editor built on [ecez](https://github.com/Avokadoen/ecez) and Vulkan.
- deckarep/dungeon-rush - An SDL snake style game ported to Zig. Originally written in C.
- ringtailsoftware/zigtris - Zigtris, a terminal tetris.
- ringtailsoftware/zoridor - Zoridor, a Quoridor game for terminal and web with a machine opponent.
- ringtailsoftware/zero-jetpack - Zero-Jetpack a web game about Ziguanas carrying eggs.
- zPSP-Dev/Zig-PSP - A project to bring the Zig Programming Language to the Sony PlayStation Portable.
- six519/YieArKUNGFUZig - A Yie Ar Kung-Fu clone created in Zig with raylib.
- ajTronic/zetr - An aesthetic tetris clone for the terminal written in Zig.
- MasterQ32/Ziguana-Game-System - A retro-style gaming console running on bare x86 metal written in Zig.
- captkirk88/zevy-raylib - Framework for building games in Zig using raylib-zig and zevy-ecs.
- captkirk88/zevy-ecs - ECS similar to rust Bevy supporting very similar systems params support + more.
- darltrash/zcutenet - A cute_net.h binding and wrapper for Zig, for realtime networking.
- GasInfinity/zitrus - A 3DS SDK with all the bells and whistles in pure Zig.
- deckarep/CosmicInvaders - A pixel-art Space Invaders + Tower Defense game written in Zig with raylib.
-
GPU Computing
- gwenzek/cudaz - Toy Cuda wrapper for Zig.
- lennyerik/cutransform - CUDA kernels in any language supported by LLVM.
- Snektron/vulkan-zig - Vulkan binding generator for Zig.
- Avokadoen/zig_vulkan - Voxel ray tracing using Vulkan compute.
- akhildevelops/cudaz - Cuda wrapper for interacting with GPUs in Zig.
- e253/zig-ocl - Static Zig Build of the OpenCL ICD Loader from Khronos Group.
-
Graphics Library
- ziglibs/zgl - Zig OpenGL Wrapper.
- JonSnowbd/ZT - A Zig based Imgui Application framework.
- craftlinks/zig_learn_opengl - Follow the Learn-OpenGL book using Zig.
- ashpil/moonshine - A general purpose ray traced renderer built with Zig + Vulkan.
- fabioarnold/nanovg-zig - [NanoVG](https://github.com/memononen/nanovg) - Zig Version. A small anti-aliased hardware-accelerated vector graphics library. [fabioarnold.github.io/nanovg-zig/](https://fabioarnold.github.io/nanovg-zig/).
- fubark/cosmic - A platform for computing and creating applications. [cosmic.ooo](https://www.cosmic.ooo/).
- renerocksai/slides - This project is both a case study and also marks my first steps in the programming language Zig, towards creating a simple but powerful [imgui](https://github.com/ocornut/imgui/wiki#about-the-imgui-paradigm) based, OpenGL-rendered slideshow app in Zig.
- TinyVG/sdk - TinyVG software development kit. [tinyvg.tech/](https://tinyvg.tech/).
- andrewrk/zig-vulkan-triangle - Simple triangle displayed using Vulkan, glfw, and Zig.
- cshenton/learnopengl - Zig Learn OpenGL.
- Nelarius/weekend-raytracer-zig - A Zig implementation of the "Ray Tracing in One Weekend" book.
- SpexGuy/Zig-Gltf-Display - A program that displays glTF files using Vulkan, written in Zig.
- tiehuis/zig-raytrace - Simple raytracer in Zig.
- tiehuis/zig-sdl2 - SDL2 bindings for Zig.
- winksaville/zig-3d-soft-engine - An attempt to create a 3D engine in software using Zig.
- rockorager/libvaxis - Modern TUI library written in Zig.
- river - A dynamic tiling Wayland compositor.
- Thomvanoorschot/zignite - Simple cross platform rendering engine able to compile to WebAssembly with WebWorkers support.
- xtxf - The Matrix screensaver in Zig.
- zig-plotille - Terminal plotting library using Unicode braille characters.
- MasterQ32/SDL.zig - A shallow wrapper around SDL that provides object API and error handling.
- MasterQ32/zero-graphics - Application framework based on OpenGL ES 2.0. Runs on desktop machines, Android phones and the web.
- zsdl3 - SDL3 bindings for Zig.
- anomalyco/opentui - A library for building terminal user interfaces.
-
GUI
- Capy - Build one codebase and get native UI on Windows, Linux and Web. [capy-ui.org](https://capy-ui.org/).
- david-vanderson/dvui - Easy to Integrate Immediate Mode GUI for Zig.
- kassane/qml_zig - QML bindings for the Zig programming language.
- MoAlyousef/zfltk - Zig bindings for the FLTK gui library.
-
Programming Languages
Categories
Language Essentials
108
Multimedia & Graphics
99
Fundamentals
85
Network & Web
82
Systems Programming
69
Data & Science
60
Interoperability
40
Tools
10
File format processing
6
Graphics Library
5
FFI Bindings
5
GPU Computing
3
GUI
3
Robot Operating System
3
Machine Learning
3
Web3 Framework
3
General Operating System
2
Audio Processing
1
Command Line and Argument Parser
1
Data Structure and Algorithm
1
Web Framework
1
Sub Categories
Game Development
41
File Format Processing
31
Build with Zig
28
Network
28
Utility
28
Graphics Library
24
Data Structure and Algorithm
23
Web Framework
22
Zigged Project
22
Package and Version Manager
22
Operating Systems
21
Embedded Development
18
Text Editors
18
Database
17
Web3 Framework
17
GUI
17
Memory Allocator and Management
15
Large Language Model
13
Command Line and Argument Parser
13
WebAssembly
13
Linker
12
FFI Bindings
12
Date, Time and Timezones
11
Emulators
11
Learning Resources
11
Machine Learning Framework
10
Compilers and Interpreters
10
Image and Video Processing
9
Linear Algebra
7
Asynchronous Runtime
6
Performance Benchmark
6
Logging Processing
6
String Processing
6
Community
6
GPU Computing
6
Encryption
5
Sensor and Communication Interface
5
Linters
4
Documentation and Testing
3
Kernel and Containers
2
Parser Library
2
Audio Processing
2
Machine Learning
2
Finite State Machine
1
Scientific Computation
1
Multithreading
1
Runtime
1
Browser
1
Keywords
zig
292
zig-package
132
ziglang
80
zig-library
37
wasm
17
c
15
gamedev
13
cpp
12
embedded
10
graphics
9
webassembly
9
cpp-library
8
linux
8
gui
8
kernel
7
osdev
7
http
7
argument-parser
6
bindings
6
operating-system
6
math
6
library
6
cplusplus
6
cli
6
parser
6
networking
6
opengl
6
command-line
5
terminal
5
tls
5
cryptography
5
bare-metal
5
arm
5
build
5
nuttx
4
windows
4
api
4
datetime
4
boost-libraries
4
vulkan
4
2d
4
lua
4
cross-platform
4
os
4
web
4
time
4
version-manager
4
sdl2
4
html
4
blockchain
4