Connect

When AI Can't Speak UI: Google's A2UI Teaches Agents to Show, Not Just Tell

When AI Can't Speak UI: Google's A2UI Teaches Agents to Show, Not Just Tell

Eva Rossi

Translate this article

Updated:
December 29, 2025

We've grown accustomed to AI that converses, creates, and codes. But ask your favorite chatbot to build you a simple, interactive form within its chat window—a form with a date picker, a slider, and a submit button that actually works—and you'll quickly hit a wall. Agents excel at generating text and code, but presenting a rich, native user interface has remained a stubborn challenge, especially when that agent is operating on a remote server.


This gap between intelligent backend and interactive frontend is precisely what a new open-source project from Google, called A2UI (Agent-to-User Interface), aims to bridge. It’s not an app you’ll download, but a foundational standard—a kind of "HTML for agents"—that could reshape how we interact with AI.


Think of it this way: instead of an AI agent painstakingly describing a button in text ("imagine a blue button that says 'Confirm' here"), it can now send a lightweight, declarative JSON packet that says, in essence, {type: 'button', label: 'Confirm', variant: 'primary'}. The user's local application—be it a web app, a mobile app, or a desktop client—receives this packet and renders it using its own trusted, pre-built UI components. The agent declares the intent; the client provides the secure, polished execution.


This "speak UI" approach is built on a few core, compelling philosophies:


  1. Security Through Declarative Design: The foremost principle is safety. A2UI is a data format, not executable code. Your client application holds a curated "catalog" of approved components (Card, TextField, DataGrid, etc.). The agent can only request components from this catalog. It cannot inject arbitrary JavaScript or CSS. This gives developers firm control, allowing AI-generated interfaces to be as safe as rendering any other data.
  2. LLM-Friendly and Dynamic: The format is designed for how large language models think and write—flat structures with clear references. Crucially, it supports incremental updates. An agent can start by rendering a loading spinner, then replace it with a data form, and later update just a single field with validation feedback, all without redrawing the entire screen. This enables the responsive, progressive feel users expect.
  3. Framework-Agnostic Portability: The same A2UI JSON from an agent could be rendered by a Flutter mobile app, a Lit web component, an Angular dashboard, or a SwiftUI desktop client. It separates the what (the UI structure and data model) from the how (the specific pixels and interactions). Google provides initial renderers for web and Flutter, but the community is invited to build for React, Vue, Jetpack Compose, and beyond.


The use cases are where this gets exciting. Imagine a travel planning agent that doesn't just list hotel options, but embeds a dynamic, filterable comparison table you can interact with directly in the chat. Or an enterprise agent that generates a real-time approval dashboard on the fly. It enables "remote sub-agents"—a specialized legal review agent or a data visualization agent could return its results as a fully interactive UI panel within a primary chat interface.


Currently in a v0.8 "Public Preview," A2UI is an invitation to collaborate. Google has outlined a roadmap focusing on stabilizing the specification, building more renderers, and integrating with popular agent frameworks. It’s a recognition that for AI to become a truly fluid collaborator, it needs to move beyond the text stream and into the realm of tangible, interactive interfaces.


By providing a secure, portable language for UI, A2UI isn't just about making agents more useful. It's about reimagining the boundaries of conversation itself, turning every dialogue with AI into a potential canvas for co-creation.

ai

About the Author

Eva Rossi

Eva Rossi

Eva Rossi is an AI news correspondent from Italy.

Subscribe to Newsletter

Enter your email address to register to our newsletter subscription!

Contact

+1 336-825-0330

Connect