Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Collection of blog posts about the Zig programming language

Zig blog posts

This is intended as a place to list blog posts about Zig, for anyone who's interested in reading what people have to say! Also check out links at and

Posts were found by searching on, at and

Please let me know in a comment if there are any posts missing that you'd like me to add here!



Implementing a file pager in Zig (ayende)


Forking is Cool, or: A Unix Shell in Zig (ratfactor)
How I Use SDL2 in Zig - a Brief Overview (TommiSinivuo)
Writing A Brain**** Compiler (g-w1)
Zig Makes Rust Cross-compilation Just Work ()
Learning About ELF With Zig (g-w1)
Learn Zig by building a Ray Tracer, Chapter 1: Tuples (KilianVounckx)
First steps with Zig (msfjarvis)
The problem with pointers (ehaas)
Zig Metaprogramming (ikrima)
Basic Syntax (ikrima)
Testing memory allocation failures with Zig (ehaas)
Bio: All your parentheses are belong to us (cryptocode)
Some notes on using Zig with Valgrind (cryptocode)
Preventing integer overflow in Zig (ehaas)
Zig NestedText Library (LewisGaul)
An intro to Zig's integer casting for C programmers (ehaas)
Zig + STM32F4Discovery = Blink (rbino)


Zig Tutorial #5 — Type Conversion (rguiscard)
How safe is zig? (jamii)
Zig Tutorial #4 — sort (rguiscard)
A “Better C” Benchmark (zserge)
Why you should learn Zig (xpyxel)
Setup Zig for Gamedev (fabioarnold)
Zig, Parser Combinators - and Why They're Awesome (hexops)
Zig Tutorial #3 (rguiscard)
Zig Tutorial #2 (rguiscard)
Zig Tutorial #1 (rguiscard)
Memory-mapped IO registers in zig (jamii)
Why I rewrote my Rust keyboard firmware in Zig: consistency, mastery, and fun (lynaghk)
First Contribution To Zig (LewisGaul)
Rust, Zig, and the Futility of "Replacing" C (Gavin Howard)
Have you ever tried Zig ? (pmalhaire)
Weaning Zig off of git submodules 1: Intro (mattnite)
A surprisingly capable RPN calculator in about 100 lines of Zig code (cryptocode)
The First Zig Website Redesign (kristoff)
Async CPU bound workers in Zig (cryptocode)
Zig wrinkles (cryptocode)
Running Zig binaries on a KaiOS device (cryptocode)
Zig Makes Go Cross Compilation Just Work (kristoff)
Trying out Zig - Zigominoes (LewisGaul)



ZzForth (nsmryan)
Software Reliability C++ vs Zig (ordovician)
Gotchas when Doing Zig Programming (v0.7) (ordovician)
C++ vs Zig Template Based Programming (ordovician)
Is Zig the Long Awaited C Replacement? (ordovician)
Understanding the Zig Programming Language (ordovician)
Assorted thoughts on zig (and rust) (jamii)
Zig heading toward a self-hosting compiler (Jake Edge)
Zig Type Checked State Transitions (nsmryan)
Cloc Supports Zig Now (nsmryan)
A Copy Trait in Zig (nsmryan)
MsgPack in Zig (nsmryan)


Zig's New Relationship with LLVM (kristoff & andrewrk)
Zig Ray Tracing In A Weekend (gweej)
Automatic Language Bindings (floooh)
Validating strings at compile time in Zig (euantorano)
Zig CCSDS Primary Header (nsmryan)
Zigtastic Async (gweej)
Debugging Zig with VS Code (watzon)


What is Zig's “Colorblind” Async/Await? (kristoff)
A Brief Exploration of Zig (gsquire)
How to get code coverage using zig and kcov (codelv)
Open multiple dispatch in zig (jamii)


Trying Zig with C web servers (dermetfan)
Learning Zig - first hour... (MrOneTwo)
Cool, new language for 2020 (MrOneTwo)
zig cc: a Powerful Drop-In Replacement for GCC/Clang (andrewrk)


Automated Testing for Zig projects with Circle CI (euantorano)
call Zig from Python (tonetheman)
What is Zig's Comptime? (kristoff)
Writing a small ray tracer in Rust and Zig (Nelarius)
A Reply to The Road to Zig 1.0 (gingerBill)
How to Write a Redis Module in Zig (kristoff)


Using Zig to Provide Stack Traces on Kernel Panic for a Bare Bones Operating System (andrewrk)
String Matching based on Compile Time Perfect Hashing in Zig (andrewrk)
I Quit My Cushy Job at OkCupid to Live on Donations to Zig (andrewrk)
Zig: January 2018 in Review (andrewrk)
Unsafe Zig is Safer Than Unsafe Rust (andrewrk)
Zig: December 2017 in Review (andrewrk)
Big Integers in Zig (tiehuis)


A Better Way to Implement Bit Fields (andrewrk)
Zig: Already More Knowable Than C (andrewrk)
Zig Programming Language Blurs the Line Between Compile-Time and Run-Time (andrewrk)
Troubleshooting a Zig Regression with apitrace (andrewrk)


Introduction to the Zig Programming Language (andrewrk)

Other Resources

A half-hour to learn Zig (ityonemo)
Zig SHOWTIME Youtube channel

Copy link

thomastanck commented Mar 26, 2021

Saw this on Reddit:
Published 18 Mar 2021

Copy link

LewisGaul commented Mar 26, 2021

Saw this on Reddit:
Published 18 Mar 2021

@thomastanck Thanks, added :)

Copy link

rofrol commented May 26, 2021

Some more articles:

Copy link

LewisGaul commented May 26, 2021

@rofrol Wow that's a long list of posts I'd missed, I'll go through and add them when I've got time - thanks!

Copy link

LewisGaul commented May 28, 2021

Added, thanks (you might as well have started your own list ;) happy to keep updating as you find more though).

Copy link

rofrol commented May 28, 2021

I would rather move it to community pages. Like awesome-list but have no time :) Look here or just

Copy link

g-w1 commented Jun 10, 2021

Copy link

LewisGaul commented Jun 10, 2021

@g-w1 Nice, thanks - added!

Copy link

Luukdegram commented Jul 16, 2021

Copy link

NightMachinery commented Oct 18, 2021

I second moving this to an actual repo, awesome-zig-articles.

Copy link

LewisGaul commented Dec 23, 2021

I'm happy for this list to be moved, I haven't been updating it recently (as I'm sure is obvious). I guess the advantage of a repo is just that anyone can open PRs? Would it make more sense to just have it as a page on the Zig wiki under (where this gist is currently linked) so that anyone can edit directly?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment