ONCE UI 2.0 · 25 SEPTEMBER 2026

Any look. One system.

Roll the die. The whole page changes. The code doesn’t.
3
1
9
11
5
7
2
4
15
13
6
10
12
19
16
20
17
8
14
18
Rolled 20. Natural 20: The default. You rolled the whole system.
Drag to roll·spaceto reroll
Card art for the Natural 20 look
NO. 20 / 20

Natural 20

The default. You rolled the whole system.
Neutralgray
Brandemerald
Accentorange
Borderplayful
Solidcontrast · flat
Surfacefilled
HeadingGeist
BodyGeist
LabelGeist
once-ui.com/?face=20
3
1
9
11
5
7
2
4
15
13
6
10
12
19
16
20
17
8
14
18
The deck1 / 20 collected

2.0 made Once UI a system an AI can build with.

01ONE SPEC

What an agent reads is what the package accepts.

One spec drives the docs, the ai/ harness, the validator and the codemod. An agent that follows the docs writes props the components take, and the validator catches the ones it invents before they ship.
02BREAKPOINTS

CSS and JavaScript agree on every width.

Utilities and responsive classes are generated and the breakpoints are fixed, so a layout looks the same to the stylesheet and to your code. A responsive Flex can stay a server component.
03PER-COMPONENT IMPORTS

Pages ship only the components they name.

Core's own files stopped importing through barrels, so importing one component no longer pulls in all of them. The public imports stay exactly as they were.
542 → 472 KBJavaScript on every once-ui.com page, gzipped
04UPGRADING

Most apps finish in two steps.

Run the codemod, install the peers for the subpaths you use. MIGRATING.md lists the rest in the order that keeps the app building.

Still on 1.x?

One command upgrades your app and lists anything it could not change for you.
Read the upgrade guide
TrademarkTrademark
TrademarkTrademark
A product by Dopler