Figma to Bubble Guide: Import Your Designs 3x Faster with Fewer Errors

Article cover
Have you created a Figma prototype and want to easily import it into Bubble? You're in the right place to learn how to do that. In this article, we'll cover:
bulletpoint icon
A top-notch secret method to import Figma to Bubble with fewer errors—something you won't find in the official Bubble Manual or Documentation.
bulletpoint icon
A step-by-step walkthrough of the import process, including an example where we import one screen to demonstrate the steps.
Figma icon
Free Figma toolkits and pre-built libraries to help you create app designs with minimal effort.
bulletpoint icon
Case studies of apps built with the Figma import feature.
bulletpoint icon
Timelines needed to import your Figma design into Bubble.
Let's dive in!

Native Figma to Bubble integration

Bubble provides a native integration with Figma, allowing users to directly import Figma prototypes into Bubble without relying on third-party tools. 

Advantages

  1. No additional fees for third-party services.
  2. Independence from third-party tools and their creators. Third-party tools can sometimes encounter issues, and users might need to wait for updates or fixes.

Disadvantages

  1. The integration is prone to various bugs and issues, many of which are documented in the official Bubble Manual. These problems often make the import process challenging, leading many Bubble users to rebuild the UI from scratch within Bubble rather than relying on the import feature.
Known Issues section on Importing from Figma in Bubble Manual
Common challenges highlighted in the Bubble Manual for the 'Import Figma to Bubble' feature

Deezign

Finally, there appeared a better way to import Figma to Bubble. Meet Deezign.io.

Deezign.io homepage
Deezign.io website

This Figma to Bubble plugin allows you to define the types of elements in your Figma prototype in advance. This helps you avoid a situation where, after the import, the Bubble Editor is filled with unknown elements that require cleanup. Without this plugin, you might spend as much time cleaning up the import as you would building the UI from scratch.

Native integration vs Deezign

Let's import the same Figma interface to Bubble using native integration and using Deezign and compare the time, effort, and easiness of both approaches.

Figma interface showing an authentication page design.
Authentication page design in Figma

Import the prototype using native integration

To convert Figma to Bubble using native integration, open the Bubble Editor of your application and go to "Settings" -> "Design Import".

The "Design Import" section in Bubble allows users to import Figma design files by entering an API key and Figma file ID.
"Design Import" section in the Bubble editor

Here you will need to provide the "API Key" from your Figma account and the "Figma File ID" which is the ID of your Figma file.

To generate the "API Key" go to figma.com and ensure you are logged in. Once logged in, click your profile avatar in the top-left corner and select "Settings" from the dropdown menu.

Figma dashboard with user settings

Once you complete this step, a popup will appear with the "Account" tab selected by default. Scroll down to the "Personal Access Tokens" section and click "Generate new token”.

Popup with the 'Account' tab selected and 'Generate new token' option.
Section to generate a new token from the 'Account' tab

You will be shown another popup where you have to name the API key, other adjustments could be left as they are already set by default.

Name the API key and generate it with default settings.
Name and generate the API key

Once you generated the API key, copy it and insert it in the Bubble Editor.

API key displayed with an option to copy and insert into the Bubble Editor.
Copy the generated API key and paste it into the Bubble Editor

To get the Figma file ID, open your prototype in Figma and check the browser's URL.

It will be something like

https://www.figma.com/design/uLUjNEMynLmqPltk4UtAhy/Your-file-name

You need to copy the value in between .../design/.. and .../Your-file-name, in our case it is uLUjNEMynLmqPltk4UtAhy.

Steps to retrieve the Figma file ID from the URL.
Copy the ID from the URL between '/design/' and the file name

Copy it and insert it into the Bubble Editor.

Now you can go to the Bubble Editor and tap "Import".

Paste the API key into the Bubble Editor and click 'Import'

Now you have to wait for a few moments...

Wait a few moments after clicking 'Import'.
Wait a few moments for the process to complete

And voila:

The screen has been successfully imported into the project
The screen imported successfully

The interface is successfully imported, but let's now analyze the issues that occur during the import Figma to Bubble process with the native integration.

The problem is that most of the elements were converted as a fixed layout.

Most of the imported interface elements are converted to a fixed layout.
Container imported as fixed layout

Buttons and inputs are imported as just texts and groups.

Buttons are imported as text
Buttons imported incorrectly
Inputs are imported incorrectly.
Inputs imported incorrectly

The GitHub icon is imported as just a shape.

GitHub icon imported as a shape.
Icons are imported incorrectly

And that's just for a single page. Now imagine you are using the native import Figma to Bubble.io feature to export the entire prototype. You will need to spend a lot of time fixing the responsive layout, as well as adjusting the inputs, buttons, and images. 

It took me 60 minutes to convert Figma to Bubble and finalize the page using the native integration.

Import the prototype using the Figma to Bubble plugin by Deezign.

Now let's export the same screen using the Figma to Bubble plugin by Deezign. 

First of all, we need to create an account on Deezign. Once you have signed up, you will see a straightforward list of steps to start working with Deezign.

Deezign.io interface showing a list of steps to get started after sign-up.
Steps to set up Deezign

You have to install the Deezign Chrome extension.

Prompt to install the Deezign.io Chrome extension
Install the Deezign Chrome extension to get started

Open your Figma file, turn on Developer Mode, install the Deezign Figma plugin, and launch it.

Figma file with Developer Mode enabled and the Deezign plugin installed.
Deezign Figma to Bubble plugin installation

Copy your API key generated on Deezign.

API key generated on Deezign.io, ready to be copied.
Copy the API key generated on Deezign
API key from Deezign.io inserted in Figma.
Insert the API key generated on Deezign into Figma

Now you are all set.

Deezign is activated and ready to use in Figma

Let's export the Figma screen to Bubble.

What you want to do is make sure your screen is set to auto-layout.

Importing a Figma screen to Bubble with auto-layout enabled.
Ensure auto-layout is enabled for your screen before importing it into Bubble.

If not — just enable it.

Auto-layout enabled in Figma.
Enable auto-layout

Now in the Deezign plugin in Figma open "Buttons/inputs".

Deezign.io plugin in Figma with the 'Buttons/Inputs' section open.
Buttons/Inputs' section

Select the input element on your prototype and then tap on "Input" on the Deezign interface.

Select the input element in your prototype, then click 'Input' in the Deezign.io interface.
Mark the element as an input

Do the same thing for the buttons.

Button element selected in the prototype, with the 'Button' option in the Deezign.io interface.
Mark the element as a button

Once you go through all inputs, buttons, dropdowns, and multiline inputs, you can go back to the "Convert" section on the Deezign interface.

Deezign.io interface with 'Convert' section after processing inputs, buttons, and dropdowns.
'Convert' section in the Deezign interface.

The next step is to select the parent container of the screen and click "Convert to Bubble" in the Deezign interface, but as you can see in the screenshot above we've run out of credits.

Now we have to click on "Upgrade to Premium", and go to the Deezign interface to subscribe to a monthly plan.

Deezign.io interface displaying the upgrade page for a Premium plan.
Upgrade to a Premium plan to continue

Now, everything is fine on the Deezign interface

The Deezign.io plan was updated to Premium.
Premium plan enabled

Now we can select the parent container and tap on "Convert to Bubble".

Afterward, we have to open the Bubble Editor and enable the Deezign extension. Here, you can find the element that you've converted and copy it.

Bubble Editor with Deezign.io extension enabled, showing the converted element.
Copy the converted element

Now you just have to paste it on the empty Bubble Editor page. Make sure that your page's layout is not fixed.

Paste the element on an empty Bubble page, ensuring the layout is not fixed.
Paste the element

And voila, your screen is imported from Figma.

Imported screen from Figma displayed in the Bubble Editor.
Element imported via Deezign

Now let's review the result.

All the inputs and buttons are imported properly as relevant element types.

All inputs were imported correctly.
Imported input
All buttons were imported correctly.
Imported button

Even the icon on the GitHub login button element was imported properly as HTML.

GitHub login button element imported properly.
Imported icon

Let's check the page preview.

Review the page preview.
Page preview

It looks exactly like in Figma. We now just need to polish it slightly and we will be ready to go.

Now imagine how many hours you will save when working on an e-commerce checkout or survey interface with numerous inputs, buttons, and icons. There's no doubt that, with the Deezign Figma to Bubble.io plugin, you will build your UI much faster. 

It took me 20 minutes to convert Figma to Bubble and finalize the page using Deezign, which is 3 times faster than with native integration.

Importing multiple pages

When you are using native integration, per every container in Figma, Bubble creates a separate page. You can import all of the pages within a few moments.

Each Figma container creates a separate page in Bubble, allowing quick import of all pages.
Figma containers
Each container in Figma generates a separate page in Bubble.
Bubble pages

However, in Deezign you will need to convert, copy, and paste all pages manually. But it will be faster than fixing all the buttons/inputs/icons in the Bubble Editor for all the pages that you import via native integration.

Bonus: free Figma assets

Designing products might be challenging. But not after you have read this article. You can leverage the efficiency of pre-built UI kits, Design systems, and components, use Deezign, and easily build visually appealing apps by simply bringing together the pre-built blocks and pasting them into your Bubble editor.

If you create a free account on Deezign today, you will get access to numerous free Figma libraries that could be used for your project and that will allow you to save a bunch of time and maybe even design the app yourself.

Create an account and go to "UI Kits" to grab one of the libraries.

Screenshot of "UI Kits" section from Deezign interface
Free Figma assets

Besides the ones listed on Design you can also explore more on Figma community libraries.

If you want to learn more how to use this assets, you can check out the official Figma tutorial.

Example apps we've built using Figma to Bubble native integration

Meet SWOP. A mobile e-Commerce app to exchange/resell clothing. Deezign didn't exist back then when we worked on it. After converting all the screens from Figma to Bubble.io we had to deal with a big amount of different unnecessary groups/shapes. It took us around 6 weeks to finalize MVP, but we believe it could have been around 5 weeks if we'd used Deezign.

Screenshots of the SWOP app
SWOP app

Example apps we've built using Deezign

The recent project that we've delivered lately using Deezign is a Business App for a consulting team from Boston Revby. We've spent around 8 weeks on the initial MVP and we believe it would have taken up to 10 weeks without Deezign.

Screenshots of the Revby app
Revby App

Summary

To sum, up Bubble is a great way to easily and quickly convert Figma to Bubble.io and get a functional MVP. However, you should be aware of the pitfalls of native integration and if you want to save time, you should definitely take a look at Deezign.

If you want us to take a look at your prototype and help you convert Figma to Bubble, please book a call with us.

Subscribe for new stories
Thank you! Stay tuned and we will reach out with new stories soon!
Oops! Something went wrong while submitting the form.
Book time for the free meeting below