Objective Comparison
ExodeUI vs A2UI
ExodeUI vs A2UI: one is a design tool and runtime for interactive UI, the other an open JSON protocol that lets AI agents describe interfaces. How they differ and when to use each.
Updated October 2026
The Fundamental Architectural Difference
A2UI is an open, declarative JSON protocol created by Google: an AI agent describes an interface and a client renders it with its own components. ExodeUI is a design tool and runtime for interactive UI: you build the component, including motion, state machines and inputs, and the same .exode file plays in the app. They operate at different layers, so A2UI is not a direct replacement for ExodeUI, and ExodeUI is not an A2UI renderer. ExodeUI is not affiliated with Google.
Side-by-Side Matrix
Feature & Capability Breakdown
| Dimension | ExodeUI | A2UI | Advantage |
|---|---|---|---|
| Category | Design tool and runtime for interactive UI | Declarative protocol for agent-described UI | Tie |
| Who authors it | Designers, developers or AI agents in an editor | An AI agent emits JSON messages | Tie |
| What you produce | An open .exode file played by a runtime | A message stream rendered by a client | Tie |
| Components | Built and designed in the tool | Client supplies the catalog and renderer | Tie |
| Motion | Timelines, state machines and spring physics in the file | Left to the client renderer | ExodeUI |
| Logic and input | Visual logic, variables, inputs and events | Not part of the protocol | ExodeUI |
| Cross-platform | React, Vue, Svelte, Angular, Solid, React Native, SwiftUI, Flutter | Renderers listed for Angular, Flutter, Lit, React and Markdown | Tie |
| AI integration | MCP server for AI coding tools | Designed for agent output and streaming | A2UI |
| Security model | You author and review the file the runtime plays | Declarative data, no code execution | A2UI |
| Pricing | Free Community; Professional $29/month | Open specification under Apache 2.0; no licence fee | Tie |
When to Choose A2UI
- An AI agent must describe interfaces at runtime, across a trust boundary, and the client renders them with its own design system.
- You already have a renderer and an approved component catalog that the client controls.
- You need a protocol for streaming UI structure and data, not an authoring tool.
- You want an open specification rather than a product, and your team can build the renderer around it.
When to Choose ExodeUI
- You need to design and ship interactive motion, not only describe structure.
- The component needs real states, physics, inputs and events that the app can drive.
- You want one file that plays across web, mobile and desktop frameworks.
- You want designers and AI coding tools to edit the same component file.
// 1. Google A2UI Declarative Protocol (agent streams UI structure & data over JSON):
{
"type": "create_surface",
"surface_id": "cart_summary",
"components": [
{ "id": "checkout_btn", "type": "button", "label": "Proceed to Pay", "action": "checkout" }
]
}
// 2. ExodeUI Component Schema (defines layout, spring physics & state machines):
import { ExodeUICanvas } from 'exodeui';
// An A2UI client renderer embeds ExodeUI to handle living physics & state machines:
export function A2UIAnimatedSurface({ a2uiAction }) {
return (
<ExodeUICanvas
src="/components/checkout_button.bexode"
inputs={{ processing: a2uiAction === 'submitting' }}
onTrigger={(e) => console.log('ExodeUI event:', e)}
/>
);
}A2UI defines an agent-to-client JSON message protocol; ExodeUI defines the shippable interactive component with spring physics and runtime packages.
Direct Answers
Frequently Asked Questions
Related
Build living software components today.
Design it once and ship the same file to web and mobile — no handoff, no rebuild.