67% Fewer Tokens Than JSON, OpenUI Lets UI Render While Receiving
A streaming language that uses 67% fewer tokens than JSON, OpenUI is now open source. Saving tokens is just the surface; the key is that the renderer can draw while receiving. But models are not yet familiar with this new language.
JSON has ruled model output formats for years. The OpenUI project, open-sourced by the thesysdev team, wants to replace it.
The project focuses on a framework-agnostic full-stack generative UI solution: at its core is a compact streaming language called OpenUI Lang, which official benchmarks claim saves up to 67% tokens compared to JSON. React, Vue, Svelte, and Angular all have official runtimes, and React also comes with a component library and a ready-made chat interface.

Saving tokens is the easiest part to understand, but in developer discussions, more people are eyeing streaming rendering.
Some developers point out that token savings are superficial; the bigger win is partial rendering. With JSON for streaming UI, you either wait for the closing brace to appear or write a fault-tolerant parser that can handle strange escapes. OpenUI Lang is designed for streaming from the start: the renderer draws as much UI as it has tokens for.
Another developer did the math: fewer tokens means saving money twice. Each screen is cheaper, and the model has less to write before drawing the first component, so the first screen appears earlier.
There are also cautious voices. Some netizens remind that models have seen massive amounts of JSON during training, and their familiarity with a new format like OpenUI Lang is far lower. In the short term, model output quality may decline, and they suggest strict validation in applications and good fallback plans for semi-valid output.
This concern is not unfounded. During the painful transition period of format switching, it would be the same for anyone.
OpenUI's workflow is like this: first, generate a system prompt from the component library, feeding the model a list of allowed components; the model streams output in OpenUI Lang format; the renderer parses token by token and progressively renders real UI in the four mainstream frontend frameworks.

Officials provided a set of benchmark data, measured with tiktoken's GPT-5 encoder, covering seven UI scenarios. Simple scenarios are the most dramatic: contact-form uses 67.1% fewer tokens than Vercel's JSON-Render; complex pages like dashboard have a smaller gap, but still around 45%. Across all seven items, OpenUI Lang uses 4800 tokens vs JSON's 10180 tokens, roughly a 4.7-fold discount.
| Scenario | Vercel JSON-Render | OpenUI Lang | Reduction |
|---|---|---|---|
| contact-form | 893 | 294 | -67.1% |
| chart-with-data | 520 | 231 | -55.6% |
| dashboard | 2247 | 1226 | -45.4% |
| pricing-page | 2487 | 1195 | -52.0% |
| Total | 10180 | 4800 | -52.8% |
In the official comparison table, Vercel json-render and Google A2UI consume about 3 times the tokens of OpenUI, and CopilotKit OpenGenUI about 4 times, with the latter also having issues with output consistency.
Starting an OpenUI app is simple:
npx @openuidev/cli@latest create --name genui-chat-app
The scaffold comes with streaming rendering, a built-in component library, and OpenUI Lang support, so you don't have to wire everything from scratch.
The component library determines what the model can generate. Developers can reuse the built-in library or define their own components, using Zod schemas to constrain props. The model can only output registered components, so it's hard to go off track.
By the way, OpenUI has no official token. The project README specifically states that any cryptocurrency using the OpenUI name is unrelated to the project.
Models have read JSON for years; now you're asking them to learn a new language. Short-term output quality may fluctuate, but the token bill has indeed slimmed down. For generative UI, saying less and letting the model think while drawing may be more important than strict structure.
发布时间: 2026-10-26 02:53