News for hackers. Stuff that matters.

Show HN: Fbsviewer – FlatBuffers binary viewer. Pure Rust compiler in WASM

https://fbsviewer.shuozeli.com

I built fbsviewer, an interactive tool to help understand how FlatBuffers binaries are encoded.

FlatBuffers is designed for performance and zero-copy access, but that also makes the raw binary format hard to reason about. When debugging serialization issues or learning the format, I often found it difficult to connect the schema, decoded data, and the underlying bytes.

This tool lets you paste a .fbs schema and some hex-encoded FlatBuffers data and see how the bytes map to tables, fields, vectors, strings, and vtables. The hex view and structure view are linked so you can move between the raw bytes and the logical structure.

A few things it includes:

- Color-coded hex view showing how bytes map to FlatBuffers structures

- Interactive structure tree linked to byte ranges

- Decoded JSON view generated from the schema

- FlatBuffers schema compiler running in WebAssembly, so everything runs fully in the browser

I originally built it to debug serialization issues, but it also turned out to be a useful way to understand how FlatBuffers encoding works internally.

You can try it here: https://fbsviewer.shuozeli.com

Repo: https://github.com/Shuozeli/fbsviewer-lib

Feedback and suggestions are very welcome.

( 2 comments | 4 points | on HN )
Re:Show HN: Fbsviewer – FlatBuffers binary viewer. Pure Rust... by thebuilderjr on Friday March 06, 2026 @12:19PM (#47278006)
Tried the Monster example and the way the schema, structure tree, and hex pane stay in sync makes FlatBuffers much easier to reason about than staring at raw bytes alone.

One feature request that would make this even more useful for debugging: a shareable permalink or export bundle for a specific schema + buffer pair. Being able to drop a URL into an issue or PR with the exact repro already loaded would make this great for chasing serialization regressions.

Re:Show HN: Fbsviewer – FlatBuffers binary viewer. Pure Rust... by SuzyLi on Friday March 06, 2026 @01:56PM (#47279425)
Thanks for trying it out! Glad the synced views helped.

A shareable permalink is a great idea. Since the tool currently runs entirely client-side with no backend, the likely approach would be encoding the schema and binary directly into the URL (probably compressed + base64). I’ll experiment with this since it would make sharing repro cases in issues or PRs much easier.