Cursor to Figma: Copy a Localhost App Into Editable Layers
Learn how to capture a localhost app built with Cursor and paste its rendered UI into Figma as editable design material.

Cursor can build and refine a real interface directly in a codebase, often before the team has a current Figma file. That creates a code-to-canvas gap: the app works on localhost, but design review is reduced to screenshots, recordings, or someone else's development environment.
The practical Cursor-to-Figma workflow starts with the browser output. Run the project, open the exact localhost route in Chrome, capture it with CopyFig, and paste it into Figma. The same principle works for the framework-level workflows in our React guide and for AI-built products covered in our AI app guide.
| Cursor source | Best capture target | Why |
|---|---|---|
| Local development server | A localhost route in Chrome | Fastest path for work that is not deployed |
| Storybook | One rendered story or component state | Keeps component review focused |
| Staging or production | The exact authorized browser state | Best for comparing code with what actually shipped |
| Source files | Do not capture directly | Figma needs the visual result, not JSX, HTML, or CSS text |
The Cursor to Figma workflow
Open the project in Cursor and run its normal development command. When the server is ready, open the target route in Chrome at the localhost address shown by the project. Navigate to the exact page, modal, form step, or populated state the team needs to review.
Let fonts, images, data, and client-side components finish rendering. Run CopyFig in the Chrome tab, choose full-page capture or select one element, and paste the result into a Figma Design file. Preserve the first frame as the code baseline before exploring changes.
- Run the project's documented development command.
- Open the intended localhost route in Chrome.
- Capture the whole page or isolate a component.
- Paste into Figma and label the frame with its route, state, and viewport.
Why rendered output matters more than Cursor's source code
Cursor may generate React, Next.js, Vue, Svelte, Astro, or plain HTML and CSS. Figma does not need to know which agent, model, or framework produced the source. The browser resolves that code into the visual interface people actually see.
Capturing after the page renders includes computed layout, loaded fonts, resolved images, responsive rules, and the current application state. Copying a source file or an isolated HTML fragment can miss styles, assets, data, and client-side behavior that determine the final screen.
Copy localhost without deploying the app
A local interface should not need a public URL just to enter a design review. Because CopyFig runs in Chrome, it can capture a localhost page visible on your machine. This keeps unfinished work inside the development environment and removes a deployment step from the feedback loop.
If the project uses a self-signed certificate, unusual browser profile, or embedded preview, first confirm that the target route works in a normal Chrome tab. Capture only after the visible browser state matches what you intend to discuss.

Capture one component from Storybook or a focused route
Full pages are useful for hierarchy and flow review, but they create noise when the decision concerns one component. Open the component in Storybook or on a focused development route, then use element capture to isolate the rendered card, navigation bar, form, table, modal, or menu.
Paste several states beside one another in Figma. A compact board containing default, hover, focus, disabled, loading, error, and populated states makes inconsistencies easier to see than clicking through them one at a time.
- Keep each component state at the same viewport and content width.
- Use realistic content lengths instead of ideal placeholder text.
- Label states by behavior, not by vague version numbers.
- Separate the captured implementation from proposed variants.
Bring authenticated and data-driven screens into the review
Many useful product screens only appear after login, with seeded data, or behind a feature flag. A URL importer outside your browser may not share that session. Browser-first capture starts from the authorized state already visible in Chrome.
Use a development account and safe fixtures whenever possible. Before sharing the Figma file, inspect tables, avatars, URLs, notifications, and error messages for secrets or personal data. The design review does not need production customer information.

Capture responsive routes and complete flows
Do not scale a desktop frame down in Figma and call it a mobile design. Resize Chrome to the intended viewport, let the responsive layout settle, and capture desktop, tablet, and mobile states separately.
For a product journey, capture the route sequence as individual frames: entry, action, validation, loading, success, and the next decision. Arrange them from left to right so designers and engineers can review the system without running the project themselves.
What transfers to Figma and what stays in code
CopyFig is designed to convert visible text, frames, fills, images, and layout structure into editable Figma material where supported. That gives the team a practical canvas for changing copy, comparing spacing, testing hierarchy, and consolidating visual patterns.
The capture is static. React components, application logic, routes, animations, hover behavior, and data fetching stay in the Cursor project. Complex canvas content, video, unusual effects, and unavailable fonts may require replacement or cleanup in Figma.
Close the loop from Figma back to Cursor
Keep the untouched captured frame beside the approved direction so the team can see exactly what changed. Annotate component names, token choices, content rules, and responsive behavior instead of relying on visual inference alone.
Then return the decisions to the codebase: update the real components and tokens in Cursor, run the app again, and capture the revised state when visual verification matters. Figma becomes a decision surface while the repository remains the implementation source of truth.
Frequently asked questions
How do I copy a Cursor app to Figma?
Run the project, open its rendered page in Chrome, capture the full page or a selected element with CopyFig, and paste it into Figma as editable design material.
Can I copy localhost into Figma?
Yes. CopyFig runs in Chrome, so it can capture a localhost page that is rendered and visible in your browser. The app does not need to be deployed publicly first.
Do I need a Cursor-to-Figma plugin?
You do not need a dedicated Cursor plugin or a Figma plugin for this workflow. Use the CopyFig Chrome extension on the running app, then paste the result into Figma.
Does Cursor's framework matter?
No. CopyFig starts from the interface rendered in Chrome, so the workflow can be used with React, Next.js, Vue, Svelte, Astro, or other web projects that Cursor edits.
Does the Figma capture include working interactions?
No. The capture provides editable visual material, not application logic or live interactions. Capture important states separately and keep the working behavior in the codebase.