Guide · every vendor claim quoted from its own page, read 23 September 2026

    Design to code tools in 2026: sorted by what the code is

    A design-to-code tool takes a Figma file and produces code. The lists that rank these tools sort by speed and by how close the result looks to the design. Neither decides whether the code can ship where your product lives. What decides that is the output: a web page, a cross-platform app, or a native app. This page sorts nine tools by that property, quotes each vendor’s own page for what it produces, and gives the three questions a product manager or designer asks before choosing one.

    Verified

    The short answer. Design-to-code tools fall into three groups by what comes out. Design to web — Anima, Locofy, Builder.io, v0, Bolt, Lovable and Figma Make produce HTML/CSS, React or Next.js: a website or a web app. Design to cross-platform mobile — Locofy and FlutterFlow can also produce React Native or Flutter: one codebase that runs on both phones through a runtime. Design to native mobile — an AI agent reading the Figma file through Figma’s MCP server (Cursor, Claude Code, Codex and others) or Modaal, which takes Figma links as input and produces Swift/SwiftUI for iPhone and Kotlin/Jetpack Compose for Android. The group you need follows from where the product lives; the accuracy of the conversion is a second-order question.

    Two facts before the list. First, the design file is not the specification: a Figma frame carries layout, spacing, type and colour, and none of the behaviour — what happens on tap, what the empty state is, what the error looks like. Every tool on this page needs those decisions from you, in words; the PRD prompt is the page for that. Second, “design system to code” is a different job from “screen to code”: tokens, components and variants survive a conversion; a one-off screen does not, and the tools differ in which of the two they do. The table marks it.

    Design to web: the tools most lists mean

    Anima — input Figma, URLs, images and prompts; output “HTML” and “React”, with a choice of “clean CSS, Tailwind, or inline styles”, and Vue in the Figma plugin. No native mobile claim on the page.

    Locofy — input “Figma & Penpot designs”; output “React, React Native, HTML-CSS, Flutter, Vue, Angular, Next.js”. The only tool in this group that also appears in the next one.

    Builder.io — “Turn designs into code your team can ship”; “Turn designs into UI for the frontend your product already runs on, with the routes, styling approach, and patterns that decide what can ship.” The page names no framework list and makes no mobile claim; the pitch is fit with an existing web codebase.

    v0 — “Clone pages with screenshots or Figma files”; stack “Next.js, Tailwind, shadcn/ui”.

    Bolt — lists “start from Figma” beside GitHub and team templates; output web apps, and Expo apps through its mobile path.

    Lovable — three documented ways in: the Figma plugin (“select frames or components in Figma and send them to Lovable without leaving your design tool”), the Figma MCP (needs the “Lovable desktop app” and the “Figma desktop app with Dev Mode enabled”), and a .fig upload that brings “variable collections, colors, typography, and frame structure” but does “not import interactive designs or components”. Output: web apps — the FAQ states Lovable “does not generate React Native projects”.

    Figma Make — Figma’s own builder; produces “prototypes” and “web apps”, with “Use Make locally to build in any codebase, then ship right to production” marked “Coming soon” on 23 September 2026. No iOS, Android or Swift on the page.

    When this group is the right one: the product is a website or a web app, the design system already lives in Figma variables, and the question is how much of the layout survives. When it is not: the product is an app on a phone. A web page in a wrapper is what App Store guideline 4.2 describes as a “repackaged website”; native app vs web app has the boundary.

    Design to cross-platform mobile: React Native and Flutter

    Locofy — the same tool, with “React Native” and “Flutter” in its output list. The design becomes screens in a JavaScript or Dart codebase that a runtime renders on both phones.

    FlutterFlow — a visual builder rather than a converter: the Figma import maps the theme (“Colors will be appropriately mapped from your Figma theme to your FlutterFlow theme and assets will be automatically incorporated”), and the screens are built in FlutterFlow’s editor. Output: Flutter.

    What this group gives: one codebase, both stores, the same screens on both systems. What it costs: the runtime between the code and the phone — platform features reach the app through modules, and the UI is the framework’s, not iOS’s or Android’s. React Native vs native has the trade-off in full; for a product where “feels like an iPhone app” is a requirement, it is the deciding paragraph.

    Design to native mobile: an agent reads the file

    The newest group, and the one where “design to code” stops being a converter and becomes an agent with the design as one of its inputs.

    Figma’s MCP server + a coding agent. Figma’s own help page: the server “helps developers explore and implement designs quickly and accurately”, lets a client “get design context and code from your Figma designs, FigJam, and Make files”, and works with Cursor, VS Code, Claude Code, Windsurf, Android Studio, Codex, Copilot CLI, Gemini CLI, Replit and Xcode (beta), among others. The remote server is on “all seats and plans”; the desktop server needs a Dev or Full seat. The page names no output framework, because the agent decides: point Claude Code at a frame and ask for SwiftUI, and SwiftUI is what it writes. This route gives full freedom and no structure — the agent writes what you can direct it to write, and the project, the architecture and the build loop are yours to set up.

    Modaal — ours. The agent’s first prompt takes “text, images, Figma links — whatever you provide”, and “you can attach a PRD, design doc, or screenshot with no text at all”. The docs describe the Figma route in one sentence: “Point the agent at a Figma design — it pulls the design context and screenshots through the Figma integration and builds the screens to match.” What is different from the previous route is the structure around the agent: with Plan on it first writes “a structured implementation plan (a feature spec) without writing code” — overview, user scenarios, technical approach, implementation steps, files to create or modify, risks and open questions, testing strategy — which you approve before any screen exists; the output is Swift/SwiftUI for iPhone and Kotlin/Jetpack Compose for Android from one project, built and run on your Mac, in Xcode and Android Studio projects you own. The Free plan builds one project with unlimited prompts on one platform; Pro is €9 per user per month billed annually and adds both platforms and TestFlight/App Store distribution — /pricing has the rest.

    Rork — native Swift and Kotlin as separate apps; a Figma import is not stated on its pages as of 23 September 2026.

    When this group is the right one: the product is an app, the design has to be the app’s real UI rather than a preview of it, and the code has to be something the platform’s developers recognise. What it does not give: a one-click conversion. The agent rebuilds the screens from the design and from your description of what they do — which is the point of the next section.

    What survives the conversion, and what never did

    Every group above converts the same three things and none of them converts the fourth.

    Layout, spacing, type, colour survive in all three groups. This is what “design to code” means on every vendor page and what the accuracy claims are about.

    Tokens and components survive when they exist as Figma variables and components and the tool reads them — Lovable’s .fig path names “variable collections, colors, typography”; FlutterFlow maps the theme; the Figma MCP exposes variables to the agent. A screen drawn with detached instances and hard-coded hex values converts as a picture, whichever tool.

    Behaviour never survives, because it is not in the file. Tap targets, navigation, states (loading, empty, error, success), validation, what happens offline: a Figma frame shows one state of one screen. This is the part the product manager supplies, and it is why the native-mobile group asks for a description alongside the file rather than the file alone. The one-page form that carries it is the app requirements document; the prompt that turns it into a plan is on the PRD prompt page.

    The practical order for a product team: freeze the design system in Figma first (variables, components, variants), write the scenarios per screen, then convert — with whichever group matches where the product ships.

    Three questions before you pick

    1. What does the code have to be? A website, a cross-platform app, or a native app. This eliminates two of the three groups; the vendor page tells you which group a tool is in, and the table below has the quotes.

    2. Who owns the result, and in which plan? A downloadable project in the framework named, or an app that lives on the vendor’s platform. Read the pricing page, not the homepage; we did this for nineteen builders in the export table.

    3. Where does behaviour come from? If the tool takes only the file, you will add behaviour afterwards by hand or by prompt. If it takes the file and a description, write the description first. For a product manager this is the familiar artefact: the PRD, the user stories, the acceptance criteria — the same document that would have gone to engineering.

    The persona version of this page — what a designer’s week looks like with these tools — is Modaal for designers; the tool decision for a whole mobile product is cross-platform app builders sorted by output.

    Nine design-to-code tools by output

    ToolInputOutput (vendor’s words)GroupDesign system read?Behaviour from
    AnimaFigma, URL, image, prompt“HTML”, “React”; Vue in the pluginWebNot statedAdded after
    Locofy“Figma & Penpot designs”“React, React Native, HTML-CSS, Flutter, Vue, Angular, Next.js”Web + cross-platformNot statedAdded after
    Builder.ioFigma“code your team can ship” for “the frontend your product already runs on”WebComponents and tokens (“from your components and tokens”)Added after
    v0Screenshots, Figma files, prompt“Next.js, Tailwind, shadcn/ui”WebNot statedPrompt
    BoltFigma, GitHub, templates, promptWeb apps; Expo via the mobile pathWeb (+ Expo)Not statedPrompt
    LovableFigma plugin, Figma MCP, .fig upload, promptWeb apps; “does not generate React Native projects”Web.fig: “variable collections, colors, typography, and frame structure”Prompt
    Figma MakeFigma, prompt“prototypes” and “web apps”Web / prototypeNative to FigmaPrompt
    FlutterFlowFigma theme import + visual editorFlutterCross-platformTheme: colours mapped, assets importedEditor
    Figma MCP + agent (Cursor, Claude Code, Codex…)Figma frames via MCPWhatever the agent is asked forAny — agent decidesVariables via MCPPrompt, no structure
    Modaal“text, images, Figma links”; PRD, design doc or screenshot attachmentsSwift/SwiftUI + Kotlin/Jetpack Compose from one projectNative mobileDesign context and screenshots via the Figma integrationPRD + feature spec, approved before code

    Vendor pages read 23 September 2026. Rork: Figma import not stated. No accuracy figures and no prices; each vendor publishes its own.

    Frequently asked questions

    A tool that takes a design file — almost always Figma — and produces code. The code is a website or web app (Anima, Locofy, Builder.io, v0, Bolt, Lovable, Figma Make), a cross-platform mobile app in React Native or Flutter (Locofy, FlutterFlow), or a native mobile app when an AI agent reads the design through Figma’s MCP server or through a tool like Modaal. The output decides which tool fits.

    Two routes on this page. A coding agent connected to Figma’s MCP server writes whatever it is asked for, including SwiftUI or Kotlin, with no structure around it. Modaal takes Figma links, PRDs and screenshots as input and produces Swift/SwiftUI for iPhone and Kotlin/Jetpack Compose for Android from one project, with a feature spec you approve before code. Rork produces native code but does not state a Figma import.

    Yes. Figma’s MCP server exposes design context to agents including Claude Code, Cursor and Xcode (beta), and the agent can write SwiftUI from it. Modaal does the same inside a structured build: the agent reads the Figma design, writes a plan, and builds the SwiftUI screens on your Mac. Layout, spacing, type and colour convert; behaviour — states, navigation, validation — comes from your description.

    Yes, three ways per its docs: a Figma plugin to “select frames or components in Figma and send them to Lovable”, a Figma MCP connection that needs the Lovable and Figma desktop apps with Dev Mode, and a .fig upload that brings “variable collections, colors, typography, and frame structure” but not interactive designs or components. The output is a web app; Lovable states it “does not generate React Native projects”.

    Figma Make produces “prototypes” and “web apps”, per its own page on 23 September 2026, and lists building locally in a codebase and shipping to production as “coming soon”. It does not mention iOS, Android or Swift. For a prototype or a web product it is the shortest path from a Figma file; for an app in the stores it is the starting point, not the result.

    This page quotes no accuracy figures because none can be verified from outside the vendor. What can be said structurally: layout, spacing, type and colour convert in every group; tokens and components convert when they exist as Figma variables and components and the tool reads them; behaviour never converts because it is not in the file. Accuracy claims describe the first of those three.

    Yes. The design shows one state of each screen; the PRD says what happens — on tap, on error, when empty, when offline — and what is out of scope. Every tool on this page needs those decisions; the native-mobile tools take them as input alongside the file. The PRD prompt page has the prompt, and the requirements template has the one-page form.

    Design to code converts screens. Design system to code converts the reusable layer — tokens, components, variants — so that every screen built afterwards uses it. The second survives a conversion and the first often does not, which is why the practical order is: freeze the system in Figma, then convert screens with a tool that reads it.

    From the Figma file to the app in the store

    Point your own AI agent at the design and the PRD. Modaal writes the plan you approve, then real SwiftUI and Kotlin/Compose from one project, on your Mac. Free for one project, unlimited prompts.

    Keep reading