figma guide

Figma boolean operations: unite, subtract, intersect, and exclude for icons and UI

Master Figma boolean operations to build icons, badges, and custom shapes—when to flatten, how to keep vectors editable, and export rules for crisp SVG handoff.

Published
Updated
Jun 04, 2026
Read time
6 min
Level
Beginner

Quick answer

Boolean operations in Figma merge vector shapes into one path using Union (unite), Subtract, Intersect, or Exclude. Select two or more shapes → right panel Boolean groups (or ⌥⌘U / ⌥⌘S etc. on Mac). Use them to build icons, tab indicators, notches, and custom clips—then flatten only when you need a single export path. Keep booleans live while iterating; flatten before SVG export if engineers need one path. For image cropping use masks instead; for logos see modern logo workflow. More beginner guides on the Figma guides hub.


Who this is for

  • UI designers building simple icons without Illustrator.
  • Design system contributors maintaining outline icons at consistent stroke weights.
  • Developers receiving SVG that must not ship as five separate overlapping paths.

The four boolean operations (what each one does)

OperationResultTypical use
Union (Unite)Combined outer silhouetteMerge icon parts; solid pictograms
SubtractTop shape cuts hole in bottomDonut, crescent, tab notch
IntersectOnly overlapping area remainsLens flare, masked vector without mask layer
Exclude (XOR)Overlap removed, outer keptRing, outlined band, dual-path icons

Layer order matters for Subtract: the top shape subtracts from the bottom. Wrong order flips the hole.


Quick comparison: boolean vs mask vs clip

TechniqueInput typesEditable after?Best for
BooleanVectors (and most shapes)Yes, until flattenedIcons, custom UI chrome
MaskAny layersYes, with mask groupPhotos, gradients in shape
Clip contentFrame childrenYesRectangular UI regions

See the full breakdown in masks and clipping.


Step-by-step: build a notification bell icon with subtract

  1. Draw a rounded rectangle for the bell body.
  2. Draw a circle for the clapper; position overlapping the bell bottom.
  3. Select both → Subtract (clapper cuts from bell).
  4. Draw a small rectangle for the top knob → Union with the bell.
  5. Set stroke to center or inside for outline style; align stroke width to your 8pt icon grid.

Verdict: build with simple primitives first—complex pen paths are harder to boolean cleanly.


Union workflow for solid (filled) icons

  1. Set all parts to the same fill token (semantic color).
  2. Align to pixel grid (whole X/Y values at 1×).
  3. Select parts → Union.
  4. Optional: Outline stroke plugin or expand stroke if design system uses fills only.
Icon styleStroke before boolean?After union
FilledConvert stroke to outline or draw filled shapesSingle fill path
OutlinedBoolean first, then one stroke on groupMay need flatten for export
DuotoneUse separate booleans per color layerTwo groups, not one union

Pair finished icons with best icon sets and plugins when you are not building from scratch.


When to flatten (and when not to)

SituationFlatten?
Shipping SVG to productionOften yes—one path per color
Library component still iteratingNo—keep boolean group live
Boolean + stroke on groupFlatten or outline stroke before export
Animator handoffAsk dev—some stacks want layered SVG

Flatten = ⌘E (Mac) on selection—destroys edit history of individual parts. Duplicate before flattening.


Export and handoff rules

FormatGuidance
SVGExport boolean group; if dev sees gaps, flatten and re-export at 1×
PNGExport at 2× and 3×; booleans rasterize cleanly if pixel-aligned
PDF printFlatten complex booleans to avoid RIP surprises (print checklist)

Document in Dev Mode: icon grid (16/20/24), stroke width, and whether SVG should be outline or fill. Cross-link production export guide and blurry export fixes if assets look soft.


Boolean + components (design system pattern)

  1. Create icon as boolean group inside a 24×24 frame.
  2. Turn frame into component icon / bell.
  3. Use color variables on fill—not hardcoded hex—so dark mode swaps work.
  4. For variants (filled vs outline), use separate boolean sources or swap nested instances.

Do not boolean raster images—import vectors via Illustrator / SVG cleanup first.


Troubleshooting booleans

ProblemCauseFix
Unexpected sliver shapesOff-pixel alignmentSnap to pixel grid; nudge 0.5px
Subtract “inverted”Layer orderSend cutting shape to top
Fuzzy SVG edgeSub-pixel coordinatesRound X/Y/W/H to integers
Hole disappeared after unionPaths not overlappingOverlap at least 1px
Stroke looks uneven after booleanStroke on individual shapesUnion first, one stroke on result
Can’t booleanText or component instanceOutline text; detach or enter instance

Icons vs UI chrome (where booleans shine)

Use caseOperationNote
Tab active indicatorUnion + corner radiusCombine pill + triangle
Custom speech bubble tailUnionSingle fill for CSS
Progress ring segmentSubtractCircle minus mask arc
Avatar status badgeUnionBadge + circle border
Complex illustrationRarely booleanUse masks or illustration plugins (icons & illustrations plugins)

For photos inside circles, prefer masks—booleans on bitmaps do not apply.


Keyboard shortcuts (Mac; Windows uses Ctrl)

ActionShortcut
Union⌥⌘U
Subtract⌥⌘S
Intersect⌥⌘I
Exclude⌥⌘E
Flatten⌘E

Add these to your keyboard shortcuts workflow.


Common mistakes

MistakeConsequenceFix
Boolean on misaligned half pixelsBlurry exportsPixel-preview + integer positions
Flatten too earlyCan’t tweak icon partsDuplicate component before flatten
Union everything including hidden layersBloated SVGDelete hidden paths first
Mixing stroke weights before unionUneven outlineStandardize stroke, then boolean
One giant boolean for 40 iconsSlow libraryOne component per icon

FAQ

Does boolean work with auto layout frames?

No—booleans apply to vector-compatible layers. Auto layout frames should wrap the icon component, not participate in the boolean.

Union vs group—what is the difference?

A group only organizes layers. Union merges geometry into one vector path.

Can I undo a boolean?

Yes, until you flatten. After flatten, revert with version history or duplicate backups.

Should developers recreate booleans in code?

Usually no—ship SVG or icon font. Booleans are a design-time tool unless the dev stack imports SVG paths directly.


Bottom line

Use Union to merge icon parts, Subtract for holes and notches, Intersect and Exclude for specialized shapes—then flatten for export when engineers need clean SVG. Keep operations live during exploration, align to your icon grid, and pair with masks when the content is raster. Next: icon plugins roundup, logo design basics, and the tutorials hub.

Share on X

§ Keep reading

Related guides.