Show HN: Internet Object – a lean, schema-first JSON alternative
internetobject.orgTL;DR: Internet Object (IO) is a lean, schema-first, JSON-compatible format that cuts structural noise, improves clarity for modern systems, and reduces tokens by ~40–50%.
Playground: https://play.internetobject.org
---
I started exploring this idea in 2017 after repeatedly running into the same pain points with JSON while building distributed systems and structured data pipelines. Rather than extending JSON or adding more layers on top of it, I wanted a format that was clean, schema-first, human-friendly, and still compatible, where that compatibility matters.
The concept evolved slowly over the years, with several redesigns, dead ends, and restarts - until it eventually converged into what I now call Internet Object (IO). The story behind this evolution is here:
https://internetobject.org/the-story/
Although IO was not created with LLMs in mind, its structure ends up being significantly more token-efficient (around 40-50% fewer tokens compared to JSON), which has become a practical advantage in today’s workloads.
I've written a practical guide showing how JSON developers can transition to IO, with syntax explanations: https://blog.maniartech.com/from-json-to-internet-object-a-l...
For side-by-side comparisons with JSON, see the following link:
https://www.internetobject.org/io-vs-json/
There is also an interactive playground if you'd like to try the format directly:
https://play.internetobject.org
https://play.internetobject.org/simple-collection
This is a soft launch to gather early feedback - I would appreciate any thoughts from the community.
It looks like a mix of graphql and toon.
Thanks for checking it out!
Internet Object (IO)'s design wasn't influenced by Toon or GraphQL.
The project began back in 2017 with very different goals: reducing repeated keys, introducing a schema-first structure, separating data from metadata, supporting a richer type system, and keeping the format as readable as CSV while still being expressive enough for nested data.
IO is meant to be a lean, schema-driven data serialization format - not a query language (like GraphQL) or a minimal notation (like Toon).
Happy to explain any specific parts if you're curious.