Component Instances in Figma
Component Instances are reusable copies of a main component in Figma. They allow designers to use the same UI element multiple times while maintaining a connection with the original main component. Instead of creating the same button, card, input, navigation item, icon, or modal repeatedly, a designer can create one main component and insert instances wherever required.
A component instance can be customized for a particular screen while still benefiting from the structure and updates of its main component. This makes component instances an essential part of scalable UI design, design systems, collaborative workflows, and professional Figma projects.
For professional Figma learning and practical design-system training, visit JustAcademy Figma Training and Register for Figma Course Demo.
1. What is a Component Instance?
A Component Instance is a reusable copy of a main component. The instance remains connected to the main component and can be inserted into one or more screens. The main component acts as the source of the reusable design.
Main Component
↓
Component Instance
↓
Screen 1
↓
Screen 2
↓
Screen 3
2. Simple Definition
A component instance is a connected, reusable copy of a main component that can be customized for a specific use while maintaining its relationship with the original component.
3. Main Component and Instance Relationship
Main Component
↓
┌───────────────┐
│ Button │
│ Icon + Label │
└───────────────┘
↓
┌──────┬──────┬──────┐
↓ ↓ ↓
Instance Instance Instance
1 2 3
4. Why Use Component Instances?
- To reuse the same UI element.
- To maintain visual consistency.
- To reduce repetitive design work.
- To make design updates easier.
- To build scalable design systems.
- To provide controlled customization.
- To improve collaboration between designers.
- To reduce accidental inconsistencies.
- To simplify large application designs.
5. Real-World Example
Suppose a website has 50 buttons. Designing each button separately would make future changes difficult. Instead, a designer creates one Button main component and inserts instances of that component throughout the website.
Button Main Component
↓
Login Instance
Register Instance
Submit Instance
Continue Instance
Buy Now Instance
The button structure remains consistent while the content can differ according to the context.
6. Main Component vs Component Instance
| Feature | Main Component | Component Instance |
| Purpose | Source of the reusable design | Reusable copy of the source |
| Structure | Defines the component structure | Uses the defined structure |
| Editing | Can be structurally edited | Supports controlled customization |
| Updates | Defines component updates | Can receive applicable updates |
| Reuse | Acts as the source | Used repeatedly in screens |
7. Component Instance Workflow
Create Main Component
↓
Component Available in Assets
↓
Insert Instance
↓
Place Instance on Canvas
↓
Customize Supported Properties
↓
Reuse Across Screens
↓
Update Main Component
↓
Instances Receive Applicable Changes
8. Creating a Main Component Before Using Instances
Before creating an instance, there must be a main component. A main component can be created from a collection of objects or layers such as buttons, fields, cards, menus, icons, and other UI elements.
Example
Button
├── Icon
└── Label
Select the required layers and create a component. Figma places the selected layers inside a special component frame.
9. Creating a Component Instance from Assets
Once the main component exists, the easiest way to reuse it is through the Assets panel.
- Open the Figma file.
- Open the Assets tab.
- Search for the required component.
- Select the component.
- Drag it onto the canvas.
- Figma places an instance of the component on the canvas.
10. Assets Panel
The Assets panel provides access to reusable components available in the current file and enabled libraries. It helps designers quickly find and insert reusable components.
11. Assets Shortcut
| Operating System | Shortcut |
| macOS | Option + 2 |
| Windows | Alt + 2 |
12. Insert Instance Using Assets
Assets
↓
Search Component
↓
Select Component
↓
Drag to Canvas
↓
Component Instance Created
13. Using Quick Insert
Figma also provides Quick Insert for quickly finding and inserting components. This is useful when a file contains a large number of reusable assets.
Use Shift + I to open the Quick Insert interface and search for the required component.
Shift + I
↓
Search
↓
Select Component
↓
Insert Instance
14. Duplicating a Component Instance
An existing instance can be duplicated to create another instance. This is useful when multiple instances of the same component are required on a screen.
Existing Instance
↓
Duplicate
↓
New Instance
15. Copying and Pasting Instances
Component instances can also be copied and pasted. This provides a quick way to reuse an existing instance in another location or, depending on the file and library workflow, another design file.
16. Identifying a Component Instance
Figma uses component indicators to help distinguish main components and instances. A main component uses the purple component indicator, while an instance uses an outlined component indicator.
17. Main Component Indicator
The main component can be identified by the purple component icon in the Layers panel.
18. Instance Indicator
A component instance uses an outlined component indicator in the Layers panel. This helps designers understand that the selected element is connected to another main component.
Main Component
Purple Component Indicator
↓
Source
Instance
Outlined Component Indicator
↓
Connected Copy
19. Component Instance Connection
The connection between the main component and instance is one of the most important features of component-based design. The instance uses the main component as its source and can receive applicable changes from it.
20. Centralized Update System
Main Component
↓
Update Component
↓
Connected Instances
↓
Consistent UI Across Screens
21. Example of a Global Button Update
Before:
Button Radius = 6px
Main Component
↓
Instance 1
Instance 2
Instance 3
Update Main Component:
Radius = 10px
Result:
Instance 1 → Updated
Instance 2 → Updated
Instance 3 → Updated
22. Benefits of Centralized Updates
- Faster design maintenance.
- Consistent visual appearance.
- Reduced repetitive work.
- Fewer design inconsistencies.
- Easier design-system management.
23. Customizing Component Instances
Instances are designed to be reusable but they are not limited to being identical in every context. Figma provides supported overrides and component properties that allow designers to customize intended parts of an instance.
24. Text Customization
One of the most common instance customizations is changing text.
Main Component:
Button/Primary
Label = Button
Instance 1:
Label = Login
Instance 2:
Label = Register
Instance 3:
Label = Continue
25. What are Instance Overrides?
Overrides are changes made to an individual instance while keeping its relationship with the main component. They allow the same component to be used in different contexts without creating separate components for every small variation.
26. Common Instance Customizations
- Text content.
- Supported fills.
- Supported strokes.
- Visibility of supported layers.
- Component properties.
- Variant selections.
- Nested component swaps.
- Supported sizing and layout changes.
27. Example of Multiple Button Instances
Main Component:
Button/Primary
Instances:
1. Login
2. Register
3. Continue
4. Submit
5. Save Changes
All instances can follow the same design structure while serving different purposes.
28. Instance Customization vs Detaching
| Customization | Detaching |
| Maintains component relationship | Breaks component relationship |
| Useful for contextual changes | Creates an independent object |
| Can receive applicable component updates | No longer behaves as a connected instance |
| Preferred for reusable systems | Used when independence is intentional |
29. Component Properties in Instances
Component properties provide controlled customization options for instances. Instead of allowing unrestricted editing, designers can define exactly which aspects of a component should be customizable.
30. Types of Component Properties
| Property Type | Purpose | Example |
| Boolean | Show or hide supported layers | Show Icon |
| Text | Change text content | Button Label |
| Instance Swap | Replace a nested component | Change Icon |
| Variant | Select predefined variations | Size or State |
| Slot | Provide flexible content area | Card Content |
31. Boolean Property
A Boolean property provides a true or false control for supported layer visibility.
Show Icon = True
↓
Icon Visible
Show Icon = False
↓
Icon Hidden
32. Text Property
A Text property allows designated text to be changed from the component controls.
Button Label:
"Submit"
Change to:
"Continue"
Change to:
"Save Changes"
33. Instance Swap Property
An Instance Swap property allows a nested component instance to be replaced by another component.
Leading Icon
↓
Search
Home
Profile
Settings
34. Variant Property
Variant properties allow an instance to select from predefined variations of a component.
Button
├── Primary
├── Secondary
├── Danger
└── Ghost
35. Slot Property
A Slot creates a flexible content area within a component. It can allow designers to add, edit, rearrange, or remove content in an instance while keeping the instance connected to the main component.
Example
Card
├── Header
├── Slot: Content
└── Footer
36. Component Instances with Auto Layout
Auto Layout is especially useful when component instances need to adapt to changing content. Buttons, tags, badges, navigation items, list items, cards, and input fields frequently benefit from Auto Layout.
37. Button Instance with Auto Layout
Button/Primary
└── Auto Layout
├── Icon
└── Label
Padding: 12 / 20
Gap: 8
Width: Hug Contents
Height: Hug Contents
38. Hug Contents in Instances
Hug Contents allows a component or component instance to adjust its dimensions according to its content. It is useful for text-driven elements such as buttons and badges.
39. Fill Container in Instances
Fill Container allows an instance to occupy available space inside its parent. It is useful for inputs, cards, content areas, and responsive layouts.
40. Fixed Dimensions in Instances
Fixed dimensions are useful when a component needs predictable width or height. Examples include avatars, icon containers, and certain standardized UI controls.
41. Responsive Instance Example
Button Instance
"OK"
↓
Small Width
"Continue"
↓
Medium Width
"Save Changes and Continue"
↓
Larger Width
When the main component uses appropriate Auto Layout and sizing rules, its instances can handle different content more effectively.
42. Nested Component Instances
A component can contain other component instances. This is called component nesting and is an important technique for building modular design systems.
Product Card
├── Badge Instance
├── Image
├── Rating Instance
├── Price
└── Button Instance
43. Benefits of Nested Instances
- Better reuse.
- Modular design.
- Easier maintenance.
- Consistent UI.
- Independent updates of smaller components.
- Easy component swapping.
44. Component Composition
Component composition means creating complex UI components by combining smaller reusable components.
Icon
+
Input
+
Button
↓
Form Component
↓
Form Section
↓
Complete Screen
45. Example of Nested Card
Card/Product
├── Image
├── Badge Instance
├── Content
│ ├── Title
│ ├── Description
│ └── Price
└── Button Instance
46. Component Instances and Variants
Variants are useful when a component has multiple predefined versions. An instance can select the appropriate variant rather than requiring a completely separate component.
47. Button Variant Example
Button
├── Type = Primary
├── Type = Secondary
├── Type = Danger
└── Type = Ghost
Size:
Small
Medium
Large
State:
Default
Hover
Pressed
Disabled
48. Common Variant Properties
- Type.
- Size.
- State.
- Theme.
- Style.
- Density.
- Selected state.
49. Variant vs Separate Component
| Separate Components | Variants |
| Each variation is independent | Related variations are grouped |
| Can become difficult to manage | Provides organized variations |
| Useful for unrelated UI elements | Useful for related component states or types |
50. Swapping Component Instances
Component instances can use Instance Swap properties to replace nested components with other compatible components. This is especially useful for icons, avatars, logos, and other nested UI elements.
51. Icon Swap Example
Button Instance
├── Icon = Search
Swap:
Search → Download
Swap:
Download → Arrow Right
52. Benefits of Instance Swapping
- Quick customization.
- Consistent structure.
- Easy reuse of approved components.
- Less manual editing.
- Better design-system control.
53. Preferred Instances
Preferred instances can be used to provide a curated set of suitable component choices for a nested instance. This can make component selection easier and reduce the chance of using unrelated assets.
54. Finding the Main Component
When an instance is selected, designers may need to locate the main component to understand its source or make a structural change. Figma provides Go to main component functionality.
55. Go to Main Component
Right-click the instance and choose Go to main component where available. This takes the designer to the source component.
56. Go to Main Component Shortcut
| Operating System | Shortcut |
| macOS | Control + Option + Command + K |
| Windows | Control + Alt + Shift + K |
57. Editing the Main Component from an Instance
Select Instance
↓
Go to Main Component
↓
Edit Source Component
↓
Save Changes
↓
Connected Instances Receive Applicable Updates
58. Resetting Instance Customizations
If an instance has customizations that are no longer required, the instance can be reset using the available reset controls. This is useful for removing unwanted or accidental changes.
59. Why Reset an Instance?
- Remove accidental overrides.
- Return to intended component values.
- Restore consistency.
- Undo temporary customization.
60. Detaching an Instance
Detaching an instance breaks its relationship with the main component and turns it into an independent design object. Once detached, it no longer behaves as a connected component instance.
61. When Should You Avoid Detaching?
- When the element belongs to a design system.
- When future updates are expected.
- When only text needs to change.
- When component properties can solve the requirement.
- When variants can solve the requirement.
- When an Instance Swap can solve the requirement.
- When a Slot can provide the required flexibility.
62. When Can Detaching Be Useful?
Detaching can be appropriate when the design intentionally needs to become independent and should no longer follow the source component. It should not be used as the default method for normal instance customization.
63. Component Instances and Libraries
Figma libraries allow reusable components to be shared across files and teams. Designers can insert instances of published components into their working files.
64. Library Instance Workflow
Library
↓
Main Component
↓
Publish
↓
Team File
↓
Insert Instance
↓
Use in Product Screens
↓
Library Update
↓
Review / Apply Update
65. Local Component vs Library Component
| Local Component | Library Component |
| Exists in the current file | Shared through a library |
| Useful for project-specific systems | Useful for team-wide systems |
| Managed locally | Managed through publishing and library workflows |
| Good for prototypes and individual projects | Good for scalable design systems |
66. Library Updates
When a published library component changes, files using instances of that component can receive information about the available update. Designers can review and apply library changes according to the project's workflow.
67. Why Libraries Matter
- Centralize reusable components.
- Improve team consistency.
- Reduce duplicate work.
- Support scalable design systems.
- Allow shared component maintenance.
68. Component Instance Documentation
Reusable components should be documented so designers understand their purpose, available options, and intended usage.
69. Example Component Documentation
Component:
Button/Primary
Purpose:
Used for the primary action.
Available Properties:
Label
Show Icon
Icon
Size
State
Recommended Usage:
Use for the main action of a section or screen.
70. Component Instance Naming
Instances inherit the identity of their source component, but clear layer naming and component organization make them easier to understand in the Layers panel.
71. Recommended Component Naming
Button/Primary
Button/Secondary
Button/Icon
Input/Text
Input/Search
Card/Product
Card/Profile
Navigation/Item
Badge/Success
Modal/Confirmation
72. Practical Project: Login Screen
Create a login page using reusable component instances instead of designing every element separately.
Login Screen
├── Logo Instance
├── Input/Email Instance
├── Input/Password Instance
├── Checkbox Instance
├── Button/Primary Instance
└── Link Instance
73. Practical Project: Registration Screen
Registration Screen
├── Input/Name Instance
├── Input/Email Instance
├── Input/Phone Instance
├── Input/Password Instance
├── Input/Confirm Password Instance
└── Button/Primary Instance
74. Practical Project: E-Commerce Product Grid
Product Grid
├── Card/Product Instance
├── Card/Product Instance
├── Card/Product Instance
├── Card/Product Instance
└── Card/Product Instance
Each instance can contain different product images, names, prices, ratings, and badges while maintaining the same card structure.
75. Practical Project: Dashboard
Dashboard
├── Header Instance
├── Sidebar Instance
├── Stat Card Instance
├── Stat Card Instance
├── Chart Card Instance
├── Table Instance
└── Pagination Instance
76. Practical Project: Navigation System
Navigation
├── Home Instance
├── Products Instance
├── Orders Instance
├── Customers Instance
├── Reports Instance
└── Settings Instance
77. Practical Project: Confirmation Modals
Modal/Confirmation
↓
Delete Account
Delete Product
Logout
Cancel Subscription
78. Common Mistake: Designing Every Instance Separately
One of the biggest mistakes is manually recreating the same UI element. If the element is repeated and follows the same design pattern, consider converting it into a reusable component.
79. Common Mistake: Detaching Too Quickly
Do not detach an instance simply because its label, icon, or supported property needs to change. First check whether an override, component property, variant, instance swap, or slot can solve the requirement.
80. Common Mistake: Ignoring Auto Layout
An instance may break when content changes if its main component was not configured properly with Auto Layout and resizing behavior.
81. Common Mistake: Poor Naming
Unclear component names make it difficult to locate the correct source and instances. Use consistent names and categories.
82. Common Mistake: Too Many Variants
Do not create unnecessary variants for every possible customization. Use variants for meaningful predefined differences and component properties for controlled customization.
83. Common Mistake: Not Testing Long Text
Always test component instances with long labels and content. This is particularly important for buttons, cards, navigation items, inputs, and localization.
84. Common Mistake: Ignoring Nested Components
Complex components can become difficult to maintain if everything is built as one large object. Use smaller reusable components inside larger components whenever appropriate.
85. Debugging Component Instances
When an instance does not behave as expected, inspect its connection to the main component, overrides, component properties, variants, Auto Layout, resizing behavior, nested components, and parent container.
86. Component Instance Debugging Checklist
- Is the selected object actually an instance?
- Is it connected to the expected main component?
- Is the correct main component being edited?
- Are there active overrides?
- Are component properties configured correctly?
- Is the correct variant selected?
- Are nested instances configured correctly?
- Is Auto Layout configured correctly?
- Are width and height settings appropriate?
- Is the instance inside the correct parent?
- Is a library update available?
87. Instance Testing Workflow
Create Main Component
↓
Insert Instance
↓
Change Text
↓
Change Supported Properties
↓
Swap Nested Components
↓
Change Variant
↓
Test Long Content
↓
Test Different Sizes
↓
Update Main Component
↓
Verify Instance Behavior
88. Responsive Testing
Test instances at different screen sizes and container widths. Check for overflow, clipping, unexpected wrapping, incorrect spacing, and broken alignment.
89. Localization Testing
Longer translated strings can affect component dimensions. Test buttons, navigation, cards, inputs, and labels with longer text to ensure the instance remains usable.
90. Accessibility Testing
- Check readable typography.
- Check color contrast.
- Check clear labels.
- Check visible interaction states.
- Check disabled-state clarity.
- Check appropriate touch-target dimensions.
- Do not communicate important information only through color.
91. Best Practices for Component Instances
- Use instances instead of manually duplicating reusable UI.
- Keep instances connected whenever possible.
- Use Auto Layout for flexible components.
- Use component properties for intended customization.
- Use variants for predefined variations.
- Use Instance Swap for nested component replacement.
- Use Slots for flexible content areas where appropriate.
- Use nested components to create modular systems.
- Test instances with different content.
- Use consistent naming conventions.
- Document important components.
- Use libraries for shared design systems.
- Avoid unnecessary detaching.
- Review component updates carefully in shared libraries.
92. Component Instance vs Duplicate Design
| Duplicate Design | Component Instance |
| Independent copy | Connected to main component |
| Manual updates required | Can receive applicable component updates |
| May become inconsistent | Supports consistency |
| Difficult to maintain at scale | Designed for reusable systems |
93. Component Instance vs Detached Object
| Connected Instance | Detached Object |
| Connected to main component | Independent object |
| Can receive applicable source updates | Does not receive component updates |
| Supports controlled customization | Allows independent editing |
| Best for reusable design systems | Best when independence is intentional |
94. Quick Comparison: Instance vs Variant
| Component Instance | Variant |
| A reusable copy of a component | A predefined variation of a component |
| Used throughout screens | Used to define component types or states |
| Can be customized through supported properties | Provides predefined choices |
| Example: Login Button Instance | Example: Button State = Disabled |
95. Interview Questions
Q1. What is a component instance in Figma?
A component instance is a reusable copy of a main component that remains connected to its source component.
Q2. What is the difference between a main component and an instance?
The main component is the source that defines the reusable design, while the instance is a connected copy used in the design.
Q3. How do you insert a component instance?
You can insert it from the Assets panel, component details, Quick Insert, or by duplicating/copying an existing component or instance.
Q4. What is the Assets shortcut?
Option + 2 on macOS and Alt + 2 on Windows.
Q5. What is Quick Insert?
Quick Insert is a fast component and action search interface opened using Shift + I.
Q6. What happens when the main component is updated?
Connected instances can receive applicable changes made to the main component.
Q7. Can component instances be customized?
Yes. Supported overrides and component properties allow instances to be customized without unnecessarily breaking the component relationship.
Q8. What are component properties?
Component properties provide controlled customization options such as Boolean, Text, Instance Swap, Variant, and Slot properties.
Q9. What is an Instance Swap property?
It allows a nested component instance to be replaced with another component.
Q10. What is a Boolean property?
A Boolean property provides a true or false control for supported layer visibility.
Q11. What is a Text property?
A Text property identifies text that can be changed through the component's controls.
Q12. What is a Slot property?
A Slot provides a flexible content area where content can be added or rearranged while keeping the instance connected.
Q13. How can you find the main component?
Select the instance, right-click it, and use Go to main component where available.
Q14. What is an instance override?
An override is an instance-level customization that allows an individual instance to differ from the main component in supported ways.
Q15. Why should unnecessary detaching be avoided?
Detaching breaks the connection with the main component and prevents the object from behaving as a connected instance.
Q16. Why are component instances useful in design systems?
They allow standardized components to be reused consistently across many screens and files.
Q17. Can components contain other component instances?
Yes. Nested component instances are commonly used to build modular and scalable design systems.
Q18. Why is Auto Layout useful with instances?
Auto Layout helps instances adapt to different content and available space.
Q19. What is the difference between an instance and a duplicate frame?
A duplicate frame is independent, while a component instance maintains a relationship with its main component.
Q20. What is the purpose of a component library?
A component library allows reusable components to be shared across files and teams.
96. Practice Exercises
- Create a Primary Button main component.
- Insert five button instances.
- Change the label of each instance.
- Create a Boolean property for an optional icon.
- Create an Instance Swap property for icons.
- Create size variants for the button.
- Create input instances for a registration form.
- Create product card instances.
- Create navigation item instances.
- Create a confirmation modal instance.
- Test instances with long text.
- Test instances at different screen widths.
- Reset instance customizations.
- Find the main component from an instance.
- Create nested components.
- Experiment with Slot properties.
- Organize components into categories.
- Prepare a small component library.
97. Quick Revision
Main Component = Source
Instance = Connected Reusable Copy
Assets = Component Discovery
Quick Insert = Fast Component Search
Override = Instance-Level Customization
Variant = Predefined Variation
Boolean = Show / Hide
Text Property = Change Text
Instance Swap = Replace Nested Component
Slot = Flexible Content Area
Nested Component = Component Inside Component
Library = Shared Components
Detach = Break Component Connection
98. Key Takeaways
- A component instance is a reusable copy of a main component.
- Instances remain connected to their main components.
- Instances can be inserted from Assets.
- Quick Insert provides a fast way to find components.
- Instances can be duplicated and copied.
- Supported overrides allow contextual customization.
- Component properties provide controlled customization.
- Variants provide predefined component variations.
- Nested instances help create modular UI systems.
- Slots provide flexible content areas.
- Auto Layout helps instances adapt to content.
- Libraries support shared components across files and teams.
- Unnecessary detaching should be avoided.
- Testing is important before using instances throughout a product.
99. Complete Component Instance Workflow
Design UI Element
↓
Create Main Component
↓
Name and Organize Component
↓
Add Auto Layout
↓
Add Variants / Properties
↓
Add Documentation
↓
Publish to Library if Required
↓
Find Component in Assets
↓
Insert Instance
↓
Customize Instance
↓
Use Across Screens
↓
Test Responsive Behavior
↓
Update Main Component
↓
Review Instance Updates
↓
Maintain Design System
100. Conclusion
Component Instances are a fundamental part of professional Figma workflows. They allow designers to create one reliable main component and reuse it across multiple screens while maintaining consistency and reducing repetitive work. By combining instances with Auto Layout, variants, component properties, nested components, slots, and libraries, designers can create flexible and scalable design systems.
The ideal workflow is Create → Insert → Customize → Reuse → Test → Update → Maintain. Understanding component instances helps designers work faster, maintain consistency, simplify collaboration, and create production-ready design systems.
For structured Figma learning, practical projects, and advanced component-based design workflows, visit JustAcademy Figma Training and Register for Figma Course Demo.