Figma Component Shortcuts
Components are how Figma scales a design system beyond a handful of screens — a button, a card, a navigation bar built once as a master component and then instanced repeatedly across a file, staying synchronized with the original whenever it's updated. The shortcuts here cover creating, detaching, swapping, and managing those instances, which together form the backbone of any serious design system work in Figma.
| Action | Windows | Mac | Description |
|---|---|---|---|
| Create component from selection | Ctrl+Alt+K | Cmd+Option+K | Converts the selected layer(s) into a reusable master component, marked with a diamond icon, that can be instanced repeatedly elsewhere while staying linked to the original for synchronized updates. |
| Detach instance from component | Ctrl+Alt+B | Cmd+Option+B | Breaks the link between a component instance and its master, converting it into an independent set of layers that no longer updates when the master component changes — irreversible without undo. |
| Open Swap Instance menu | Click instance + use right panel swap icon (no universal key) | Click instance + swap icon | Lets you replace a component instance with a different component from the same library while preserving any overrides where the layer structure matches, faster than deleting and re-inserting manually. |
| Reset instance to match main component | Right-click instance > Reset changes (no default key) | Right-click instance > Reset changes | Discards any local overrides applied to a specific component instance (a changed text label, a swapped icon, a moved child layer) and snaps it back to exactly match its main component's current default state. |
| Jump to main component from instance | Right-click instance > Go to main component (no default key) | Right-click instance > Go to main component | Navigates directly from a selected instance to wherever its master component actually lives on the canvas or in a separate library file, which otherwise can be genuinely hard to physically locate in a large file with many pages. |
| Switch component instance variant | Select instance, use right panel variant dropdown (no default key) | Select instance, use right panel variant dropdown | Changes which variant of a component set an instance displays (like switching a button instance from its Default state to its Hover or Disabled state), reading from the variant properties defined when the component set was built. |
Creating a component (Ctrl+Alt+K / Cmd+Option+K) converts whatever layers are currently selected into a reusable master component, visually marked with a small diamond icon in the layers panel. Once created, dragging copies of that component anywhere in the file (or into other files, if published to a shared team library) creates instances that stay linked to the master — editing the master's text, color, or layout propagates that same change to every instance automatically, which is the entire point of building a design system around components rather than duplicating and manually editing copies of a design element repeatedly.
Detaching an instance (Ctrl+Alt+B / Cmd+Option+B) permanently severs that link, converting the instance into an independent, ordinary set of layers that no longer receives updates when the master component changes. This is the right move for a genuine one-off customization that shouldn't ever sync with the rest of the design system, but it's also a common accidental mistake — detaching out of habit or convenience and later forgetting that specific instance is now orphaned, silently no longer benefiting from design system updates the rest of the file is receiving.
Swapping an instance (via the right panel's swap icon once an instance is selected, with no universal default keyboard shortcut) replaces one component instance with a different component from the same library while preserving any overrides where the two components' layer structures happen to match — considerably faster than deleting the original instance and manually re-inserting and re-configuring a different one from scratch.
Resetting an instance's overrides (via right-click > Reset changes) discards every local customization applied to that specific instance — a changed text label, a swapped icon, a repositioned child layer — snapping it back to exactly match whatever the main component's current default state is. This is an all-or-nothing reset: it doesn't selectively keep some overrides while discarding others, so reverting one specific unwanted change while preserving a different intentional one requires manually reapplying that intentional change again afterward.
Jumping to a main component from a selected instance (right-click > Go to main component) is worth knowing specifically because a component library file can grow large and organizationally complex — physically locating where a specific master component actually lives, especially in a file with many pages and a deep component library structure, can otherwise mean manually searching through pages, while this shortcut takes you directly there in one action.
Switching a component instance's variant (via the variant dropdown in the right panel once an instance is selected) changes which specific variant of a component set that instance displays — for example, switching a button instance between its Default, Hover, and Disabled states, assuming the component was originally built as a variant set with those states defined. This variant-switching workflow is central to how modern Figma design systems represent a single logical component (like "Button") with multiple visual states, rather than building entirely separate unrelated components for each state.
One detail worth understanding about how overrides and resets interact with nested components: an instance's local overrides are tracked per-property, per-layer within that instance, which is why the reset action is genuinely all-or-nothing at the instance level — it doesn't offer a per-property undo, so a design system maintainer intentionally testing a temporary override on an instance should expect to either keep it or lose every override on that instance together, not selectively roll back just the one change they're currently unhappy with.
Publishing a component to a team library (via the Assets panel's publish flow, outside the scope of a single keyboard shortcut) is what actually makes a component available for other files across a team to instance from, distinct from simply having created a component within a single file — a component that's never published stays usable only within the file it was created in, which is a common point of confusion for anyone expecting a newly created component to automatically show up in every other file a team works in without that explicit publish step.