# Proto.zig: proto2 package in zig 0.16.0

**URL:** <https://ziggit.dev/t/proto-zig-proto2-package-in-zig-0-16-0/17090>\
**Category:** Showcase\
**Tags:** llm, zig-0-16\
**Created:** [August 5, 2026, 1:34pm UTC](https://ziggit.dev/t/proto-zig-proto2-package-in-zig-0-16-0/17090 "2026-08-05T13:34:08Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![nikhil](https://ziggit.dev/user_avatar/ziggit.dev/nikhil/32/9490_2.png) [@nikhil](https://ziggit.dev/u/nikhil)\
**Post date:** [August 5, 2026, 1:34pm UTC](https://ziggit.dev/t/proto-zig-proto2-package-in-zig-0-16-0/17090/1 "2026-08-05T13:34:08Z")

</div>

# proto.zig

* * *

I really needed proto2 support in zig, so I made a package supporting that.

> **[GitHub - nikhilramolla/proto.zig](https://github.com/nikhilramolla/proto.zig)**
>
> Contribute to nikhilramolla/proto.zig development by creating an account on GitHub.

This even has support for the archaic [groups](https://protobuf.dev/programming-guides/proto2/#groups) feature.

This was mainly an excuse to try out the new io interface 🙂.  
I tried to keep it lean when it comes to codegen. No functions are generated in the types, like it would in zig-protobuf.  
Only encode & decode support has been implemented, no json or streaming support.

### Supported Zig versions

Only supporting 0.16.0 as of now.

### AI / LLM usage disclosure

I used AI to diagnose errors during testing. The code is not AI generated.
