Figma plugin · early access

Design against your API.
From spec to handoff.

Paint By JSON binds Figma layers to live REST endpoints. Design and engineering work from one shared model — real data, real constraints, real edge cases — so the file you hand off is the file the product ships.

How it works

Three steps from API to canvas.

  1. Paint By JSON plugin showing a URL field set to GET https://dummyjson.com/products, with Auth and Headers sections.

    01

    Connect an endpoint

    Paste a URL, add headers or auth if you need them, and preview the JSON response in-plugin.

  2. Paint By JSON plugin showing a JSON response on the left and three layer mappings (title, price, thumbnail) on the right.

    02

    Map JSON to layers

    Bind a JSON path to a layer name. Apply transforms if the raw value needs shaping before it lands on the canvas.

  3. Paint By JSON plugin showing a saved palette named PLP bound to GET https://dummyjson.com/products.

    03

    Save as a Palette

    Reuse it on any frame, share across files, and export to JSON, Markdown, or a Spec Frame for handoff.

Built for design–engineering handoff

A small, focused plugin that connects your Figma file to the same data the product ships — so design specs and engineering specs are the same artefact.

Save palettes once

Store an endpoint, headers, and mappings as a reusable Palette. Pick it from a list — no re-wiring per frame.

Transform on the way in

Truncate text, format currency, parse dates, branch with if/then/else, or chain transforms before values land on the canvas.

Single frame or collection

Fill one frame from a single response, or iterate an array onto repeated component instances.

Target layers by name

Map JSON paths to layer names so palettes stay portable across files, team libraries, and refactors.

Fast, sandboxed, safe

Runs entirely in the plugin iframe. API responses and auth values stay on your machine — none of it is sent to our database.

Pro

Export & handoff

Export the populated frame as JSON, Markdown, or a Spec Frame on the canvas. Hand off the data alongside the design, not just pixels.

Pricing

Free for hobby use. Upgrade when you outgrow two palettes or need exports for handoff.

Full pricing details →

Guest

Try the plugin without signing in.

Free no account

  • 1 saved palette
  • Basic text transforms
  • Single + collection mode
Install plugin

Free

Sign in and unlock a second palette.

$0 / forever

  • 2 saved palettes
  • Basic text transforms
  • Cloud sync across files
Install plugin
Pro

Pro

For designers and teams shipping against real data.

$9 / month

  • 50 saved palettes
  • All transforms (currency, math, conditionals)
  • Export to JSON, Markdown, Spec Frames
Upgrade to Pro

Ready to design against real data?

Install Paint By JSON, save your first palette, and ship a design that already speaks the same language as your API.