# RX random-access JSON format

11 Hacker News commenters recommended RX random-access JSON format and 13 criticized it, November 2025 to November 2026. It was recommended in 4 of 13 months.

**Verdict:** Developers recommend it as a compact, random-access format for embedded data, with fast key lookups. Critics say it is not a drop-in JSON.parse replacement and the docs need work.

## Why people recommend it

- Works well as embedded read-only data (3 comments): "This format really excels for use cases where large read-only build artifacts are queried by worker nodes like an embedded database." ([source](https://news.ycombinator.com/item?id=47434615)) "rx works very well as a kind of embedded database like sqlite, but completely unstructured like JSON" ([source](https://news.ycombinator.com/item?id=47439299)) "this would work very well for any case where you have embedded databases of unstructured data" ([source](https://news.ycombinator.com/item?id=47443144))
- Fast selective access and key lookups (4 comments): "Low heap allocations when reading values is one of the main driving factors in this design!" ([source](https://news.ycombinator.com/item?id=47439610)) "rx preserves object key order, but still implements O(log2 N) lookups for object keys." ([source](https://news.ycombinator.com/item?id=47443305)) "That's the part where something like RX with selective access actually matters." ([source](https://news.ycombinator.com/item?id=47435532))
- Works as a standalone format (2 comments): "when I realized it's actually a good standalone format" ([source](https://news.ycombinator.com/item?id=47439525)) "it was actually a pretty good standalone format" ([source](https://news.ycombinator.com/item?id=47443325))
- Built-in queries and JSON support (2 comments): "It has jq like queries built in and supports inputs with either rx or json." ([source](https://news.ycombinator.com/item?id=47434626)) "RX can represent any value JSON can represent." ([source](https://news.ycombinator.com/item?id=47444765))

## What people warn about

- Hard to read by hand (3 comments): "That kind of feels a bit worst of both worlds. None of the space savings/efficiency of binary but also no human readability." ([source](https://news.ycombinator.com/item?id=47434950)) "And to consider that anyone else would fill their brain with the rules to decipher that" ([source](https://news.ycombinator.com/item?id=47447476)) "Came to the same conclusion the moment I had to hunt to see the outputs" ([source](https://news.ycombinator.com/item?id=47436863))
- Docs unclear or incomplete (3 comments): "The documentation reference a “decode” function, and it’s imported to the example code, but it’s never called." ([source](https://news.ycombinator.com/item?id=47440924)) "It doesn't seem the actual serialization format is specified?" ([source](https://news.ycombinator.com/item?id=47436168)) "it might be a matter of cleaning up the docs a bit" ([source](https://news.ycombinator.com/item?id=47443288))

## Alternatives hackers recommend

- [Protocol Buffers (protobuf)](https://hackerapproved.com/p/protocol-buffers.md): 77 recommend
- [Serde](https://hackerapproved.com/p/serde.md): 22 recommend
- [Cap'n Proto](https://hackerapproved.com/p/cap-n-proto.md): 20 recommend
- [Protobuf](https://hackerapproved.com/p/protobuf.md): 19 recommend
- [FlatBuffers](https://hackerapproved.com/p/flatbuffers.md): 16 recommend

## Cite as

Hacker Approved, "RX random-access JSON format", https://hackerapproved.com/p/rx/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
