{·}jsontools.me
ENGINEERING · JSON-BUF

Parse once: the Rust/WASM document handle

How one retained representation makes a multi-tool JSON workspace feel immediate.

August 25, 2026 · 6 minute read

Disconnected tools waste work

A formatter, tree viewer, schema generator, and analyzer implemented as separate forms commonly parse the same input four times. The cost becomes visible on medium payloads and makes transitions feel like page loads.

Opaque handles keep ownership simple

JavaScript transfers bytes once. Rust owns the parsed value, metadata, duplicate-key report, and structural hash. The worker maps a small integer to that document and frees it when the input changes.

One semantic implementation

The WebAssembly package is a thin binding over json-buf. The future native CLI will call the same Rust functions, so browser and terminal behavior can share fixtures and expected results.