How to Create a Reusable Component in Figma
A beginner, interface-by-interface guide to create a reusable component in figma, including what each design term means, where to click and how to verify the exported/resulting asset.
By the end: You will complete create a reusable component in figma and keep an editable source plus a checked output.
You will complete create a reusable component in figma and keep an editable source plus a checked output.
Key terms before you start
These definitions make the steps easier to follow and help distinguish controls, files and concepts that can look similar at first.
What you need before starting
- Access to Figma
- A source/project you are allowed to edit
- A clear final destination/size/use for the result
Step-by-step tutorial
Every step is shown below. Work through them in order and use each checkpoint to confirm the result before moving on.
Open Figma and use a safe working copy
Open the real project in Figma. Duplicate the file/document first if the tutorial could alter important source work.
The editable source is different from the final exported asset; preserve recoverability.
Inspect export dimensions, transparency, crop, color and output format; judge the exported file as the final artifact.
Identify the final destination
Write where the result will be used: website width, social platform, handoff, print, prototype, etc.
Dimensions, color, format and responsive behavior depend on destination.
Inspect export dimensions, transparency, crop, color and output format; judge the exported file as the final artifact.
Choose a genuinely repeated UI element
Pick Button, Input, Card or Nav item that appears multiple times.
Components add value when shared structure/behavior is repeated.
Use Auto Layout/flexible components or revise layout constraints rather than shrinking type until it barely fits.
Clean its layer structure
Rename child layers and remove stray invisible/unused objects.
Component internals become the template for every instance.
Undo, then select the target through Layers panel and verify its name before editing.
Apply Auto Layout where content varies
Select container → Shift+A if text/icons should drive size.
Auto Layout improves instance resilience.
Use Auto Layout/flexible components or revise layout constraints rather than shrinking type until it barely fits.
Select the complete element
Select the parent frame containing all intended children.
Selecting only a child creates the wrong component boundary.
Undo, then select the target through Layers panel and verify its name before editing.
Create component
Click Create component in right sidebar, right-click → Create component, or use Option+Command+K (macOS) / Ctrl+Alt+K (Windows).
Figma converts selection into a main component.
Return to the layered/component source or backup. Keep future export/flatten operations on separate delivery copies.
Name component predictably
Use Button/Primary, Card/Service, Field/Text etc.
Slash naming can organize assets into groups.
Undo, then select the target through Layers panel and verify its name before editing.
Create an instance
Drag from Assets or duplicate/create an instance according to Figma workflow.
An instance is linked to main component.
Return to the layered/component source or backup. Keep future export/flatten operations on separate delivery copies.
Override text in instance
Change label/content without detaching.
Common local overrides should not require breaking the link.
Use Auto Layout/flexible components or revise layout constraints rather than shrinking type until it barely fits.
Edit main component style
Change shared padding/color in main.
Shared component changes should propagate.
Inspect export dimensions, transparency, crop, color and output format; judge the exported file as the final artifact.
Test long content in instance
Use a long label/description.
Component must survive realistic content.
Use Auto Layout/flexible components or revise layout constraints rather than shrinking type until it barely fits.
Create variants only for real states
If the component needs Default/Hover/Disabled/etc., create a component set/variants deliberately.
Do not create variants merely to collect arbitrary one-off styles.
Return to the layered/component source or backup. Keep future export/flatten operations on separate delivery copies.
Avoid detaching casually
Keep instances linked unless a design truly diverges from component system.
Detached copies no longer receive main updates.
Return to the layered/component source or backup. Keep future export/flatten operations on separate delivery copies.
Open the exported/result outside the editor
Inspect the actual PNG/JPEG/SVG/prototype/output rather than assuming it matches the canvas.
Exports can change dimensions, transparency, font rendering or compression.
Inspect export dimensions, transparency, crop, color and output format; judge the exported file as the final artifact.
Store source and delivery files predictably
Use clear names/versioning and keep the source separate from public delivery assets.
Future revisions should start from editable source.
Return to the layered/component source or backup. Keep future export/flatten operations on separate delivery copies.
Always know whether you are editing source structure or generating a delivery copy.
Concrete examples
Troubleshooting
Undo, then select the target through Layers panel and verify its name before editing.
Inspect export dimensions, transparency, crop, color and output format; judge the exported file as the final artifact.
Use Auto Layout/flexible components or revise layout constraints rather than shrinking type until it barely fits.
Return to the layered/component source or backup. Keep future export/flatten operations on separate delivery copies.
Files can be found/reused.
Continue with these tutorials
Documentation and references
Use these primary and supporting sources to verify current controls, browser behavior and product-specific details.