A2UI JSON validator guide
Understand accepted input formats, v0.9 envelopes and the difference between schema and semantic checks.
Read the guide →v0.9 structural validator
Paste an A2UI JSON or JSONL stream. Catch invalid envelopes, out-of-order surfaces, duplicate IDs, broken child references, component cycles and bad data paths before your renderer sees them.
Why this validator exists
A2UI is a declarative protocol for sending agent-generated interfaces to a trusted client renderer. The server streams JSON objects instead of executable UI code. That design creates a useful security boundary, but only when messages follow the protocol and the component graph remains coherent.
A single A2UI message can look valid while the complete stream is impossible to render. An updateComponents message may target a surface that was never created. A container may reference a child that never arrives. Two components may form a cycle, or an update may accidentally define the same component ID twice. This validator keeps stream state so it can report those cross-message problems.
v0.9 version discriminator.surfaceId, catalogId and component fields.root node.The checker focuses on protocol structure and stream semantics. A custom component catalog can impose additional component properties, child fields, themes and functions. Validate against that catalog as a separate deployment step.
Workflow
catalogId.Focused references
Understand accepted input formats, v0.9 envelopes and the difference between schema and semantic checks.
Read the guide →Debug unknown surfaces, missing roots, component cycles and progressive child references.
Open the error reference →Copy an annotated create, data and component stream that follows the stable message format.
See the example →FAQ
You can paste a single JSON message, a JSON array of messages, or JSONL with one complete object per non-empty line.
In v0.9 the renderer starts from the component whose ID is root. The official message reference describes this as the root convention.
No. Progressive rendering allows components to reference children that arrive later. This tool waits until the full pasted stream has been processed, then reports references that remain unresolved.
This release targets the stable v0.9 server-to-client format. The v1.0 candidate adds protocol changes such as actionResponse; it should be validated with a version-specific checker.
No. A2UI Stream Lab is an independent developer utility. The rules are based on the public specification and link back to primary documentation.