A2UI is an open-source project, complete with a format optimized for representing updatable agent-generated UIs and an initial set of renderers, that allows agents to generate or populate rich user interfaces.
A gallery of A2UI rendered cards, showing a variety of UI compositions that A2UI can achieve.
Note: A2UI is currently in v0.8 (Public Preview). The specification and implementations are functional but are still evolving. We are opening the project to foster collaboration, gather feedback, and solicit contributions (e.g., on client renderers). Expect changes.
Generative AI excels at creating text and code, but agents can struggle to present rich, interactive interfaces to users, especially when those agents are remote or running across trust boundaries.
A2UI is an open standard and set of libraries that allows agents to "speak UI." Agents send a declarative JSON format describing the intent of the UI. The client application then renders this using its own native component library (Flutter, Angular, Lit, etc.).
This approach ensures that agent-generated UIs are safe like data, but expressive like code.
A2UI was designed to address the specific challenges of interoperable, cross-platform, generative or template-based UI responses from agents.
The project's core philosophies:
Some of the use cases include:
The A2UI flow disconnects the generation of UI from the execution of UI:
A2UI Response, a JSON payload describing the composition
of UI components and their properties.type: 'text-field') to the concrete implementation in the client's codebase.A2UI is designed to be a lightweight format, but it fits into a larger ecosystem:
Pick the path that matches where you want to start:
| Path | What you get | Time |
|---|---|---|
| 🍜 Quickstart Restaurant Finder Demo | Full-stack A2UI running locally with a Gemini powered ADK agent and Lit renderer. Learn A2UI end-to-end and customize to your use case. | ~5 min |
| ⚛️ A2UI + AG-UI (CopilotKit) | Set up CopilotKit with your agent framework of choice, then enable A2UI rendering. Ready to ship A2UI in a React app. | ~5 min |
| 🎨 A2UI Composer · Widget Builder | Generate A2UI JSON from a visual editor and paste it into any agent prompt — no install required. | ~1 min |
| 🎬 A2UI Theater | Step through pre-built A2UI streaming scenarios across Lit, React, and Angular renderers — no install required. | ~1 min |
Prerequisites: Node.js 18+, uv, and a Gemini API key.
git clone https://github.com/google/A2UI.git
cd A2UI
export GEMINI_API_KEY="your_gemini_api_key"
cd samples/client/lit
npm run demo:restaurant
This one command installs dependencies, builds the renderers, starts the Python agent, and opens the client at http://localhost:5173. For step-by-step instructions, alternative demos, and troubleshooting see the full Quickstart.
npx copilotkit@latest init
Set up CopilotKit with your framework of choice (ADK, LangGraph, CrewAI, Mastra, …), then follow the AG-UI guide to enable A2UI rendering. CopilotKit's quickstart covers the initial install for any supported agent framework.
For Flutter, check out the GenUI SDK, which uses A2UI under the hood. See docs/reference/renderers.md for the full list of client implementations.
We hope to work with the community on the following:
A2UI is an Apache 2.0 licensed project. We believe the future of UI is agentic, and we want to work with you to help build it.
See CONTRIBUTING.md for details on how to get started.