Version 0.1, free and open source

Describe a binary format once

EByte reads a file into JSON you can edit, writes it back byte for byte, and tells you which field and which byte broke when a file doesn't match. One schema does all three. It's a Go library and a single command-line tool.

16 MiB

Largest file decoded to JSON and written back with every byte the same

1 schema

Used for reading, writing and tracing a format, so the three can't drift apart

0 modules

Outside the Go standard library. No generated code to keep in sync

Apache 2.0

License for all of the code

From the recorded test run on Linux amd64 with Go 1.27.3, one sample per case. The test logs are on GitHub.

Guides and notes

the name

EByte and the Story of the Byte Behind the Name

EByte is a tool that cares about bytes, every one of them, so the name starts there. The word itself is younger than most people guess, and its odd spelling was on …

Questions or ideas?

If EByte nearly fits a format you work with, or you'd like it to handle something it doesn't yet, write in.

Contact