In this guide, we’ll explore essential principles and practical tips to ensure your extensions engage users and seamlessly integrate with the Webflow ecosystem.
By focusing on user-centered design, thoughtful layout strategies, and effective color and typography choices, you’ll create extensions that not only enhance functionality but also delight users. Let’s dive in and discover how to make your extensions feel like a natural part of the Webflow experience. If you’re looking to publish your App on the Marketplace, please review our Design and Usability section of our Marketplace App Guidelines.
We’ve provided a simplified version of our design system with colors, typography, components, patterns, and App examples to help kickstart the design and build of your App. Access the Webflow Apps Figma UI kit here.
Since Designer Extensions run within an iframe, you can use traditional HTML, CSS, and JavaScript to design and develop your user interface like you would any single-page application. You can use frameworks and libraries to help with this process. For instance, you might use React or Vue.js for creating your UI components, and Tailwind CSS or Bootstrap for styling.
Webflow doesn’t require Designer Extensions to feel native to the Designer, but we do believe Apps that feel native will resonate with our customers and provide a higher-level experience.
Your UI should adhere to the following key principles:
Choose a color scheme that aligns with the purpose and tone of your App. Webflow primarily uses the Inter font for its interface. You can consider adopting it for consistency.
To use Webflow’s main font face, Inter, you will need to download the files into your App or access them via Google Font’s API. Access Inter font family on Google Fonts.
To design and build an App that feels native to Webflow’s Designer, you can use the following Webflow hosted CSS variables. These variables will automatically adjust based on a users Appearance settings. Implement these by calling them in your CSS selectors with the var() function: