---
title: ".gui: The interface, finally a file, by Jinson Johny"
description: ".gui (dotgui) is an open file format for user interfaces created by Jinson Johny, with a v1.0 spec, Rust/WebAssembly renderer, CLI, agent skills and the gui.farm library."
url: https://jinson.me/products/dotgui
markdown: https://jinson.me/products/dotgui.md
type: SoftwareApplication
author: Jinson Johny (https://jinson.me/#person)
updated: 2026-11-01
---

.gui · since May 2026Experimental

# The interface, finally a file

By [Jinson Johny](https://jinson.me/about.md) · Updated Nov 2026

[dotgui.org ](https://dotgui.org)· [gui.farm ](https://gui.farm)· [GitHub](https://github.com/dotgui)

![An abstract illustration of .gui: an interface card turns into structured markup, then into a layout any tool can read.](https://jinson.me/images/products/dotgui-abstract.webp)

- **screens in the gui.farm library:** [185+](https://gui.farm)
- **GitHub stars on dotgui/core:** [65](https://github.com/dotgui/core)
- **open spec, MIT licence:** [v1.0](https://github.com/dotgui/core)

## 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](https://jinson.me/products/deck.md) 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](https://github.com/dotgui/core/tree/main/rfcs).

## 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.](https://jinson.me/images/products/dotgui-split.webp)

The same file, read as markup and rendered as pixels. · [dotgui.org](https://dotgui.org)

## What comes with it?

- **Spec**: v1.0 in [dotgui/core](https://github.com/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](https://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 2026 · Work starts on an open, text-based format for interfaces
2. 2026 · v1.0 spec, CLI, kit, embed and the Rust/WebAssembly renderer released as open source

## Written about .gui

[AI is changing how we ideate, design, and build UIs · Aug 2026](https://jinson.me/writing/ai-changing-ui-design.md) · [We're still figuring out what an AI-native UI artifact looks like · Jul 2026](https://jinson.me/writing/ai-native-ui-artifact.md)

- **Maker:** Jinson Johny (creator and lead maintainer)
- **Started:** May 2026
- **Status:** open source, v1.0 spec
- **Platforms:** Web · CLI · VS Code · macOS
- **Licence:** MIT
- **Stack:** TypeScript · Bun · Rust → WebAssembly · Nuxt
- **Website:** [dotgui.org](https://dotgui.org)

## How did .gui evolve?

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

1. May 2026

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

   [View post](https://x.com/jinsoncjohny/status/2056443147178406032)

2. Jun 2026

   Importing .gui into Figma (basic). The file in the demo was made with Gemini.

   [View post](https://x.com/jinsoncjohny/status/2061546604960825536)

3. Jun 2026

   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](https://x.com/jinsoncjohny/status/2064068643995209735)

4. Jul 2026

   Is it code? Is it an image? It's both: it's a .gui file.

   [View post](https://x.com/jinsoncjohny/status/2080374163353841886)

5. Aug 2026

   ![The 100th file lands on gui.farm.](https://jinson.me/images/log/dotgui-2088357413699403931.webp)

   The 100th file lands on gui.farm.

   [View post](https://x.com/jinsoncjohny/status/2088357413699403931)

6. Oct 2026

   Testing the new motion API. The video itself was made with .gui, Claude and ElevenLabs.

   [View post](https://x.com/jinsoncjohny/status/2111938306439303671)

## Mentioned in

- Jul 2026 · **Penpot 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](https://community.penpot.app/t/is-the-design-tool-becoming-irrelevant-in-the-age-of-ai/10690/8)

[Next project · Blocks](https://jinson.me/products/block.md)

---

**About the author.** Jinson Johny is a Dubai-based Design Engineer and Senior Product Designer for Design Systems and Design Ops at IBM iX. He is the creator of Deck (deck.is), a Figma-to-PowerPoint plugin used by 160,000+ designers since 2017, and .gui (dotgui.org), an open file format for user interfaces. Open to design engineering, design systems, DesignOps, AI design and product design roles in the UK (London) and remote. Contact: hello@jinson.me · [Open to work](https://jinson.me/hire.md) · [All pages](https://jinson.me/llms.txt)
