> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rocket.new/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a web app

> Convert Figma designs into deployable React or Next.js web apps using Rocket.new's Figma-to-code pipeline.

export const LlmsDirective = () => <blockquote className="llms-directive">
    For the complete documentation index, see <a href="/llms.txt">llms.txt</a>.
    For a lightweight markdown version of this page, append .md to the URL.
  </blockquote>;

<LlmsDirective />

<Info>
  **Figma to production-ready web app in minutes.** Import your Figma designs and Rocket generates a complete React or Next.js web app with responsive layouts, styled components, and clean code that matches your design. Then iterate with chat to add functionality, connect integrations, and ship.
</Info>

<Note>
  Figma import is only available on the web browser at [rocket.new](https://rocket.new). It is not available in the Rocket mobile app.
</Note>

<Divider />

## What you can build

<AccordionGroup>
  <Accordion title="Marketing sites and landing pages" icon="globe">
    Turn your marketing design into a live, responsive site with SEO-ready code.

    **Try this prompt after import:**

    ```plaintext wrap theme={null}
    Add a contact form that sends submissions to my email via Resend. Make the hero section animate on scroll.
    ```
  </Accordion>

  <Accordion title="Web applications with full functionality" icon="window-maximize">
    Transform dashboard, SaaS, or product designs into interactive web apps with real logic.

    **Try this prompt after import:**

    ```plaintext wrap theme={null}
    Connect Supabase for user authentication. Add login/signup flows and protect the dashboard behind auth. Make the sidebar navigation functional.
    ```
  </Accordion>

  <Accordion title="E-commerce storefronts" icon="store">
    Convert product catalog designs into working stores with cart and checkout.

    **Try this prompt after import:**

    ```plaintext wrap theme={null}
    Connect Stripe for checkout. Make the product grid filterable by category and add a working shopping cart with quantity controls.
    ```
  </Accordion>
</AccordionGroup>

<Divider />

## Before you begin

<Info>
  **You will need:**

  * Access to [rocket.new](https://rocket.new).
  * A Figma account and a design file with **view or edit permission**.
</Info>

<Card icon="figma" href="/build/create/figma/get-your-figma-url" horizontal arrow="true">
  Not sure how to get your Figma link? **Follow this quick guide to grab the right URL.**
</Card>

<Divider />

## Launch your web app

<Steps>
  <Step title="Import Figma">
    Click the **+** button at the lower left of the input box and select **Add from Figma**.

    <Frame caption="Click + then select Add from Figma">
      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/hTDiGbj74iN7UPxd/images/build-docs/create/figma/web-app/homepage-plus-menu-add-from-figma-light.webp?fit=max&auto=format&n=hTDiGbj74iN7UPxd&q=85&s=857236befd3fb207616a3e0497a95eca" alt="The + button menu open with Add from Figma highlighted." className="theme-image light-image" width="2880" height="1624" data-path="images/build-docs/create/figma/web-app/homepage-plus-menu-add-from-figma-light.webp" />

      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/hTDiGbj74iN7UPxd/images/build-docs/create/figma/web-app/homepage-plus-menu-add-from-figma-dark.webp?fit=max&auto=format&n=hTDiGbj74iN7UPxd&q=85&s=c4587b88177e0e21c760ad108e13d33e" alt="The + button menu open with Add from Figma highlighted." className="theme-image dark-image" width="2880" height="1624" data-path="images/build-docs/create/figma/web-app/homepage-plus-menu-add-from-figma-dark.webp" />
    </Frame>

    <Card icon="figma" href="/build/connectors/figma" horizontal arrow="true">
      First time? **Connect your Figma account to Rocket** before importing.
    </Card>
  </Step>

  <Step title="Paste your Figma link">
    In the **Import Figma design** dialog, paste your Figma frame or file URL and click **Start Import**.

    <Frame caption="Paste your Figma frame or file URL">
      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/pLntWJzZ3SjUx1lc/images/build-docs/create/figma/web-app/import-figma-design-modal-light.webp?fit=max&auto=format&n=pLntWJzZ3SjUx1lc&q=85&s=0278c20598b3ff026986e21eda11d7e7" alt="Import Figma design dialog with a URL input field and Start Import button." className="theme-image light-image" width="2880" height="1624" data-path="images/build-docs/create/figma/web-app/import-figma-design-modal-light.webp" />

      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/pLntWJzZ3SjUx1lc/images/build-docs/create/figma/web-app/import-figma-design-modal-dark.webp?fit=max&auto=format&n=pLntWJzZ3SjUx1lc&q=85&s=2069ccf8fa9e40896d3b808bc15002c4" alt="Import Figma design dialog with a URL input field and Start Import button." className="theme-image dark-image" width="2880" height="1624" data-path="images/build-docs/create/figma/web-app/import-figma-design-modal-dark.webp" />
    </Frame>
  </Step>

  <Step title="Select frames and tech stack">
    <Note>
      You can import up to **40 screens** at a time.
    </Note>

    Rocket shows the frames from your Figma file. Select the ones you want to build, then click **Start import**.

    <Frame caption="Select the frames to convert to code">
      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/pLntWJzZ3SjUx1lc/images/build-docs/create/figma/web-app/web-frame-picker-light.webp?fit=max&auto=format&n=pLntWJzZ3SjUx1lc&q=85&s=e152ce3ee0bb4ff7dcb8009a10c461c0" alt="Frame selection panel showing Web frames tab with thumbnails and a Start import button." className="theme-image light-image" width="1440" height="812" data-path="images/build-docs/create/figma/web-app/web-frame-picker-light.webp" />

      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/pLntWJzZ3SjUx1lc/images/build-docs/create/figma/web-app/web-frame-picker-dark.webp?fit=max&auto=format&n=pLntWJzZ3SjUx1lc&q=85&s=f13ac3d757bdc62193508dd7cbc7635d" alt="Frame selection panel showing Web frames tab with thumbnails and a Start import button." className="theme-image dark-image" width="1440" height="812" data-path="images/build-docs/create/figma/web-app/web-frame-picker-dark.webp" />
    </Frame>

    <Note>**Using the free plan?** Some features may be limited. Upgrade to keep generating without interruptions.</Note>

    Choose your tech stack. Options include **Next.js**, **HTML**, and **React**:

    <Frame caption="Choose your tech stack">
      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/pLntWJzZ3SjUx1lc/images/build-docs/create/figma/web-app/web-tech-stack-picker-light.webp?fit=max&auto=format&n=pLntWJzZ3SjUx1lc&q=85&s=8f9294e60999bbb7f1ff5292d8d5694a" alt="Tech stack selection showing Next.js, HTML, and React radio button options." className="theme-image light-image" width="1440" height="812" data-path="images/build-docs/create/figma/web-app/web-tech-stack-picker-light.webp" />

      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/pLntWJzZ3SjUx1lc/images/build-docs/create/figma/web-app/web-tech-stack-picker-dark.webp?fit=max&auto=format&n=pLntWJzZ3SjUx1lc&q=85&s=d768cf84f7b6c934dfdbfa4f6fe75b07" alt="Tech stack selection showing Next.js, HTML, and React radio button options." className="theme-image dark-image" width="1440" height="812" data-path="images/build-docs/create/figma/web-app/web-tech-stack-picker-dark.webp" />
    </Frame>
  </Step>

  <Step title="Rocket generates your web app">
    Rocket fetches your Figma design assets, optimizes layers, and generates structured, readable code screen by screen.

    <Frame caption="Rocket is building your web app in real time">
      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/pLntWJzZ3SjUx1lc/images/build-docs/create/figma/web-app/figma-import-progress-light.webp?fit=max&auto=format&n=pLntWJzZ3SjUx1lc&q=85&s=e02f9f7849c57506aaf209559d443cec" alt="Generation progress panel showing Fetching Figma and Writing Code steps with live status updates." className="theme-image light-image" width="1564" height="822" data-path="images/build-docs/create/figma/web-app/figma-import-progress-light.webp" />

      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/pLntWJzZ3SjUx1lc/images/build-docs/create/figma/web-app/figma-import-progress-dark.webp?fit=max&auto=format&n=pLntWJzZ3SjUx1lc&q=85&s=1784ec9f430fbcc4db49a40d7d047368" alt="Generation progress panel showing Fetching Figma and Writing Code steps with live status updates." className="theme-image dark-image" width="1564" height="822" data-path="images/build-docs/create/figma/web-app/figma-import-progress-dark.webp" />
    </Frame>

    All status checks turn green when your web app is ready.
  </Step>

  <Step title="Review in Rocket and compare with Figma">
    Once generation is complete, use the **Preview** tab at the top of the editor to view your Rocket-generated web app.

    To view your original Figma design directly in Rocket, click the **<Icon icon="figma" />** icon in the top-right navbar. This opens the Figma preview panel, showing your source design alongside the chat panel.

    <Frame caption="Click the Figma icon in the top-right to open your Figma design in Rocket">
      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/pLntWJzZ3SjUx1lc/images/build-docs/create/figma/web-app/figma-preview-panel-open-light.webp?fit=max&auto=format&n=pLntWJzZ3SjUx1lc&q=85&s=e322584fe83cff2f1ded3344eff515b8" alt="Rocket editor with the Figma icon highlighted in the top-right navbar and the Figma design displayed in the preview panel." className="theme-image light-image" width="1440" height="812" data-path="images/build-docs/create/figma/web-app/figma-preview-panel-open-light.webp" />

      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/pLntWJzZ3SjUx1lc/images/build-docs/create/figma/web-app/figma-preview-panel-open-dark.webp?fit=max&auto=format&n=pLntWJzZ3SjUx1lc&q=85&s=b69d11a68c368ab7263b3b0948456fa7" alt="Rocket editor with the Figma icon highlighted in the top-right navbar and the Figma design displayed in the preview panel." className="theme-image dark-image" width="1440" height="812" data-path="images/build-docs/create/figma/web-app/figma-preview-panel-open-dark.webp" />
    </Frame>

    <Info>
      **Want to make changes?** Just describe what you want in the chat. No need to go back to Figma.

      Try things like:

      * "Make the hero section background dark and the text white"
      * "Add dark mode to the website"
      * "Increase the size of the hero image"
      * "Switch the font to Roboto and make the header smaller"
    </Info>
  </Step>

  <Step title="Add more screens">
    Need to bring in more screens after the initial import?

    Click the **+** button at the bottom of the chat, then select **Add new screen**.

    <Frame caption="Click + then select Add new screen">
      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/pLntWJzZ3SjUx1lc/images/build-docs/create/figma/web-app/task-plus-menu-add-new-screen-light.webp?fit=max&auto=format&n=pLntWJzZ3SjUx1lc&q=85&s=0c09cfe4dfe6c6f9ee77702f150d6f98" alt="Chat input + menu open with Add new screen highlighted." className="theme-image light-image" width="1440" height="812" data-path="images/build-docs/create/figma/web-app/task-plus-menu-add-new-screen-light.webp" />

      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/pLntWJzZ3SjUx1lc/images/build-docs/create/figma/web-app/task-plus-menu-add-new-screen-dark.webp?fit=max&auto=format&n=pLntWJzZ3SjUx1lc&q=85&s=3187b0f204fc33c7456f013ae8e7f87c" alt="Chat input + menu open with Add new screen highlighted." className="theme-image dark-image" width="1440" height="812" data-path="images/build-docs/create/figma/web-app/task-plus-menu-add-new-screen-dark.webp" />
    </Frame>

    * **From the same file:** Select from the list of available screens (already-imported ones are marked) and click **Start import**.

    <Frame caption="Choose to add from the same Figma file or a different one">
      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/pLntWJzZ3SjUx1lc/images/build-docs/create/figma/web-app/add-screen-file-source-menu-light.webp?fit=max&auto=format&n=pLntWJzZ3SjUx1lc&q=85&s=97ed7bd18611c2a27e824f11ef09353f" alt="Submenu showing From same file and From different file options." className="theme-image light-image" width="1440" height="812" data-path="images/build-docs/create/figma/web-app/add-screen-file-source-menu-light.webp" />

      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/pLntWJzZ3SjUx1lc/images/build-docs/create/figma/web-app/add-screen-file-source-menu-dark.webp?fit=max&auto=format&n=pLntWJzZ3SjUx1lc&q=85&s=2fe6cb0e3b677e59881eaae7a5cebbea" alt="Submenu showing From same file and From different file options." className="theme-image dark-image" width="1440" height="812" data-path="images/build-docs/create/figma/web-app/add-screen-file-source-menu-dark.webp" />
    </Frame>

    Select the screens you want to add and click **Start import**.

    <Frame caption="Select screens from your Figma file">
      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/pLntWJzZ3SjUx1lc/images/build-docs/create/figma/web-app/same-file-screen-picker-light.webp?fit=max&auto=format&n=pLntWJzZ3SjUx1lc&q=85&s=442f8f8331a7d545348e156cecf067cc" alt="Frame picker modal showing Web frames with thumbnails and a Start import button." className="theme-image light-image" width="1440" height="812" data-path="images/build-docs/create/figma/web-app/same-file-screen-picker-light.webp" />

      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/pLntWJzZ3SjUx1lc/images/build-docs/create/figma/web-app/same-file-screen-picker-dark.webp?fit=max&auto=format&n=pLntWJzZ3SjUx1lc&q=85&s=b2c03086d12687b2ad70d18d544958ec" alt="Frame picker modal showing Web frames with thumbnails and a Start import button." className="theme-image dark-image" width="1440" height="812" data-path="images/build-docs/create/figma/web-app/same-file-screen-picker-dark.webp" />
    </Frame>

    * **From a different file:** Choose **From different file**, then paste a new Figma URL. This starts a new task. Your current task is not affected.
  </Step>
</Steps>

<Divider />

## After your import

Once Rocket generates your web app, iterate with chat to bring it to life:

| Goal                   | Prompt                                                                             |
| :--------------------- | :--------------------------------------------------------------------------------- |
| Add interactivity      | `Make the navigation links functional and add smooth page transitions.`            |
| Connect a database     | `Connect Supabase and store form submissions in a "contacts" table.`               |
| Add authentication     | `Add login and signup pages with email/password auth via Supabase.`                |
| Improve responsiveness | `Make the layout fully responsive. Stack the sidebar below the content on mobile.` |
| Fix visual differences | `The hero section font size does not match my Figma design. Make it 48px bold.`    |
| Add dark mode          | `Add a dark mode toggle that switches all colors to a dark theme.`                 |

<Divider />

## Tips

* **Start with key screens.** Import your most important 5-10 screens first, then add more incrementally.
* **Use the Figma preview.** Click the <Icon icon="figma" /> icon in the top-right navbar to view your original Figma design directly in Rocket. Use the **Preview** tab to see the Rocket-generated app.
* **Fix visual mismatches in chat.** If a shadow, spacing, or color does not match, describe the difference and Rocket corrects it.
* **Follow the design guidelines.** Properly grouped layers, correct frame sizes, and clean vectors produce significantly better results. See the [guidelines](/build/create/figma/figma-design-guidelines/overview).
* **Prototype links do not work.** Use file or frame URLs, not prototype links.

<Divider />

## What's next?

<CardGroup cols={2}>
  <Card title="Iterate with chat" icon="messages" href="/build/editor/chat">
    Refine your imported app with natural language prompts.
  </Card>

  <Card title="Connectors" icon="puzzle-piece" href="/build/connectors/overview">
    Add payments, databases, AI, email, and analytics.
  </Card>

  <Card title="Design guidelines" icon="book" href="/build/create/figma/figma-design-guidelines/overview">
    Best practices for preparing Figma files for import.
  </Card>

  <Card title="Launch your app" icon="desktop" href="/build/launch-web/launch-your-site">
    Publish your Figma-generated web app.
  </Card>
</CardGroup>
