📜Zig Learning & Usage Guide.
Zig is a general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
Thanks to all the project authors and others who made this project possible.
Note🗒️An project may also be a development tool, application, library or other category, but it will only appear once in this guide.
🔥 Will be added in front of applications or libraries with more than 500 Star
- Zig Official Website
- Zig Github Page
- Zig News
- Zig Community List
- Learning Zig
- Zig Monthly
- Zig Showtime
- Zig.Run
- Zig Playground
- Andrew Kelley's (founder of zig) Personal Blog
- Loris Cro's Personal Blog
-
- intellij-zig🗒️The IntelliJ IDEA plugin for the Zig programming language
- kde-syntax-highlighting🗒️kde xml file for zig syntax highlighting
- sublime-zig-language🗒️Zig language support for Sublime Text
- vscode-zig🗒️Zig language support for VSCode
- zig-mode🗒️Zig mode for Emacs
- zig.vim🗒️Vim configuration for Zig
-
- aquila🗒️📫 A federated package index and CI system for Zig projects.
- futureproof🗒️A live editor for fragment shaders, powered by Neovim, WebGPU, and Zig!
- jaz🗒️A JVM implementation in Zig!
- repository🗒️A community-maintained repository of zig packages
- setup-zig🗒️use a @ziglang compiler in your github actions workflows
- svd2zig🗒️Convert System View Description (svd) files to Zig headers for baremetal development
- tree-sitter-zig🗒️Tree Sitter for Zig
- xmake🗒️🔥 A cross-platform build utility based on Lua
- zig-autolua🗒️Lua binding creator for zig
- zig-diff🗒️Text diffing in zig
- zig-doctest🗒️A tool for testing snippets of code, useful for websites and books that talk about Zig.
- zigfmt-web🗒️zig fmt on the web
- zig-header-gen🗒️Automatically generate headers/bindings for other languages from Zig code
- zig-pypi🗒️The Zig programming language, packaged for PyPI
- zig-snapshots🗒️Preview Zig's incremental linker state in interactive HTML
- zigup🗒️Download and manage zig compilers.
- zld🗒️Zig's lld drop-in replacement
- zls🗒️Zig LSP implementation + Zig Language Server
-
- calctax🗒️Simple tax calculator for employees in Poland after Nowy Lad changes in 2022
- crisp🗒️A Minimal Lispy Calculator
- outfieldr🗒️A TLDR client in Zig.
- pbui-main🗒️The main repository for the PBUI project
- sudokuinzig🗒️Sudoku solver in zig
- zig-inquirer🗒️A collection of utilities for prompting information from the user on the CLI
- zigish🗒️A toy Unix shell written in Zig
-
- arocc🗒️A C compiler written in Zig.
- base32🗒️base32 encoding/decoding for ziglang
- bog🗒️Small, strongly typed, embeddable language.
- brainfuck-zig🗒️Brainfuck interpreter written in zig
- cmdlinezig🗒️A simple command line parser
- hzzp 🗒️A I/O agnostic HTTP/1.1 parser and encoder for Zig.
- ini🗒️A teeny tiny ini parser
- jng2-decrypt🗒️Small program for decrypting the Jets'n'Guns 2 game files
- koino🗒️CommonMark + GFM compatible Markdown parser and renderer
- libpcre.zig🗒️Zig bindings to libpcre
- liz🗒️Lisp-flavored general-purpose programming language (based on Zig)
- LoLa🗒️LoLa is a small programming language meant to be embedded into games.
- luf🗒️Statically typed, embeddable, scripting language written in Zig.
- protozig🗒️The protozig(uana), or protocol buffers implementation in Zig
- rem🗒️An HTML parsing library, written in Zig.
- rotate-zig🗒️a programming language written in zig
- tres🗒️ValueTree-based JSON parser
- zacho🗒️Zig's Mach-O parser
- zcheme🗒️WIP implementation of R7RS Scheme
- zelf🗒️Zig's ELF parser utility
- zexpr🗒️Zig S-expression library
- zig-clap🗒️Simple command line argument parsing library
- zig-cli🗒️A simple package for building command line apps in Zig
- zigmkv🗒️wip Matroska/webm (mkv) parser in Zig
- zig-parse-args🗒️Parse command line arguments.
- zig-parse-number🗒️Implement ParseNumber which can parse any TypeId.Int or TypeId.Float.
- zig-regex🗒️A regex implementation for the zig programming language
- zig-ryu🗒️Zig port of https://github.com/ulfjack/ryu
- zig-toml🗒️A TOML parser written in Zig
- zig-toml🗒️An LL TOML parser that parses into Zig structs
- zig-json5🗒️A JSON5 Parser/Stringifier written in Zig
- ziguid🗒️GUID parsing/stringifying with zig
- zig-yaml🗒️YAML parser for Zig
- ztoml🗒️TOMLv1.0.0 parser
- zuri🗒️URI parser for Zig
-
- redis-cuckoofilter🗒️Hashing-function agnostic Cuckoo filters for Redis
- sqlite-zig SQLite bindings
- tigerbeetle🗒️A distributed financial accounting database designed for mission critical safety and performance to power the future of financial services.
- zig-cassandra🗒️Cassandra CQL client
- zig-okredis🗒️Zero-allocation Client for Redis 6+
- zig-sqlite🗒️zig-sqlite is a small wrapper around sqlite's C API, making it easier to use with Zig.
-
- embedded_zig🗒️minimal Zig embedded ARM example (STM32F103 blue pill)
- uefi-paint🗒️UEFI-bootable touch paint app
- zig-armv8m-test🗒️Minimal Zig-based app for Armv8-M + TrustZone
- zig-bare-metal-microbit🗒️Bare metal microbit program written in zig
- Ziguana-Game-System🗒️A retro-style gaming console running on bare x86 metal written in Zig
-
- blink🗒️A game about building logic with lasers
- clashos🗒️multiplayer arcade game for bare metal Raspberry Pi 3 B+
- curses-minesweeper🗒️Minesweeper game written in curses with zig
- fundude🗒️Gameboy emulator:Zig -> wasm
- gamejam-zig-vulkan🗒️A game written in ~1 day using zig and vulkan
- hello-triangle🗒️Opens a window and draws a nice little triangle
- legend-of-swarkland🗒️Hack-n-slash roguelike inspired by NetHack
- kisa🗒️Text editor of the new world
- minesweeper-zig🗒️Simple Minesweeper clone written in Zig, using SDL for graphics.
- MiniPixel🗒️Tiny pixel art editor
- mogwai🗒️Graphic utility used to manipulate objects in 3D for scene editing (commonly called Gizmo).
- pacman.zig🗒️Simple Pacman clone written in Zig.
- rayray🗒️A tiny GPU raytracer, using Zig and WebGPU
- 🔥river🗒️A dynamic tiling Wayland compositor
- snake-zig 🗒️A simple snake game written in the Zig programming language using OpenGL 2.
- SoftRenderLib🗒️A collection of software rendering routines
- tetris🗒️A simple tetris clone written in zig programming language.
- underburrow🗒️A small platformer example for Slingworks & Zig
- weekend-raytracer-zig🗒️A Zig implementation of the "Ray Tracing in One Weekend" book
- zalgebra🗒️Linear algebra library for games and real-time graphics.
- zig-gorillas🗒️A clone of the classic QBasic Gorillas written in the Zig programming language
- Zig-Oculus-Quest🗒️An example application for the Oculus Quest, written in Zig
- ZigPaint🗒️A simple paint application written in Zig. Used to create an OpenGL loader/wrapper and a minimal UI system.
- zig-raylib-experiments🗒️Some classic game implementations in Zig using raylib
- zig-raytrace🗒️simple raytracer in zig
- Zig-Showdown🗒️A community effort to create a small multiplayer 3D shooter game in pure zig
- zig-vulkan-triangle🗒️simple triangle displayed using vulkan, glfw, and zig
- zig-wasm-snake🗒️Classic snake game written in Zig, compiled to WASM.
- zootdeck🗒️Fediverse GTK Desktop Reader
- zstack🗒️Line-race tetris mode in Zig
-
- daintree🗒️ARMv8-A/RISC-V kernel (with UEFI bootloader)
- georgios🗒️Hobby Operating System
- HellOS🗒️"hello world" x86 kernel example
- Hidamari🗒️Modern operating system aimed at running WebAssembly code.
- kernel-zig🗒️hobby x86 kernel zig
- Lukarnel🗒️A microkernel in zig with rust microservices
- microzig🗒️Unified abstraction layer and HAL for several microcontrollers
- pluto🗒️An x86 kernel written in Zig
- tizr80🗒️TiZr80, a TI-84+ CE/TI-83 Premium CE calculator emulator core
- trOS🗒️tiny aarch64 baremetal OS thingy
- uefi-examples🗒️UEFI examples in Zig
- ZBZZ.OS🗒️An operating system built with RISCV and Zig
- zen🗒️Experimental operating system written in Zig
- zig-bare-metal-microbit🗒️Bare metal microbit program written in zig
- zig-bare-metal-raspberry-pi🗒️Bare metal raspberry pi program written in zig
- zig-x86_64🗒️Support for x86_64 specific instructions (e.g. TLB flush), registers (e.g. control registers), and structures (e.g. page tables)
-
- astrolabe🗒️backend for https://astrolabe.pm
- hello🗒️Multi-threaded cross-platform HTTP/1.1 web server example in Zig.
- lua-in-the-browser🗒️using zig to build lua for webassembly
- positron🗒️A web renderer frontend for zig applications
- zig-wasm-dom🗒️Zig + WebAssembly + JS + DOM
- zig-wasm-test🗒️A minimal Web Assembly example using Zig's build system.
- zss🗒️zss is a CSS layout engine and renderer.
- zwld🗒️Experimental wasm linker
-
- 🔥bun🗒️Incredibly fast JavaScript runtime, bundler, transpiler and package manager – all in one.
- computils🗒️Zig utilities for all your comptime needs.
- cosmic🗒️A general purpose runtime for Javascript/WASM.
- geteltorito-zig🗒️ geteltorito re-write in Zig
- hexdump-zip🗒️produce an annotated hexdump of a zipfile
- iguanaTLS🗒️Minimal, experimental TLS 1.2 implementation in Zig
- iotmonitor🗒️Monitor and State server for iot mqtt devices, and software agents. This daemon permit to maintain the execution of constellations of mqtt devices and associated agents
- pacman.zig🗒️Simple Pacman clone written in Zig.
- wayfarer🗒️Experiments involving a Zig Wayland compositor.
- Zag-Smalltalk🗒️Smalltalk VM Written in Zig with methods stored as type-annotated ASTs
- ZigAndroidTemplate🗒️This repository contains a example on how to create a minimal Android app in Zig.
- zig-ios-example🗒️Minimal build.zig for targeting iOS
- zig-minisign🗒️Minisign reimplemented in Zig.
- zig-nodejs-example🗒️Node.js Native Module written in Zig
- zig-protobuf🗒️a protobuf 3 implementation for zig.
- zig-snappy🗒️Snappy compression for Zig
-
- mecha🗒️A parser combinator library for Zig
- xm🗒️Tokenize XML
- zdwg🗒️Read, manipulate, write AutoCad DWG files in zig
- zig-args🗒️Simple-to-use argument parser with struct-based config
- zig-charm🗒️A Zig version of the Charm crypto library.
- zig-clap🗒️Simple command line argument parsing library
- zig-libxml2🗒️libxml2 built using Zig build system
- zig-wayland🗒️Zig wayland scanner and libwayland bindings
- zjson🗒️Minimal json library with zero allocations
-
- Alka🗒️Simple, fast, easy to get started mid-level game engine written in Zig
- capy🗒️Cross-platform library for making true native GUIs in Zig
- cupcake🗒️an app framework for making small and delicious games! (very wip)
- didot🗒️Zig 3D game engine.
- IUPforZig🗒️Zig idiomatic and type-checked bindings for IUP Portable User Interface Toolkit
- 🔥mach🗒️Mach is a game engine & graphics toolkit for the future.
- mach-glfw🗒️Ziggified GLFW bindings with 100% API coverage, zero-fuss installation, cross compilation, and more.
- metronome🗒️A set of tools for modifying and randomizing Pokémon games
- notcurses-zig-example🗒️Demo showing how to use Notcurses library for building terminal UIs with Zig
- painterz🗒️Low-level implementation of different painting primitives (lines, rectangles, ...) without specialization on a certain draw target
- qml_zig🗒️QML bindings for the Zig programming language
- raylib-zig🗒️Manually tweaked, auto generated raylib bindings for zig. https://github.com/raysan5/raylib
- SDL.zig🗒️A shallow wrapper around SDL that provides object API and error handling
- seizer🗒️Cross platform Zig library for obtaining a rendering context and loading assets
- slingworks🗒️Small to Medium scale 2d Game Engine for Zig
- tm35-nds🗒️A library for working with Nintendo DS roms
- VecFns🗒️Automatic Vector Math Functions In Zig
- vulkan-zig🗒️Vulkan binding generator for Zig
- 🔥wasm4🗒️Build retro games using WebAssembly for a fantasy console.
- zalgebra🗒️Linear algebra library for games and real-time graphics.
- zero-graphics🗒️Application framework based on OpenGL ES 2.0. Runs on desktop machines, Android phones and the web
- zgl🗒️Zig OpenGL Wrapper
- zglfw🗒️A thin, idiomatic wrapper for GLFW. Written in Zig, for Zig!
- zig-gamedev-lib🗒️xq's Zig Game Development Library
- 🔥zig-gamedev🗒️Building game development ecosystem for @ziglang!
- Zig-Game-Engine
- zig-gamekit🗒️Companion repo for zig-renderkit for making 2D games
- ZigGBA🗒️Work in progress SDK for creating Game Boy Advance games using Zig programming language.
- Zig-Gltf-Display🗒️A program that displays glTF files using Vulkan, written in Zig.
- Zig-PSP🗒️A project to bring the Zig Programming Language to the Sony PlayStation Portable!
- zig-renderkit🗒️ Cross platform Zig graphics backends with a 2D focus
- zig-sdl🗒️self-contained SDL2 package for Zig
- zig-sfml-wrapper🗒️A zig wrapper for csfml
- zig-tracy🗒️Zig bindings for the Tracy profiler.
- zig-window🗒️window client library
- zig-wlroots🗒️Zig bindings for wlroots
- zlm🗒️Zig linear mathemathics
- zplay🗒️A simple framework intended for game/tool creation.
- ZT🗒️A zig based Imgui Application framework
- zwin🗒️Making windows with Zig! (Only works on Windows at the moment)
- ZWL🗒️Zig Windowing Library
-
- ansi-term🗒️Zig library for dealing with ANSI terminals
- dos.zig🗒️Create DOS programs with Zig
- known-folders🗒️Provides access to well-known folders across several operating systems
- linenoize🗒️A port of linenoise to zig
- lscolors🗒️A zig library for colorizing paths according to LS_COLORS
- mibu🗒️Pure Zig library for low-level terminal manipulation.
- nfd-zig🗒️OS-native file dialogs on Linux, macOS and Windows
- zig-serial🗒️Serial port configuration library for Zig
- x86-zig🗒️library for assembling x86 in zig (WIP)
- zigwin32🗒️Autogenerated Zig bindings for Win32
- zig-windows-console🗒️Zig Windows Console stuff
- zinput🗒️A Zig command-line input library!
-
-
- ArrayVec🗒️An array with a vector feeling in Zig
- art.zig🗒️An Adaptive Radix Tree ported from c
- ctregex.zig🗒️Compile time regular expressions in zig
- comptime_hash_map🗒️A statically initiated HashMap
- deque.zig🗒️a lock free chase-lev deque for zig
- fastfilter🗒️fastfilter:Binary fuse & xor filters for Zig (faster and smaller than bloom filters)
- funzig🗒️Fun functional functionality for Zig!
- ish🗒️Sketches for Zig
- it/redis-cuckoofilter🗒️Hashing-function agnostic Cuckoo filters for Redis
- Lazy-Zig🗒️Linq in Zig
- LZig4🗒️Implementing lz4 in zig.
- minz🗒️Minimal string compression
- string-searching🗒️String(not limited to [] const u8)-searching algorithms in zig
- zig-containers🗒️A container library for Zig.
- zig-cuckoofilter🗒️Production-ready Cuckoo Filters for any C ABI compatible target.
- zig-graph🗒️Directed graph data structure for Zig
- zig-prometheus🗒️Prometheus/VictoriaMetrics client library for Zig
- zig-sparse-set🗒️Sparse sets for zig, supporting both SOA and AOS style
- zigstr🗒️Zigstr is a UTF-8 string type for Zig programs.
- zig-string🗒️A String Library made in Zig
- zigtimsort🗒️TimSort implementation for Zig
- ziter🗒️Best iterator library for Zig (fight me!)
- znum🗒️Simple numeric tower implemented on Zig standard types
- zort🗒️Implementation of 9 sorting algorithms in Zig
- zzz🗒️Simple and boring human readable data format for Zig.
-
- adma🗒️A general purpose, multithreaded capable slab allocator for Zig
- Seal🗒️An allocator that wraps another allocator and detects if memory is leaked after usage
- zee_alloc🗒️tiny Zig allocator primarily targeting WebAssembly
- ziegfried🗒️A general-purpose memory allocator for Zig
- zig-gc🗒️A super simple mark-and-sweep garbage collector written in Zig.
- zig-libgc🗒️Zig-friendly library for interfacing with libgc (bdwgc) -- the Boehm-Demers-Weiser conservative garbage collector
- zig-rcsp🗒️Reference-counted Shared Pointer for Zig
-
- Comptime Templates
- getty🗒️Serialization framework for Zig
- interface.zig🗒️Dynamic dispatch for zig made easy
- log.zig🗒️a thread-safe logging library for zig.
- PeerType🗒️Zig peer type resolution at comptime, ported from the compiler source code
- sokol🗒️minimal cross-platform standalone C headers
- sokol-zig🗒️Zig bindings for the sokol headers (https://github.com/floooh/sokol)
- trace.zig🗒️A small and simple tracing client library for Zig.
- zap🗒️An asynchronous runtime with a focus on performance and resource efficiency.
- zig-datetime🗒️A date and time module for Zig
- zig-extras🗒️An assortment of random utility functions that aren't in std and don't deserve their own pacakge.
- zig-generator🗒️Async generator type for Zig
- zig-leven🗒️Measure the difference between two slices using the Levenshtein distance algorithm
- ziglyph🗒️Unicode text processing for the Zig programming language.
- zig-range🗒️A range function to loop over an index without an extra variable.
- zig-regex🗒️A regex implementation for the zig programming language
- zig-time🗒️A date and time parsing and formatting library for Zig.
- zig-ulid🗒️A binary implementation of ULID in Zig.
- zig-zorm🗒️An ORM-ish library for Zig.
- zoltan🗒️A Sol-inspired minimalist Lua binding for Zig.
-
-
- apple_pie🗒️Basic HTTP server implementation in Zig
- foxwren🗒️A WebAssembly runtime in zig
- h11🗒️I/O agnostic HTTP/1.1 implementation for Zig
- htmlentities.zig🗒️HTML entity data for Zig
- http🗒️HTTP core types for Zig 🦴
- ip.zig🗒️A Zig library for working with IP Addresses
- positron🗒️A web renderer frontend for zig applications
- rem🗒️An HTML parsing library, written in Zig.
- routez🗒️Http server for Zig
- snow🗒️A small, fast, cross-platform, async Zig networking framework built on top of lithdew/pike.
- wasmer-zig🗒️Zig bindings for the Wasmer WebAssembly runtime
- wasmtime-zig🗒️Zig embedding of Wasmtime
- wasm-zig🗒️Common Wasm runtime binding to C API
- wazm🗒️Web Assembly Zig Machine
- wz🗒️An I/O agnostic WebSocket 1.3 library for Zig.
- zCOM🗒️A composable network protocol stack for embedded and desktop.
- zhp🗒️A Http server written in Zig
- zigdig🗒️naive dns client library in zig
- zigly🗒️The easiest way to write services for Fastly's Compute@Edge in Zig.
- zig-network🗒️A smallest-common-subset of socket functions for crossplatform networking, TCP & UDP
- zig-oauth2🗒️HTTP handler functions to allow you to easily add OAuth2 login support to your Zig application
- zig-v8🗒️Simple V8 builds with C and Zig bindings.
-
- libflightplan🗒️A library for reading and writing flight plans in various formats. Available as both a C and Zig library.
- zig-bench🗒️Simple benchmarking library
- zig-libcurl🗒️compile libcurl in your build.zig
- zig-lv2🗒️Zig-intuitive bindings for LV2.
- zig-pek🗒️A comptime HTML preprocessor with a builtin template engine for Zig.
- zig-zlib🗒️compile zlib in your build.zig
Content that has appeared in Related Web Sites will not appear here again
-
- Learning the Zig programming language with help from its creator and core team - YouTube
- learnopengl🗒️https://learnopengl.com tutorials ported to zig
- libc-to-zig🗒️Comparison between libc functions and their best fitting zig alternatives
- zig-by-example.github.io🗒️learn Zig, by example
- zig.internals🗒️An Unofficial Writeup on Zig Compiler Internals
- Zig Language Reference
- ziglearn🗒️Repo for https://ziglearn.org content. Get up to speed with Zig quickly.
- ziglings🗒️Learn the Zig programming language by fixing tiny broken programs.
- Zig Standard Library Documentation