Guides

Figma to Claude Code: The Workflow That Actually Ships

Jason Zhou8 min read
figma to claude codefigma to cursorimport figma into claude codeclaude code designfigma mcpfigma to code

Quick answer

To go from Figma to Claude Code in 2026 you have two honest paths: connect the official Figma MCP server (claude mcp add --transport http figma https://mcp.figma.com/mcp) so Claude reads your frame's layout, colors, type, and auto layout and writes code against it, or skip the round trip and hand Claude a clean reference you designed first. Both work. The catch: Claude Code cannot see, so quality is decided by how much real design context you feed it, not by the prompt. No path ships untouched code.

Try it now, freeTurn a Figma frame into React on SuperdesignOpen the tool →

To go from Figma to Claude Code, you have two honest paths in 2026: connect the official Figma MCP server so Claude can read your frame (layout, colors, type, auto layout) and write code against it, or skip the round trip and hand Claude a clean, already-designed reference. Both work. The catch nobody tells you up front: Claude Code cannot see, so whichever path you pick, the quality is decided by how much real design context you feed it, not by the prompt.

That is the whole game here. Claude Code is a superb front-end engineer and a blind designer. Point it at a tidy, variable-driven Figma file and it builds something close. Point it at a vague prompt or a messy file and it fills the gaps with its training-data average: Inter, a purple gradient, a centered hero. So this guide is two things: the accurate setup for the Figma MCP path, and the faster path when you do not have a clean file to begin with.

Stop making a blind agent guess at designDesign the UI on a canvas first, fork variants, then hand Claude Code clean React and Tailwind. Runs as a skill inside your agent, free tier plus flat $20/mo.Start designing →

What "Figma to Claude Code" means

It means getting a Figma design into working React or Tailwind through Claude Code, either by feeding Claude the design data directly (the Figma MCP server) or by handing it a visual reference it can reproduce. Claude does the engineering. Your job is to give it enough design context that it does not have to guess. There is no button that turns a frame into shippable code untouched, the same honest answer from our Figma to code pillar applies here.

The gap: Claude Code is blind

Claude Code writes correct, accessible, responsive CSS, and it has no idea what the result looks like on screen. It is reasoning about your UI from text and structure, not from pixels. That single fact explains every frustration in this workflow: spacing that is technically valid but visually off, a layout that reads fine in code and looks generic rendered, a mobile breakpoint nobody asked for. We go deep on this in designing UI with Claude Code. The fix is always the same shape: give it a real reference and a feedback loop, never just a better adjective.

Path 1: the Figma MCP server

The accurate way to import Figma into Claude Code is the official Figma MCP server, which Figma shipped bidirectional support for with Claude Code in February 2026. It lets Claude read a frame you point it at (layer structure, colors, fonts, spacing, auto layout settings) and generate code that matches, and it can push a UI you built back to the canvas as editable Figma layers.

Setup is one command, then a browser auth:

claude mcp add --transport http figma https://mcp.figma.com/mcp
# then, inside Claude Code:
/mcp        # select figma, Authenticate, Allow Access

Once connected, the workflow is four steps:

Figma to Claude Code over MCP

1

Select the frame and copy its link

In Figma, select the frame you want to build and copy its link.

2

Paste the link into Claude Code

Paste it with a plain request, like "build this screen in React and Tailwind, reuse our existing components."

3

Let Claude read the design context

Over MCP it calls a tool like get_design_context to pull the frame's layout, variables, and structure, then writes the code against it.

4

Wire up Code Connect

Optional but worth it: Code Connect maps Figma components to your codebase, so Claude reuses your real components instead of rebuilding them as nested divs.

Two honest caveats. Heavy Figma MCP usage needs a paid Dev or Full seat (the remote server is broadly available, but full use sits behind a plan), so confirm yours. And the MCP path is only as good as the file behind the link: a clean, variable-and-auto-layout file gives Claude clean tokens to work with, a loose one gives it w-[37px] to copy. If your goal is Tailwind specifically, the Figma to Tailwind guide covers how file structure decides output quality.

No MCP, no paid seat? Screenshot the frame and paste the image into Claude Code. Its vision is good enough to read a layout and reproduce its structure. You lose the structured data (real component names, exact tokens, responsive intent), so it guesses more, but for a single screen it is a legitimate, free fallback.

Path 2: design on a canvas first

The faster path for developers is to do the seeing yourself: design the UI visually first, get it right, then hand Claude Code a clean structure to build. This flips the problem. Instead of asking a blind engineer to interpret a file or invent taste from a prompt, you give it a finished decision to implement. This is also the answer to "figma to cursor," the same logic applies in any coding agent, see Cursor for design.

This is where Superdesign fits, and it runs as a skill inside Claude Code, so the design step lives where you already work:

npm install -g @superdesign/cli@latest
superdesign login
npx skills add superdesigndev/superdesign-skill

Trigger it with /superdesign and a plain request. It learns your project first (it creates a superdesign folder with a design-system file plus replicas of your real pages), opens a canvas where it explores several directions at once instead of one linear guess, and when you pick one, you copy the full design prompt or ask the agent to fetch it and plan the build. Claude Code then writes the code against a design you have already seen and approved. The three pieces that matter for this workflow: parallel variants so you compare before committing, a persistent design-system file so the look does not drift screen to screen, and a clean handoff so Claude gets structure, not a screenshot to reverse-engineer.

You can also skip the design step entirely when the pattern already exists in a browser: Superdesign's free Chrome Component Grab captures any live component into clean Tailwind you paste straight into Claude Code. More on that in how to clone a website's design.

Which path to use

Pick by what you start with:

RouteHow it worksNeeds a clean Figma file?Best for
Figma MCP serverPaste a frame link, Claude reads the design data and writes codeYes, paid seat for full useTeams whose source of truth is Figma
Screenshot pastePaste an image, Claude's vision reproduces the layoutNoA quick single screen, free
Design on a canvas firstDesign and iterate visually, hand clean structure to ClaudeNoDevelopers who want code, not a file
  • You own a clean, variable-driven Figma file and design in Figma as a team: use the Figma MCP server with Code Connect.
  • You have a frame but no MCP or seat: paste a screenshot. Good for one screen, expect to refine.
  • You opened Figma only to mock up something you can already picture: skip it. Design on a canvas first, then hand the structure to Claude Code. The file was never the point.

Whatever path you choose, keep the loop: after Claude writes the UI, screenshot the rendered result, paste it back, and give specific feedback ("the card padding is inconsistent, the heading is too small"). Claude cannot grade its own output, so a real screenshot beats asking it "does this look good?" The Claude Code UI design guide breaks that loop down in full.

Superdesign doing exactly this, live on the canvas.Turn a Figma frame into React, free →

The honest takeaway

Claude Code is the engineer, not the designer. The Figma MCP server is a real, accurate bridge when Figma is your source of truth and your file is clean. When it is not, stop forcing a frame into the loop and give Claude a design you have already seen, from a prompt library pattern, a captured live component, or a canvas you iterated on first. Either way, you are doing the one thing Claude cannot do for itself: looking at the design before it ships.

Key takeaways

  • Figma to Claude Code is two honest paths: the official Figma MCP server (paste a frame link, Claude reads the design data) or designing a clean reference first and handing it over.
  • Claude Code is a great front-end engineer and a blind designer: it writes correct CSS but cannot see the result, so quality depends on the design context you feed it, not the prompt.
  • The MCP path is only as good as the file behind it, and needs a paid Figma seat; wire up Code Connect so Claude reuses your real components instead of rebuilding them as nested divs.
  • When you have no clean file, skip the round trip: design on a canvas first with Superdesign (parallel variants, a persistent design-system file, clean handoff), then let Claude Code build it.

Frequently asked questions

How do you import a Figma design into Claude Code?

Use the official Figma MCP server. Run claude mcp add --transport http figma https://mcp.figma.com/mcp, then type /mcp in Claude Code to authenticate. After that, copy a Figma frame link and paste it into Claude Code with a request, and it reads the design data (layers, colors, fonts, spacing, auto layout) to generate matching code. Full MCP access needs a paid Figma Dev or Full seat.

Why does Claude Code get the layout and spacing wrong?

Because Claude Code is blind. It writes correct, accessible CSS but reasons about your UI from text and structure, not pixels, so it cannot see how the result looks. With a vague prompt or a messy file it fills the gaps with its training-data average. The fix is feeding it a real reference (a clean Figma file over MCP, a screenshot, or a designed canvas) and running a screenshot-compare-refine loop.

Can you go from Figma to Cursor the same way?

Yes. The Figma MCP server supports Cursor as well as Claude Code, and the design-on-a-canvas-first approach works in any coding agent. The logic is identical: give the agent real design context instead of asking it to invent taste from a prompt.

Do you need Figma at all to get UI code from Claude Code?

No. If you opened Figma only to mock up something you could already picture, skip it: design the UI visually on a canvas first (Superdesign runs as a skill inside Claude Code), or capture a live component into clean Tailwind with the free Chrome Component Grab, then hand the clean structure to Claude Code to build.

Explore 5,000+ design prompts

The most-used styles from the Superdesign design prompt library.

Browse all →

Keep reading