Kiwi Message Format

Kiwi is a schema-based binary format for efficiently encoding trees of data. It's inspired by Google's Protocol Buffer format but is simpler, has a more compact encoding, and has better support for optional fields.

Goals:

Non-goals:

Native Types

User Types

Example Schema

```proto enum Type { FLAT = 0; ROUND = 1; POINTED = 2; }

struct Color { byte red; byte green; byte blue; byte alpha; }

message Example { uint clientID = 1; Type type = 2; Color[] colors = 3; } ```

Live Demo

See http://evanw.github.io/kiwi/ for a live demo of the schema compiler.

Usage Examples

Pick a language: