A2UI Primitives

A mapping reference for agent-rendered interfaces. A2UI is an open protocol, created by Google and licensed under Apache 2.0, that lets an AI agent describe an interface which the client then renders with native widgets — no generated code is executed. The protocol defines a fixed set of primitives, and every one of them is below, mapped to the catalog component it corresponds to.

16 primitives in the protocol
13 mapped to a catalog component
16 catalog components covered
v0.9.1 current specification
A2UI primitive What it renders Component page
Layout
Row Horizontal layout container. Children are arranged left to right. Layout primitive — no catalog component
Column Vertical layout container. Children are arranged top to bottom. Layout primitive — no catalog component
List Scrollable list of items. Supports static children and dynamic templates. List
Display
Text Text content with styling hints — h1 to h5, caption, body. Typography primitive — no catalog component
Image Displays images from URLs. Image
Icon Displays icons from the basic set defined in the catalog. Icon Universal Icons
Divider Visual separator line. Separator
Interactive
Button Clickable button that triggers an action. Button
TextField Text input with optional validation — shortText, longText, number, obscured, date. Input Textarea
CheckBox Boolean toggle. Checkbox
Slider Numeric range input. Slider
DateTimeInput Date picker, time picker, or both. Date Picker Time Picker
ChoicePickerMultipleChoice in v0.8 Select one or more options from a list. Select Radio Group
Container
Card Container with elevation or a border, plus padding. Card
Modal Overlay dialog opened by an entry-point component. Dialog
Tabs Tabbed interface that organizes content into switchable panels. Tabs

Shared properties

Every primitive carries an id, an optional accessibility object for the name and role exposed to assistive technology, and a weight used for flexible layout. Because the client renders its own widgets, accessibility and styling stay with the platform rather than travelling with the agent's response.

Designing for agent-rendered interfaces

A2UI is deliberately small: sixteen primitives cover what an agent can ask for. Anything richer — a data table, a carousel, a combobox — has to be composed from these or handled outside the protocol. When you design a surface an agent will drive, start from this list, then check the W3C ARIA patterns for the keyboard and screen-reader behaviour each one is expected to have.

Resources

Everything below is maintained by the A2UI project itself. Start with the quickstart if you are wiring up an agent, or the component reference if you are deciding what an interface can ask for.

A2UI documentationa2ui.org Quickstarta2ui.org/quickstart Conceptsa2ui.org/concepts Component referencea2ui.org/reference/components Message referencea2ui.org/reference/messages Specification v0.9.1a2ui.org/specification Theming guidea2ui.org/guides/theming Renderersa2ui.org/ecosystem/renderers A2UI Composera2ui-composer.ag-ui.com Source on GitHubgithub.com/a2ui-project/a2ui

Source: the A2UI component reference. Primitive names and descriptions follow the specification.