The open specification for visual intent

One language.
Every visual.

A machine-readable contract for how things look, move, behave and render. Independent of tools, platforms and frameworks.

OPEN FORMAT  ·  JSON SCHEMA  ·  VERSION 1.0 RC

INTENT → REPRESENTATIONvisual-spec.json
One definition. Many possibilities.JSON
{  "visualSpec": "1.0",  "profiles": ["ui"],  "components": [{    "id": "button.primary",    "kind": "action.button",    "appearance": {      "fill": "{color.brand}",      "radius": "8px"    }  }]}
↗
Intent, made explicit.

A shared contract between design and code.

VISUAL IR
From the tools you already use
FigmaScreenshotsWebsitesVideo3D scenesDesign systems
01 / A common ground

Preserve the intent.
Change the medium.

Capture what matters once. Give every implementation the same references, visual rules and criteria for success.

01 — SOURCES
◈Design files
▧Images
⌘Websites
▷Video
▱Documents
◇3D scenes
VISUAL INTERMEDIATE REPRESENTATIONvisualspec.Structure · Semantics · Behavior
02 — POSSIBLE TARGETS
⌘Web
▯Mobile
▧Images
▷Video
▱Slides & PDFs
◇3D & games
REFERENCE → SPECIFY → IMPLEMENT → RENDER → VALIDATE ↺
02 / Designed to be understood

More than pixels.
Meaning, included.

Why Visual Spec ↗
[ 01 ]

References are first-class.

A region of an image. A moment in a video. A Figma node. Address the exact evidence behind a visual decision, and preserve where it came from.

[ 02 ]

Describe what, not how.

A dialog is more than a rectangle. Capture its anatomy, states and accessible behavior. Let each platform choose the right implementation.

[ 03 ]

Make correctness explicit.

Bring structure, semantics, accessibility, motion and visual fidelity into one validation contract. Replace “close enough” with agreed criteria.

Make your first visual contract

From idea to explicit.

Explore a real document. Change it. Validate it.