Select a group, press Ctrl+Shift+G, and the wrapper is gone. The layers that were sitting inside it stay exactly where they were, same coordinates, same size, same stacking order, just no longer bundled together.

That works in the browser editor and the desktop app, on any file where you have edit access. Figma’s developer documentation describes the underlying operation as moving every child node into the group’s parent and removing the group node itself, then returning the list of freed children (Figma Developer Docs). Boolean groups respond to the same command, though what you get back is different, and I’ll get to that.

What Is the Ungroup Command in Figma?

Nothing moves. That’s the part worth knowing before anything else, because plenty of people hesitate to ungroup a tidy layout out of fear that the layers will scatter.

They don’t. The wrapper disappears from the layers panel, each child layer moves up one level in the hierarchy, and what used to be a single group selection now behaves as several separate layer selections. Vector data inside each layer is untouched. Nothing gets deleted.

Fills, strokes, and effects applied directly to a layer survive the operation. So do position, size, and stacking order.

One thing does get lost, and it catches people out. Opacity, blend mode, or effects applied to the group as a whole vanish with the wrapper, because those properties lived on the group and not on the children underneath it. If you dropped a 40% opacity on a group to fade a whole illustration, ungrouping puts all of it back to full strength.

Figma Group vs Frame vs Section

Groups, frames, and sections all nest layers, but only frames behave like real containers with rules of their own.

A frame is its own small canvas. A group just wraps whatever sits inside it and shrinks to fit.

Container typeFixed sizeUngroup availableCommon use
GroupNo, resizes to fit childrenYesQuick, temporary bundling
FrameYes, set independentlyYesLayout, auto layout, components
SectionCanvas-level onlyNoOrganizing pages, not nesting

Figma’s help documentation confirms that group bounds resize automatically to fit their contents, while frame bounds stay fixed until you resize them on purpose.

Personally I’ve stopped using groups for anything I expect to keep. If a container needs padding, a grid, or resizing rules, building a frame from the start is less work than converting a group later. And auto layout only ever attaches to a frame, never to a plain group, because it depends on the frame’s own sizing behavior.

Have you seen the latest Figma statistics?

Discover comprehensive Figma statistics including revenue growth, market share, user demographics, and funding data.

Check them out →

What Is the Keyboard Shortcut to Ungroup in Figma?

Ctrl+Shift+G on Windows, Cmd+Shift+G on Mac. Both fire instantly on any selected group.

The same command sits in the right-click menu and in the Object menu at the top of the screen, which is where most people find it the first time.

  • Windows: Ctrl+Shift+G, with Ctrl+Backspace added as an alternative
  • Mac: Cmd+Shift+G, with Cmd+Delete added as an alternative
  • Menu path: Object menu, then Ungroup
  • Also reachable from the right-click context menu on any selected group

Windows Shortcut

Ctrl+Shift+G is still the default. Figma support staff had to confirm this on the community forum after a December 2024 update left longtime users convinced the shortcut had changed.

It hadn’t. Ctrl+Backspace was added as a second option, not a replacement.

Mac Shortcut

Cmd+Shift+G ungroups on Mac. Cmd+Delete arrived in that same update as the newer alternative, if muscle memory takes you there instead.

  • Right-click a group and choose Ungroup
  • Or open the Object menu and select Ungroup

Every default key combination lives in one reference, which is worth a look if another shortcut is stepping on this one: Figma keyboard shortcuts.

Fired the wrong command? One keystroke reverses it, covered in more depth in this guide on how to undo in Figma.

How to Ungroup Multiple Layers in Figma

Select several groups and run the command once. It applies to all of them in a single pass, whether you shift-clicked each one or dragged a marquee across the batch.

  1. Select every group by shift-clicking each one individually, or by dragging a selection box around all of them at once
  2. Right-click anywhere inside the selection and choose Ungroup, or press the ungroup shortcut for your platform
  3. Check the layers panel to confirm each group has been replaced by its individual child layers
  4. Repeat the command on any group that was nested inside another one

Mixed selections are fine. If half the things you grabbed are already loose layers, Figma skips them and leaves them alone. No error, no warning dialog.

What Happens to Nested Groups When You Ungroup

One command clears exactly one level of nesting.

Group inside a group means the outer wrapper goes first and the inner one survives, sitting there looking like the command failed. It didn’t. Run it again.

  • Two nested levels need two ungroup actions
  • Three nested levels need three
  • A marquee drawn across every child layer bypasses the wrapper logic entirely, since no single group is selected anymore

Anyone expecting one shortcut to flatten a whole nested structure is going to be disappointed, and there’s no setting hidden somewhere that changes it. That marquee trick is the closest thing to a workaround.

What Happens to Boolean Groups When You Ungroup

Boolean groups come apart differently, and the change is visible on the canvas the second you run the command.

Union, subtract, intersect, and exclude stay non-destructive while the group is intact, which means the original shapes are still editable underneath the combined result, per Figma’s documentation on boolean operations. Ungroup and that arrangement is over.

Boolean typeWhile groupedAfter ungroup
UnionMerges outer edges of all shapesShapes separate, merge is lost
SubtractCuts the top shape out of the bottom oneBoth shapes return, cutout disappears
IntersectKeeps only the overlapping areaFull original shapes reappear
ExcludeRemoves the overlapping areaFull original shapes reappear

So keep the boolean group intact while you’re still nudging the combined shape around. Ungroup only when the outline is genuinely final, because the visual result shifts immediately once the wrapper is removed.

Ungroup vs Detach Instance in Figma

Both remove a wrapper from around child layers, which is roughly where the similarity ends.

Ungroup handles plain groups and boolean groups. Detach instance works only on component instances, the copies of a main component placed around a design file. An instance was never wrapped in a group, so there’s nothing for ungroup to dissolve, which is why the option does nothing at all when you try it.

Ungroup is forgiving. Undo reverses it cleanly a second later, and it treats plain groups and boolean groups the same way. Its only real limitation is the one above.

Detaching is a bigger decision. It buys you edits that overrides can’t do, like adding or removing layers inside the instance, and it costs you the link to the main component permanently. Figma’s documentation is clear that a detached instance can never be reconnected. On Organization and Enterprise plans there’s a further wrinkle: Design System Analytics logs how often detaching happens across a file, and teams use that number to spot drift away from a shared library.

Which is why most teams running a shared library treat detach as a one-off exception rather than a normal editing step. That judgment call gets more attention in Figma’s guide to component best practices.

How to Undo an Ungroup in Figma

Ctrl+Z on Windows, Cmd+Z on Mac. The group comes straight back.

Figma’s undo chain only reaches through the current editing session, so closing the file wipes it. Undo moves one step at a time and covers everything you’ve done since opening the file, which is usually enough.

Version history is the fallback when it isn’t. It reaches much further back, but it opens a saved snapshot instead of reversing one action, so you lose whatever happened after that checkpoint. Figma’s help documentation confirms a new checkpoint is saved every 30 minutes, and that free Starter teams and Drafts keep only 30 days of history while paid teams keep the full record.

The last resort is re-selecting the separated layers and running Group again. Close enough visually, though what you get is a brand new group rather than the original one, minus any opacity or effects that lived on the old wrapper.

Why Ungroup Is Not Working in Figma

The command sitting there doing nothing is almost always a condition on your end rather than a bug.

CauseWhat happensFix
Locked layerCommand has no effect on the canvasUnlock the layer, then run ungroup
Single, non-grouped layer selectedUngroup option greys out in the menuSelect an actual group first
View-only file accessNo structural command runs at allRequest can-edit access from the file owner

Locking is the sneaky one. Figma’s documentation notes that locking a parent frame or group locks every child layer underneath it, and none of those children can be unlocked until you unlock the parent. Took me an embarrassing amount of time to work that out the first time, because from the canvas it reads as a broken shortcut rather than a setting someone flipped three levels up.

Component instances produce the same silence for the different reason covered above.

When Ungrouping Does Not Apply in Figma

Ungroup was built for plain groups and boolean groups. A handful of nearby situations want a different command.

Component Instances

Detach instance is the one you want here, since an instance is tied to a main component rather than wrapped in a group.

Auto Layout Frames

These already carry their own padding and gap rules, and running ungroup on one strips those rules out instead of keeping them. The command was written for groups, not for frames that hold layout behavior.

Boolean Groups Mid-Edit

Leave them grouped until the combined outline is finished. Ungrouping early throws away the union, subtract, intersect, or exclude result you were building.

Shared Library Components

Detach here should be a last resort. Figma’s guidance frames it as useful for changes that overrides don’t support, or for spinning a new variation off an existing instance, not as a routine step inside a shared design system.

Worth noting how auto layout actually attaches, since it explains the whole restriction. Figma’s documentation confirms the feature binds to a frame, and applying auto layout to loose layers wraps them in a parent frame on the spot. A plain ungroup command was never meant to touch that. The mechanics of padding, gap, and resizing are laid out in this Figma auto layout guide.

FAQ on How To Ungroup In Figma

Is Ungrouping Necessary Before Exporting a Selection as an Image?

No. The export panel treats groups, frames, and individual layers the same way.

It only matters if you want separate exported assets rather than one flattened image with every child layer combined into a single file.

Can You Ungroup a Component Instance Directly?

No. An instance connects to a main component instead of sitting inside a group wrapper, so there’s nothing for the command to act on.

Detach instance is the only way to break that connection and edit the layers directly.

Which Is Better for Organizing a File, Groups, Frames, or Sections?

Frames win for anything needing padding, constraints, or auto layout. Sections are for organizing whole pages across the canvas.

Groups still earn their place for quick bundling that gets undone within minutes.

Does Ungroup Work the Same Way in FigJam as in a Design File?

Mostly, yes. FigJam groups behave like design groups and ungroup separates the objects the same way.

One quirk: Figma’s help documentation notes there is no direct way to add a single object into an existing FigJam group without ungrouping it first.

How Many Layers Can You Ungroup in a Single Action?

There is no fixed cap. The command applies to every selected group at once, two or two hundred, because Figma processes a multi-selection as one batch rather than working through groups one at a time.

What Should You Try First in How To Ungroup In Figma?

Order matters more than the shortcut itself. Unlock every layer first, confirm the selection holds an actual group and not a component instance, then run the command and check the layers panel to see what you got.

  • Unlock any locked parent or child layer
  • Confirm the selection is a group, not an instance
  • Run the shortcut, then verify in the layers panel

Skipping the unlock step costs nothing on the first attempt. It costs you five minutes on the fourth, when a locked parent keeps blocking the command and gives you no feedback at all about why.

Once the layers are loose, ask whether they should be a group again. Usually the better answer is a component, which is a different job covered in this guide to building components in Figma.