.gui · since May 2026Experimental

The interface, finally a file

By · Updated
An abstract illustration of .gui: an interface card turns into structured markup, then into a layout any tool can read.
screens in the gui.farm library
185+
GitHub stars on dotgui/core
65
open spec, MIT licence
v1.0

In short

.gui (dotgui) is an open file format for user interfaces, created by Jinson Johny in 2026. The way SVG made graphics text, .gui makes interfaces text: a portable package that designers, developers and AI agents can all read, write, diff and render.

Why does .gui exist?

AI has made software cheap to make. Anyone can describe an app and have one a minute later. But almost nobody has thought about the architecture underneath. Most AI-built interfaces are generated as HTML and code for one moment: hard to read, hard to change, and every regeneration piles more throwaway markup on top. As a way to keep interfaces, that isn't sustainable. The amount of garbage only grows.

And interfaces still have no open format of their own. They live inside proprietary design files, or get flattened into screenshots. Graphics got SVG; interfaces never got their equivalent. I wanted UI to be a file you can open, read, version, review and hand to an agent, and still render the same way years later.

Where did the idea come from?

From two places. Deck taught me file formats: eight years of writing PowerPoint's XML by hand, and reading how Sketch and Figma store a screen. And I have always loved the front end. I'm a big fan of how HTML and the W3C standards were designed, so I studied them closely: what made HTML universal, and what turned into baggage.

.gui keeps HTML's good parts: readable tags, nesting as containment, a file you can open in a text editor and understand, a shape every AI model already knows. It drops the rest: no head, no scripts, no DOM, no build step. The complexity lives in the renderer, not in the file.

I did a lot of exercises and testing before settling on that shape. The first decisions were the hardest ones: XML rather than JSON, not building on SVG, and not copying Figma's data model.

How does the format change?

Like a web standard, through RFCs. Every new tag, property or convention starts as a written proposal, is checked against the format's principles and earlier decisions, and is proven with real designs before it's accepted. Only then does the spec change, and the parser, renderer and kit follow from it. Rejected proposals stay on record, so the same ground isn't argued twice.

So far there are 56 RFCs: 42 accepted or implemented, 8 drafts, 4 rejected and 2 superseded. They're public in dotgui/core.

What is inside a .gui file?

A .gui file is a zip with three parts:

  1. design.guix: an XML description of the interface.
  2. assets/: images, icons and fonts.
  3. preview.webp: a thumbnail any viewer can show.
A single .gui file shown two ways: its markup on the left, and the music-production interface it renders on the right.
The same file, read as markup and rendered as pixels. · dotgui.org

What comes with it?

  • Spec: v1.0 in dotgui/core, MIT licensed.
  • @dotgui/kit: parser, validator, HTML renderer and quality scorer. No AI inside, on purpose.
  • @dotgui/cli: lint, autofix, render and package. gui setup installs the .gui skill into Claude Code, Codex, Cursor and Gemini CLI. The CLI has no AI; your agent does the generating.
  • Native renderer: Rust, compiled to WebAssembly, for PNG/PDF export and thumbnails.
  • gui.farm: a public library of .gui screens, with an MCP server so AI agents can browse and contribute.
  • Eval harness: real agents generate screens across styles, platforms and prompts, and each one is scored with lint, heuristics and an AI vision judge.
  • Viewers: a web editor, a desktop app with macOS QuickLook, a VS Code extension and the <gui-embed> web component.

Where is it now?

.gui is an open, MIT-licensed spec at version 1.0, with the tools around it released as open source. It is still an experiment: the format is settling, and the RFC drafts show where it's heading next.

  • Figma export: a plugin that saves any Figma selection as a .gui file is in review for the Figma Community.
  • Round trip: pulling from and pushing back to Figma from the CLI is on the roadmap, so a design can move between Figma and an agent without losing fidelity.
  • The library: gui.farm holds 185+ screens across web, iOS and Android, for people and agents to learn from.

How it started

  1. May 2026Work starts on an open, text-based format for interfaces
  2. 2026v1.0 spec, CLI, kit, embed and the Rust/WebAssembly renderer released as open source

How did .gui evolve?

Work in progress, as Jinson posted it on X. May 2026 to Oct 2026.

  1. A first look at what AI can create with the new open-source .gui format.

    View post on X from May 2026
  2. Importing .gui into Figma (basic). The file in the demo was made with Gemini.

    View post on X from Jun 2026
  3. A dedicated .gui app for Mac and Windows to test and build .gui files. Every demo in it was made with .gui and AI.

    View post on X from Jun 2026
  4. Is it code? Is it an image? It's both: it's a .gui file.

    View post on X from Jul 2026
  5. The 100th file lands on gui.farm.

    The 100th file lands on gui.farm.

    View post on X from Aug 2026
  6. Testing the new motion API. The video itself was made with .gui, Claude and ElevenLabs.

    View post on X from Oct 2026
  • Jul 2026Penpot community · The first public mention of .gui: in a thread on open design formats, a Penpot ambassador shared it, and Penpot's CEO, Pablo Ruiz-Múzquiz, reviewed the spec and said Penpot could export to it in future.Thread on Penpot community
Next projectBlocks