Reusable UI Components in Figma
Reusable UI Components are standardized interface elements created once and reused throughout a Figma design. They help designers maintain consistency, reduce repetitive work, simplify updates, and build scalable design systems for websites and mobile applications.
For professional Figma learning, explore JustAcademy Figma Training and Register for Figma Course Demo.
1. What Are Reusable UI Components?
A reusable UI component is a design element that can be created once and used multiple times across different screens or pages. Examples include buttons, input fields, navigation bars, cards, checkboxes, radio buttons, modals, headers, footers, and profile sections.
Instead of designing the same element repeatedly, designers create a master component and place instances of that component wherever it is required.
Component
↓
Create Once
↓
Reuse Multiple Times
↓
Maintain Consistency
↓
Update Centrally
2. Why Reusable Components Are Important
- Reduce repetitive design work.
- Improve consistency across screens.
- Make design updates faster.
- Support scalable design systems.
- Reduce design errors.
- Improve collaboration between designers.
- Make developer handoff easier.
- Maintain consistent spacing, typography, colors, and interaction patterns.
3. Examples of Reusable UI Components
| Component | Common Usage |
| Button | Login, Submit, Save, Continue, Buy Now |
| Input Field | Forms, Search, Registration |
| Card | Products, Articles, Profiles |
| Navbar | Website and application navigation |
| Modal | Confirmation, alerts, dialogs |
| Checkbox | Multiple selections and preferences |
| Radio Button | Single-choice selections |
| Dropdown | Selection menus |
| Avatar | User profiles and account sections |
| Badge | Status and category indicators |
4. Components vs Instances
In Figma, a component acts as the reusable source, while an instance is a reusable copy placed in a design.
| Component | Instance |
| Reusable source element | Reusable copy of the component |
| Used to define the design | Used in actual screens |
| Changes can control instances | Can inherit changes from the main component |
| Usually maintained in a component library | Placed throughout product designs |
5. Creating a Basic Component
A reusable component can begin with a simple element such as a button.
- Create a button frame.
- Add text such as "Submit".
- Apply typography and colors.
- Add padding and spacing.
- Use Auto Layout where appropriate.
- Convert the finished element into a component.
- Give the component a meaningful name.
Button
├── Label
├── Padding
├── Background
├── Border Radius
└── Interaction
6. Designing Reusable Buttons
Buttons are among the most commonly reused UI components. A good button component should support different states, sizes, labels, and usage contexts.
Common Button Properties
- Label
- Size
- Type
- State
- Icon
- Background color
- Text color
- Border radius
- Padding
7. Button Variants
Instead of creating separate components for every button variation, designers can organize related variations into a component set.
Button
├── Type = Primary
├── Type = Secondary
├── Type = Tertiary
├── State = Default
├── State = Hover
├── State = Pressed
├── State = Disabled
└── Size = Small / Medium / Large
8. Reusable Input Components
Input fields should be designed as reusable components because forms often contain many similar fields.
- Default input
- Focused input
- Filled input
- Error input
- Disabled input
- Success input
- Password input
- Search input
9. Reusable Cards
Cards are commonly used for products, blog posts, services, courses, profiles, and dashboard information.
Product Card
├── Image
├── Category
├── Product Name
├── Description
├── Price
├── Rating
└── Action Button
A reusable card component allows designers to maintain the same layout while changing the content for different items.
10. Reusable Navigation Components
Navigation components help maintain consistency across multiple pages.
- Header
- Navbar
- Sidebar
- Bottom navigation
- Breadcrumbs
- Tabs
- Pagination
11. Using Auto Layout with Components
Auto Layout makes reusable components more flexible. For example, a button can automatically adjust its width when the label changes.
Button Frame
↓
Auto Layout
↓
Horizontal Padding
↓
Text Label
↓
Button Automatically Resizes
Auto Layout is particularly useful for buttons, cards, navigation items, lists, form fields, and responsive interface elements.
12. Component Properties
Component properties allow designers to expose important customization options without creating unnecessary duplicate components.
Common Property Types
- Boolean properties
- Text properties
- Instance swap properties
- Variant properties
13. Boolean Properties
Boolean properties can control whether an element is visible or hidden.
For example, a button component can have an optional leading icon.
Button
Show Icon = True
Show Icon = False
This allows one component to support both versions without creating separate components.
14. Text Properties
Text properties allow users to change component text while keeping the component structure consistent.
Button Label = "Submit"
Button Label = "Continue"
Button Label = "Get Started"
This is useful for reusable buttons, labels, cards, headings, and other text-based components.
15. Instance Swap Properties
Instance swap properties allow a nested component to be replaced with another compatible component.
For example, a navigation component may allow the user to change an icon without breaking the overall structure.
Navigation Item
├── Icon → Swap Icon
└── Label → Change Text
16. Component Variants
Variants group related versions of a component together. They are useful when a component has different states, sizes, or visual styles.
| Property | Example Values |
| Size | Small, Medium, Large |
| State | Default, Hover, Pressed, Disabled |
| Type | Primary, Secondary, Tertiary |
| Theme | Light, Dark |
17. Naming Components
Consistent naming is essential for finding components quickly.
Recommended Naming Structure
Category / Component / Variant / State
Button / Primary / Medium / Default
Button / Primary / Medium / Disabled
Input / Text / Default
Input / Text / Error
Card / Product / Featured
18. Component Naming Best Practices
- Use meaningful names.
- Keep naming consistent.
- Avoid random abbreviations.
- Use logical categories.
- Use variants instead of duplicate component names.
- Keep naming predictable for the entire team.
19. Organizing Components
A large Figma project can contain hundreds of components. Proper organization makes the component library easier to use.
Components
├── Buttons
├── Forms
├── Navigation
├── Cards
├── Modals
├── Tables
├── Feedback
├── Icons
└── Data Display
20. Component Libraries
A component library is a centralized collection of reusable components that can be shared across files and projects. It can contain buttons, forms, typography styles, icons, cards, navigation elements, and other standardized UI patterns.
Libraries are especially useful for large teams and products containing multiple screens or applications.
21. Benefits of Component Libraries
- Centralized design resources.
- Consistent UI across projects.
- Faster product development.
- Easier maintenance.
- Improved collaboration.
- Better design-to-development consistency.
- Reduced duplication.
22. Reusable Components and Design Systems
Reusable components are an important building block of a design system. A mature design system can combine design tokens, typography, colors, spacing, components, patterns, documentation, and usage guidelines.
Design System
├── Foundations
│ ├── Colors
│ ├── Typography
│ ├── Spacing
│ └── Icons
├── Components
│ ├── Buttons
│ ├── Inputs
│ ├── Cards
│ └── Navigation
└── Patterns
├── Forms
├── Dashboards
└── Checkout
23. Reusable Components and Design Tokens
Design tokens define reusable values such as colors, spacing, typography, border radius, and shadows. Components can use these values to maintain consistency throughout a design.
| Token Type | Example |
| Color | Primary, Success, Error |
| Spacing | 4px, 8px, 16px, 24px |
| Radius | 4px, 8px, 12px |
| Typography | Heading, Body, Caption |
| Shadow | Small, Medium, Large |
24. Reusable Components and Responsive Design
Reusable components should work across different screen sizes. Components should be designed with flexible widths, Auto Layout, appropriate constraints, and responsive behavior.
Desktop
↓
Tablet
↓
Mobile
↓
Same Component
↓
Responsive Behavior
25. Reusable Components for Mobile Apps
Mobile applications commonly use reusable components such as app bars, bottom navigation, cards, buttons, input fields, lists, dialogs, tabs, and profile components.
Creating these components once helps designers maintain a consistent mobile experience across multiple screens.
26. Reusable Components for Websites
Website design systems commonly contain reusable headers, navigation bars, hero sections, cards, forms, buttons, footers, alerts, modals, and content sections.
27. Nested Components
Components can contain other components. For example, a product card can contain an image component, badge component, rating component, and button component.
Product Card
├── Product Image
├── Badge Component
├── Rating Component
├── Price
└── Button Component
Nested components make complex interfaces easier to maintain and update.
28. Component Overrides
Instances can often have customized content while still remaining connected to their main component. Designers should use overrides carefully and avoid changing the structure unnecessarily.
Good Overrides
- Changing text.
- Changing an image.
- Changing an icon through a supported property.
- Selecting a supported variant.
Avoid
- Breaking the component structure unnecessarily.
- Creating inconsistent local modifications.
- Using duplicate components when a variant would be more appropriate.
29. Detaching Components
Detaching an instance separates it from its component relationship. This should be used carefully because future updates from the main component may no longer apply to the detached element.
Before detaching a component, consider whether a variant, property, or controlled override can solve the requirement instead.
30. Reusable Components for Forms
Forms benefit greatly from reusable components because fields often share the same structure.
Form Field
├── Label
├── Input
├── Helper Text
└── Error Message
The same component can then be reused for name, email, phone, password, address, and other fields.
31. Reusable Components for Dashboards
Dashboard interfaces frequently use cards, tables, charts, filters, tabs, dropdowns, status badges, and navigation components.
Dashboard
├── Sidebar
├── Header
├── Statistic Cards
├── Chart
├── Filter
├── Data Table
└── Pagination
32. Reusable Components for E-Commerce
E-commerce projects can use reusable product cards, pricing blocks, cart items, quantity selectors, filters, review components, checkout fields, and order summaries.
E-Commerce System
├── Product Card
├── Product Image
├── Price
├── Rating
├── Add to Cart Button
├── Cart Item
└── Checkout Form
33. Reusable Components for Prototypes
Reusable components can also be used in interactive prototypes. Buttons, menus, tabs, dialogs, navigation items, and form elements can be designed as components and connected to prototype interactions.
34. Component States
Interactive components should represent important user states.
| Component | Possible States |
| Button | Default, Hover, Pressed, Disabled |
| Input | Default, Focused, Error, Disabled |
| Checkbox | Unchecked, Checked, Disabled |
| Toggle | On, Off, Disabled |
| Navigation | Default, Active, Disabled |
35. Accessibility in Reusable Components
Reusable components should support accessibility from the beginning. Consistent components make it easier to apply accessibility standards across the entire product.
- Use sufficient color contrast.
- Do not rely only on color to communicate status.
- Provide clear focus states.
- Use readable typography.
- Maintain appropriate touch target sizes.
- Use meaningful labels.
- Consider keyboard navigation for web products.
36. Components and Developer Handoff
Well-organized reusable components make developer handoff easier because developers can identify consistent patterns and understand which UI elements should be reused.
Component names, variants, states, spacing, typography, and behavior should be documented clearly.
37. Component Documentation
Good documentation explains how and when a component should be used.
| Documentation Area | Information |
| Name | Component name |
| Purpose | What the component is used for |
| Variants | Available styles and states |
| Properties | Available customization options |
| Usage | When to use the component |
| Restrictions | When not to use it |
38. Common Mistakes in Reusable Components
- Creating too many duplicate components.
- Using inconsistent naming.
- Ignoring Auto Layout.
- Creating components without clear variants.
- Using unnecessary overrides.
- Detaching components without a reason.
- Not documenting component behavior.
- Ignoring accessibility.
- Creating components that are too complex.
- Not maintaining the component library.
39. Best Practices for Reusable UI Components
- Start with frequently repeated UI patterns.
- Use meaningful component names.
- Use Auto Layout for flexible components.
- Use variants for related states and styles.
- Use component properties for controlled customization.
- Keep components simple and understandable.
- Use consistent spacing and typography.
- Document important usage rules.
- Review and clean the component library regularly.
- Test components in real screens before finalizing them.
40. Practical Example: Creating a Reusable Button
Suppose a website needs buttons on the Login, Signup, Checkout, and Profile pages.
- Create one primary button.
- Add Auto Layout.
- Set horizontal and vertical padding.
- Define typography.
- Set border radius.
- Create different states.
- Add a text property for the label.
- Create appropriate variants.
- Use instances throughout the product.
Button Component
├── Primary
│ ├── Default
│ ├── Hover
│ ├── Pressed
│ └── Disabled
└── Secondary
├── Default
├── Hover
├── Pressed
└── Disabled
41. Practical Example: Reusable Product Card
Consider an e-commerce application with 100 products. Instead of creating every product card separately, create one reusable product card component.
Product Card
Image → Product Image
Title → Product Name
Price → Product Price
Rating → Product Rating
Button → Add to Cart
Each product can then use an instance with different content.
42. Practical Example: Reusable Login Form
A login screen can contain reusable email and password field components along with a reusable button.
Login Form
├── Email Input Component
├── Password Input Component
├── Remember Me Component
└── Login Button Component
The same fields can be reused on signup, account settings, checkout, and other screens.
43. Reusable Components Workflow
Identify Repeated UI
↓
Create Base Component
↓
Apply Auto Layout
↓
Define Properties
↓
Create Variants
↓
Name Clearly
↓
Add to Component Library
↓
Use Instances
↓
Test in Real Screens
↓
Document and Maintain
44. Reusable Components and Team Collaboration
Shared components help multiple designers work with the same visual language. Instead of creating their own versions of common elements, designers can use standardized components from the shared library.
This reduces visual inconsistencies and makes large design projects easier to maintain.
45. Maintaining a Component Library
- Remove outdated components.
- Merge unnecessary duplicates.
- Review naming conventions.
- Keep variants organized.
- Document major components.
- Review accessibility.
- Check responsive behavior.
- Communicate important component changes to the team.
46. Reusable Components Checklist
- Component has a clear purpose.
- Name follows the team convention.
- Auto Layout is used where appropriate.
- Variants are organized correctly.
- Properties are meaningful.
- States are covered.
- Spacing is consistent.
- Typography is consistent.
- Accessibility has been considered.
- Component is tested in real layouts.
- Documentation is available when required.
47. Interview Questions
Q1. What is a reusable UI component?
A reusable UI component is a standardized design element that can be used multiple times across screens while maintaining a consistent structure and appearance.
Q2. What is the difference between a component and an instance?
A component is the reusable source element, while an instance is a reusable copy placed in a design.
Q3. Why is Auto Layout useful for reusable components?
Auto Layout allows components to adapt to changing content, spacing, and dimensions while maintaining their layout structure.
Q4. What are variants?
Variants group related versions of a component, such as different sizes, states, or styles.
Q5. What are component properties?
Component properties expose controlled customization options such as text, visibility, instance swaps, and variants.
Q6. Why are component libraries useful?
Component libraries provide centralized reusable UI resources that improve consistency, collaboration, and maintenance.
Q7. Why should designers avoid unnecessary duplicate components?
Duplicate components increase maintenance effort and can create inconsistent UI patterns across the product.
48. Learning Path for Reusable UI Components
- Learn Figma frames and layers.
- Learn Auto Layout.
- Understand components.
- Understand instances.
- Learn variants.
- Learn component properties.
- Build reusable buttons.
- Build reusable form fields.
- Build reusable cards.
- Create navigation components.
- Build component libraries.
- Learn design systems.
- Practice responsive components.
- Apply accessibility principles.
- Document and maintain components.
49. Key Takeaways
- Reusable components are essential for scalable UI design.
- Components reduce repetitive design work.
- Instances allow components to be reused throughout a design.
- Auto Layout makes components flexible.
- Variants manage related component versions.
- Component properties provide controlled customization.
- Libraries help teams share standardized components.
- Good naming and organization improve productivity.
- Accessibility should be considered when building components.
- Regular maintenance keeps component libraries useful.
50. Conclusion
Reusable UI Components are one of the most important concepts for creating scalable and consistent interfaces in Figma. By combining components, instances, Auto Layout, variants, component properties, and libraries, designers can build flexible UI systems that are easier to maintain and reuse.
A well-designed component system reduces repetitive work, improves collaboration, supports responsive design, strengthens design consistency, and makes developer handoff more efficient. For professional learning, explore JustAcademy Figma Training and Register for Figma Course Demo.