0
100
200
300
400
500
600
700
800
900
1000
1100
0
100
200
300
400
500
600
700
800
900
1000
1100
Guide · Images, masks & shapes

Figma Boolean Operations: How Union, Subtract, Intersect and Exclude Work

Figma's boolean operations combine two or more shapes into a new one: Union (⌥⇧U), Subtract (⌥⇧S), Intersect (⌥⇧I) and Exclude (⌥⇧E). On Windows, use Alt+Shift with the same letters. Select at least two shapes, vectors or text layers, then press the shortcut or pick from the Boolean operations menu.

The result is a boolean group that stays editable. Two rules explain most surprises: Subtract keeps the bottom layer's style and cuts the layers above out of it, and booleans don't work on frames or sections.

Updated Sep 24, 20265 min read
On this page
UnionMac⌥⇧UWindowsAltShiftU
SubtractMac⌥⇧SWindowsAltShiftS
IntersectMac⌥⇧IWindowsAltShiftI
ExcludeMac⌥⇧EWindowsAltShiftE
FlattenMac⌥⇧FWindowsAltShiftF
Ungroup (removes the boolean)Mac⇧⌘GWindowsCtrlShiftG
4 steps

Quick steps

1

Arrange the layers

Overlap the shapes. For Subtract, put the shape you want to keep at the bottom of the Layers panel and the cutting shapes above it.

2

Select at least two layers

Shift-click two or more shapes, vector paths or text layers. Frames and sections can't be used.

3

Apply the operation

Press Option+Shift plus U, S, I or E on Mac (Alt+Shift on Windows), or choose from the Boolean operations menu.

4

Adjust inside the group

Select a layer inside the boolean group to move, resize, rotate it or change its corner radius. The result updates live.

01

What each boolean operation does

  • Union merges all selected shapes into one outline. The top layer's fill, stroke and effects win.
  • Subtract cuts every upper layer out of the bottom layer. The bottom layer's fill, stroke and effects win.
  • Intersect keeps only the area where all the shapes overlap. The top layer's style wins.
  • Exclude keeps the areas that don't overlap and removes the shared area. The top layer's style wins.

Inside a boolean group you can still change each layer's size, position, rotation and corner radius. You can't change the fill, stroke, effects or opacity of individual layers, because the group has one style.

02

Why Subtract isn't working

The layer order is backwards. Subtract always keeps the bottom layer and removes the top ones from it. If the shape you wanted to keep is on top, you'll get the wrong piece or an empty result. Undo, drag the shape you want to keep to the bottom of the selection in the Layers panel, and subtract again.

03

Why boolean operations aren't showing or working

  1. Only one layer is selected. Booleans need at least two supported layers.
  2. You've selected a frame or section. Figma doesn't allow booleans on either. Select the shapes inside the frame instead, or ungroup a frame you only used as a container.
  3. One of the layers is a component instance. Figma's help page lists shapes, vector paths and text as supported and doesn't mention instances. If the operation won't apply, detach a copy of the instance first (⌥⌘B / Ctrl+Alt+B). The detach instance guide explains what detaching changes.
  4. The shortcut is caught by your keyboard layout. Figma's defaults assume US QWERTY. If Alt+Shift shortcuts misfire, set your layout in Main menu → Preferences → Keyboard layout.
04

How to make a half circle in Figma

  1. Draw a circle.
  2. Draw a rectangle that covers exactly half of it, and make sure the rectangle is above the circle in the Layers panel.
  3. Select both and press ⌥⇧S / Alt+Shift+S. The circle keeps its fill and the covered half is cut away.

The same trick with Intersect keeps the covered half instead. Want a donut? Subtract a smaller centred circle from a larger one.

05

Boolean operations on text

Text layers work in booleans too, which is how you make knockout lettering. Put a rectangle at the bottom, type a word on top, select both and Subtract. The letters become holes in the rectangle, and whatever sits behind shows through. Intersect does the opposite: it keeps only the parts of the letters that overlap the rectangle, styled like the top layer.

Check the spelling and font before you flatten a result like this. While it's a boolean group you can still move and resize the text layer inside it, but once flattened the letters are plain vector paths.

06

Boolean group or Flatten?

A boolean group is non-destructive. The original layers stay inside, so you can nudge a cut-out or change a corner radius at any time. Flatten (⌥⇧F / Alt+Shift+F, or right-click → Flatten) merges everything into a single vector and throws the construction away. Keep the group while a design is still moving. Flatten when you hand an icon to a developer or an icon library and want one clean path with no hidden layers.

07

How to undo a union or other boolean

Right-click the boolean group and choose Ungroup, or press ⇧⌘G / Ctrl+Shift+G. The layers go back to being separate objects with their own styles. This only works while it's still a boolean group. Once you Flatten it (⌥⇧F / Alt+Shift+F), the result becomes one plain vector and only Undo brings the pieces back.

Keep icons as boolean groups while you're designing and flatten only at the end. If an icon uses strokes, outline them first with Outline stroke so the union includes the line shapes.

Booleans are also how you get an inverse mask. Subtract the area you want hidden, then use the result as a mask, as described in how to mask in Figma.

Ranked listThe best Figma plugins for vectorizing images and SVG in 2026
FAQ

Frequently asked questions

What is the union shortcut in Figma?

Option+Shift+U on Mac and Alt+Shift+U on Windows. Subtract, Intersect and Exclude use the same modifiers with S, I and E.

Why is subtract not working in Figma?

Subtract keeps the bottom layer and cuts the upper layers out of it. If the shape you want to keep is on top, move it to the bottom of the selection in the Layers panel and try again.

How do I remove a union in Figma?

Right-click the boolean group and choose Ungroup, or press Shift+Cmd+G (Ctrl+Shift+G on Windows). If you already flattened it, only Undo can split it again.

Can you use boolean operations on frames in Figma?

No. Figma supports booleans on shapes, vector paths and text layers, but not frames or sections. Select the shapes inside the frame instead.

Keep learning

More in Images, masks & shapes

All guides in Images, masks & shapes