There are six ways to get from a Figma file to code, plus the oldest one: a front-end engineer rebuilds the frame by hand. This page ranks them on one test. Does the result land in the codebase your team already ships, built from its components, as a change someone can review and merge?
The top results for "figma to code" grade the export instead. They compare fidelity, frameworks and price. For a team whose product is already in production, the export is the cheap part. The time goes into the work after it, and that work is what this ranking counts.
Screenshots and prompts are other starting points, mapped in the four routes from design to code.
Key takeaways
- Rank Figma to code methods by what they leave between their output and a merged change, not by how clean the export looks.
- Five jobs sit between a frame and a merge: getting the code into your repo, using your components, theme and state, and opening a pull request.
- Tools that work inside your repo leave the fewest of those jobs. Converters, Figma Make and Dev Mode leave most of them to a person.
- For a component your library does not have yet, or a product with no codebase, the ranking matters less. Someone still designs the new component.
Every Figma to code method, ranked
Each method below gets a short verdict and a link to the post that covers it in depth.
| Rank | Method | What you get | Lands in your repo with your components | In depth |
|---|---|---|---|---|
| 1 | Design in code on a canvas | Edits to your running app | Yes | React visual editors compared |
| 2 | Coding agent, Figma MCP server and Code Connect | Code in your repo, with mapped components | Yes, once mapped | The Figma MCP server's limits |
| 3 | Coding agent and Figma MCP server, no map | Code in your repo | When told where the components are | With Claude Code, with Cursor |
| 4 | Converter plugins and Figma's agent | An export | No, someone copies it in | Fixing converted HTML and CSS |
| 5 | Figma Make and AI app builders | A new app | No, unless the tool imports your repo | Prototyping tools by where they build |
| 6 | Dev Mode and codegen plugins | Values and snippets for one layer | No | How Dev Mode handoff works |
| Baseline | A front-end engineer, by hand | Code written for your repo | Yes, by a person | Every Figma to React method |
Five jobs sit between a Figma frame and a merged change. The code has to get into your repo. It has to use your components, your theme values and the state your code already holds. Then it has to reach review as a pull request. The ranking counts how many of the five each method does for you.
The higher a method ranks, the fewer of the five jobs before a merge it leaves for a person.
- Done by the tool
- Partly
- Left to a person
- 1Design in code
- Your repo: Done by the tool
- Your components: Done by the tool
- Your theme: Partly
- Your state: Done by the tool
- Pull request: Done by the tool
- 2Agent, MCP and Code Connect
- Your repo: Done by the tool
- Your components: Done by the tool
- Your theme: Partly
- Your state: Done by the tool
- Pull request: Done by the tool
- 3Agent and MCP, no map
- Your repo: Done by the tool
- Your components: Partly
- Your theme: Partly
- Your state: Done by the tool
- Pull request: Done by the tool
- 4Converter or Figma's agent
- Your repo: Left to a person
- Your components: Partly
- Your theme: Partly
- Your state: Left to a person
- Pull request: Left to a person
- 5Figma Make or an app builder
- Your repo: Left to a person
- Your components: Partly
- Your theme: Partly
- Your state: Left to a person
- Pull request: Left to a person
- 6Dev Mode snippets
- Your repo: Left to a person
- Your components: Left to a person
- Your theme: Partly
- Your state: Left to a person
- Pull request: Left to a person
Partly means the tool does the job once someone sets it up or tells it where to look. Ranks 1 and 2 leave the same jobs, and rank 2 adds a component map someone keeps current. Figma Make and app builders are shown building a new app, outside Figma's two betas and without an imported repo. By hand, a front-end engineer does all five.
Maybe you are the only designer on a team of eight engineers, and the frame is approved. You tried a plugin export, and an engineer rebuilt it with the team's components anyway. You tried an agent with the Figma MCP server, and review asked why there was a second Button.
1. Design in code: the frame goes onto your running app
Design-in-code tools skip the export. They work in or beside the code where your components and state already live.
- Builder Code, formerly Fusion, builds new UI with "your components, tokens, and usage patterns", and approved changes become pull requests (Builder.io).
- Onlook: "The component on the canvas is the component in your repo" (Onlook).
- Cursor Design Mode "lets you direct agents by leaving notes on your running app" (Cursor docs).
- Subframe's app "reads and writes local files" (Subframe), and Paper lets your coding agent sync tokens, styles and components between your codebase and its canvas (Paper).
- Modeinspect: you paste a Figma frame, or a link to one, onto a canvas that holds live pages of your app. Drop it on a page, and the coding agent builds it into that page's code. After setup, you place your team's React components and edit their props, and the change leaves as a pull request on GitHub. It works on Next.js React codebases that use Tailwind. Component instances in a pasted frame arrive as plain layers, Figma variables do not become tokens, and tokens are offered from the Tailwind theme, not enforced.
A pasted frame brings layers. The Button, with its props, comes from your repo.
- FrameSettings card
- TextEmail updates
- GroupButton / Primary
- RectangleFill #111110
- TextSave
Email updates
A weekly summary of changes to your projects.
- The instance arrives as a group of layers that looks like a button. It is not linked to the
Buttonin your code. - Its color arrives as a raw value,
#111110. Figma variables do not become tokens.
Example. A settings card pasted from Figma onto a canvas that runs the app, then the same card with the repo's Button placed in it.
The frame is a starting point, and the components come from the repo. Where the frame drew a button, you or the agent place the Button your code already has. These tools need a supported framework and a connected repo, so check both first.
Verdict: the same jobs left as rank 2, with no component map to keep current, in an app that already ships.
2. A coding agent with the Figma MCP server and Code Connect
A coding agent such as Claude Code or Cursor works inside your repo, and Figma's MCP server feeds it the frame. Code Connect adds a map from each Figma component to the code component it stands for. Figma describes it as "true-to-production code snippets from your design system instead of autogenerated code examples" (Figma developer docs).
With the map, the agent imports your Button with your prop names instead of guessing. Code Connect needs a Dev or Full seat on a Professional, Organization or Enterprise plan (same docs). Your team writes and publishes the map, and every new component or renamed prop needs an update.
What a mapping looks like, prop by prop, is in mapping Figma components to your React props.
Verdict: close to design in code, for a team with a stable library and an owner for the map. Tokens still need a rules file, because agents left alone reach for raw values.
3. A coding agent with the Figma MCP server alone
Without Code Connect, the agent still writes into your repo, but it has to find your components itself. Figma's docs are plain about the server's role: "Its job is to give your agent design context, not production-ready code" (Figma developer docs). By default, that context is written as React and Tailwind (Figma developer docs).
The server ships a prompt, create_design_system_rules, that drafts a rules file for your repo. With rules, or a prompt that names your components folder, the agent uses what exists. Without them, it may write a second Button next to yours. The agent gets part of the way, and the designer finishes the rest by hand.
We hear the same thing on our calls with customers: one designer who goes from Figma to Claude Code says he "can get to 60%" of the design that way. He adds, "Coming back to figma is a pain."
You can also paste a screenshot of the frame instead. Claude Code accepts a dragged or pasted image (Claude Code docs), but a picture has no layers or components, so the agent guesses more (the screenshot route).
Verdict: in your repo from the first prompt. Whether it uses your components depends on what you tell it.
4. Converter plugins and Figma's agent: an export to copy in
Converters turn a frame into code outside your repo. Figma now has one of its own. Its agent, in the side rail of Figma Design, designs in Figma layers and can also generate "HTML and CSS, React components, or a specific framework" (Figma). You check the output on the canvas. It is in open beta on paid plans, and the code stays in the file for a developer to pick up.
Plugins work the same way. FigmaToCode, open source under GPL-3.0, writes "editable HTML, React, Svelte, Tailwind, Flutter, and SwiftUI from a Figma selection" (GitHub). Anima, Locofy and Builder.io Visual Copilot write whole components.
Using your own components takes another tool or a higher plan. Anima says "you would need to use Frontier in VScode" (Anima). Locofy's custom components are "available on Enterprise plans" (Locofy docs). Builder.io notes that "Running index-repo requires an Enterprise plan" (Builder.io docs).
An export is cut to the shape of the frame, not to the codebase it has to fit. Someone moves it into the repo, swaps in your components and theme values, and wires the state.

Plans and prices per tool are in the design to code tools comparison.
Verdict: a fast start for a static page or a one-off. Everything after the export is a person's job.
5. Figma Make and AI app builders: prototype to code in a new app
Figma Make turns a prompt or a frame into a working React app. Make kits let you "Sync your npm packages, library styles, and guidelines directly with Figma Make" (Figma), so the components can be yours.
The app is Make's own, though. "Figma Make only pushes to repositories it creates" (Figma Help). Make in your local codebase, which can open pull requests, is a closed beta (Figma Help).
Code Layers, in open beta, import a GitHub repo or local folder and can push to a branch and open a pull request. The import has to be a "supported, lightweight prototyping codebase" (Figma), so it suits a prototype repo, not necessarily your product's.
App builders that import Figma split on components too. v0 turns a pasted Figma link "into a working app" on paid plans (v0 docs). Bolt's Code option "won't build with your components", while its design system agent recreates the frame with them (Bolt). Both can also import your GitHub repo, and "v0 creates a pull request if the branch does not have one" (v0 docs). Used that way, the code lands in your repo, as with rank 3.
Prototype to code, from a new app, means a port. You move the screen into your repo and rebuild it around your components and state. That is fine for a user test and slow for a feature.
Verdict: a clickable prototype, fast. Unless the tool imports your repo, the code reaches it only through someone who ports it.
6. Dev Mode and codegen plugins: values for one layer
Dev Mode is Figma's own handoff view. Its built-in snippet languages are "CSS (Web)", "SwiftUI or UIKit (iOS)" and "Compose or XML (Android)", and "You can extend the functionality of code snippets with plugins" (Figma Help). React comes from those plugins.
A snippet covers the selected layer. It gives exact values and, unless Code Connect is set up, no component from your repo. An engineer still builds the screen.
Verdict: exact values for an engineer who builds the screen by hand.
The baseline: a front-end engineer builds it by hand
A front-end engineer reads the frame and writes it with the team's components, theme and state. Every job on the list gets done, by a person, and that is the bar every other method is measured against. It is also the slowest start. It is the right one for a component your library does not have yet, because someone has to decide its props and states.
The Figma to code workflow, explained
A Figma to code workflow is the path a design takes from an approved frame to a change merged in the codebase. Teams run one of two shapes.
The handoff workflow goes from the frame to a ticket and an engineer who builds it. Design QA follows, and each mismatch sends the work back to the build. Methods 4 to 6 speed up the build and leave the loop where it was.
The in-code workflow takes the frame into the running app, and the change leaves as a pull request. Methods 1 to 3 feed this one. Engineers still review the diff.

Both shapes end in the same review. What changes is how many round trips sit before it. Design QA in the pull request covers that last step on either path.
How do product teams approach automating Figma to code?
Product teams that automate Figma to code run one of three setups, and each automates a different step.
- Figma, Dev Mode and engineers. Designers hand off, engineers build, and a converter or codegen plugin speeds up the first draft.
- Figma, the MCP server and a coding agent. Engineers point Claude Code, Cursor or Codex at the frame link. The design system team publishes Code Connect maps and a rules file. OpenAI's Codex guide says to "Treat the Figma MCP output, which often looks like React plus Tailwind, as a structural reference" (OpenAI).
- Figma for exploration, the running app for the change. Designers paste the approved frame onto a canvas that runs the product. The change goes to review as a pull request.
What is the best Figma to code tool, and which are worth paying for?
The best Figma to code tool is the highest-ranked one your stack allows. Pick by where the code has to end up.
- A screen in an app that already ships: a design-in-code tool that supports your framework.
- Engineers already on Claude Code or Cursor: the Figma MCP server, with Code Connect for the components you use most.
- A static page or a one-off: a converter plugin and a pass of hand fixes.
- A prototype for a user test: Figma Make, v0 or Bolt.
- A component your library lacks: a front-end engineer.
- No codebase yet: Figma Make or an app builder, since there is no repo to fit.
A tool is worth the investment when it removes the work after the export. Developers name "AI solutions that are almost right, but not quite" as their top frustration with AI tools (Stack Overflow's developer survey). An export that almost matches your components is that kind of answer, and review pays for it.
Seats and plans still decide who can use what. Dev Mode, Code Connect and Figma's desktop MCP server need a Dev or Full seat on a paid Figma plan. Converters put your own components behind another tool or an Enterprise plan.
Pick one frame you are about to hand off. List every component it uses and find each one in your repo. Then run the frame through the highest-ranked method your stack allows, and count which of the five jobs are still left before the merge.
Frequently asked questions
What is a Figma to code converter?
A plugin or tool that turns a Figma design to code, such as HTML and CSS, React or Tailwind. Anima, Locofy, Builder.io Visual Copilot and FigmaToCode are plugins, and Figma's own agent generates code inside the file. The result is an export, so someone moves it into the repo and swaps in the team's components.
Can Figma generate code automatically?
Yes, in several ways. Dev Mode shows CSS, SwiftUI and Compose snippets for a layer. Figma's agent generates HTML, CSS or React in the file, and Figma Make builds a React app. Two Figma paths write to a repo themselves, both in beta: Make in your local codebase, and Code Layers, which is built for lightweight prototyping codebases.
Is there a free Figma to code plugin?
Yes. FigmaToCode is open source under GPL-3.0 and writes HTML, React, Svelte, Tailwind, Flutter and SwiftUI. Its components are new ones, so someone still maps them onto your library.
How accurate are Figma to code converters?
They are accurate on what the frame states: layout, spacing, color and type. They cannot know which component in your repo a layer stands for, or the state behind it. Review then sends back duplicate components and raw values.
Can AI convert Figma to code for an existing codebase?
Yes, when the AI works inside the repo. A coding agent with the Figma MCP server writes into your codebase, and it uses your components when Code Connect or a rules file tells it where they are. A design-in-code tool works on the running app directly.
How do you turn a prototype into production code?
Move the screen into your repo, rebuild it around your components, theme and state, and open a pull request. A prototype that lives in its own app, such as one from Figma Make, needs this port. A prototype built on your real codebase skips that step.
Is AI-generated Figma code production-ready?
It is production-ready when it merges without a rewrite, which depends on where it lands. Code written into your repo with your components, theme and state can pass review as it is. An export that brings its own components rarely does.
Do Figma to code tools replace front-end engineers?
No. Engineers review every change before it merges, and they design the components a library does not have yet. The tools remove the rebuild of a screen that the library already covers.
