Agent-to-User Interface

A2UI

A2UI is an open-source project with a format optimized for representing updatable agent-generated UIs and an initial set of renderers. It enables agents to generate or populate rich user interfaces.

Open standard Framework-agnostic Security first
A2UI Gallery of components
Status: Early stage public preview. A2UI is functional but still evolving. The current production release is v0.9.1, and the v1.0 specification is a release candidate.

Summary

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.

This approach ensures that agent-generated UIs are safe like data, but expressive like code.

Core strengths

  • Security first
  • LLM-friendly and incrementally updatable
  • Framework-agnostic and portable
  • Flexible custom registry and wrappers

High-level philosophy

A2UI was designed to address the challenges of interoperable, cross-platform, generative or template-based UI responses from agents.

Security first

  • Declarative data format instead of executable code.
  • Client keeps a trusted catalog of approved components.
  • Agents can only request trusted UI primitives.

LLM-friendly

  • Flat list of components with ID references.
  • Easy to update incrementally as chat state changes.
  • Progressive and responsive rendering.

Framework-agnostic

  • Same JSON payload can render across web, Flutter, and more.
  • Client maps abstract UI to native widgets.
  • Works across different host frameworks.

Use cases

Dynamic Data Collection

Agents generate bespoke forms and workflows based on the current conversation, such as specialized reservations or requests.

Remote Sub-Agents

An orchestrator can delegate a task to a specialized agent and render its returned UI payload directly inside the main experience.

Adaptive Workflows

Enterprise agents generate approval dashboards, visualizations, and task flows dynamically based on user intent.

Architecture

1

Generation

An agent generates an A2UI JSON payload describing the composition of components and properties.

2

Transport

The payload is sent to the client application via A2A, AG-UI, or another transport.

3

Resolution

The client’s A2UI renderer parses the message and resolves component intent.

4

Rendering

The renderer maps abstract components to the concrete implementation in the application codebase.

Dependencies

A2UI is designed to be lightweight, but it fits into a larger ecosystem:

  • Transports: A2A Protocol and AG-UI
  • LLMs: Any model capable of generating structured JSON output
  • Host Frameworks: Web or Flutter, with more renderers emerging over time

Getting started

Restaurant Finder Demo

Full-stack A2UI running locally with a Gemini-powered ADK agent and Lit renderer.

Open quickstart →

Use A2UI with any agent framework

Scaffold an AG-UI app or harness and enable A2UI rendering for your framework of choice.

Read guide →

A2UI Composer

Generate A2UI JSON from a visual editor and paste it into any agent prompt.

Launch composer →

A2UI Theater

Step through pre-built A2UI streaming scenarios for Lit, React, and Angular renderers.

Open theater →

Quickstart Example

git clone https://github.com/a2ui-project/a2ui.git
cd a2ui
export GEMINI_API_KEY="your_gemini_api_key"
corepack enable
yarn install
cd samples/client/lit
yarn demo:restaurant

Roadmap

Spec stabilization

  • Moving toward a v1.0 specification.
  • Improving long-term compatibility and clarity.

More renderers

  • Official support for React, Jetpack Compose, SwiftUI, and more.

Additional transports

  • Support for REST and additional transport layers.

More frameworks

  • Support across Genkit, LangGraph, and other agent stacks.

Contribute

A2UI is an Apache 2.0 licensed project. We believe the future of UI is agentic, and we want to work with the community to help build it.

Learn how to contribute