figma guide

Responsive design in Figma: constraints, breakpoints, and frames that resize honestly

Design layouts that survive real breakpoints: constraints vs auto layout, min/max widths, breakpoint frames, and handoff notes so engineers do not guess your intent.

Published
Updated
May 27, 2026
Read time
6 min
Level
Intermediate

Quick answer

Responsive UI in Figma is auto layout first, constraints second. Use hug contents / fill container on stacks, set min and max widths on frames that must not collapse, and document breakpoint frames (mobile, tablet, desktop) instead of one magic frame that stretches forever. Legacy groups still need constraints (left/right, scale) when you cannot refactor yet. Pair every responsive screen with handoff notes—Dev Mode shows geometry, not your “sidebar collapses at 1024px” rule. Start with Auto Layout in practice if stacks are new; for mobile-specific safe areas, see mobile app UI frames.

Who this is for

  • Web and product designers shipping fluid layouts to CSS flex/grid engineers.
  • Design system maintainers defining how components behave across widths.
  • Teams tired of demos that look perfect at 1440px and break at 360px.

Constraints vs auto layout: when to use which

ApproachUse whenAvoid when
Auto layoutRows, columns, toolbars, cards, form fieldsFreeform illustration, absolute hero art
ConstraintsLegacy groups, background images, pinned chromeEntire app screens built only with constraints
BothCard inside a resizing frame with a full-bleed image

Verdict: default new UI to auto layout; apply constraints to children that must stick to edges inside a resizing parent (backgrounds, floating badges).


Breakpoint frames: structure your file

Create one frame per breakpoint for each template, not one infinitely wide frame:

Breakpoint nameTypical widthNotes
web / mobile360–390Single column, bottom nav
web / tablet768–834Optional side nav
web / desktop1280–1440Max content width inside
web / wide1728+Optional marketing bleed

Name frames consistently (web / desktop / dashboard) so prototype links and Dev Mode URLs stay stable.

Max width content column

Inside desktop frames, wrap copy in a content / max-1200 auto-layout frame with horizontal padding instead of stretching text edge-to-edge. Engineers map this to max-width + margin: auto.

Document behavior between breakpoints

Add a Specs page or component description listing:

  • What hides (secondary nav icons).
  • What stacks (sidebar under header).
  • What changes column count (4 → 2 → 1).

Comments alone are not enough for sprint handoff—use a small responsive spec table in the file README (organize files at scale).


Auto layout patterns for responsive UI

Hug vs fill vs fixed

SettingBehaviorTypical use
Hug contentsFrame shrinks to childrenChips, buttons, avatars
Fill containerChild stretches on primary axisInputs in a row, flexible columns
Fixed widthPixel width lockedSidebar at 280px until breakpoint

Min and max width (critical)

Set min width on buttons so labels do not crush; set max width on paragraphs (~65ch) for readability. Without min width, Fill children can collapse to zero in nested stacks—a common “it looked fine in the meeting” bug.

Wrapping stacks

Enable wrap on tag rows and filter bars so items flow to the next line instead of overflowing. For dense admin UIs, prefer wrap over horizontal scroll in design unless engineering commits to scroll containers.

Nested stacks

Pattern for app shell:

[vertical auto layout — fill]
  ├─ header (horizontal — fill, fixed height)
  ├─ body (horizontal — fill)
  │    ├─ sidebar (fixed width)
  │    └─ main (fill)
  └─ footer (optional)

Rebuild marketing heroes separately—they often mix absolute illustration with auto layout copy (banner design).


Constraints for non-layout layers

Select a layer inside a resizing frame and set constraints:

PinEffect
Left & rightStretch width with parent
Top & bottomStretch height
CenterFloat in middle
ScaleRare—use for decorative backgrounds only

Background image: pin left + right + top (or scale cautiously) so crops change with frame width.

FAB / chat bubble: pin right + bottom with fixed margin; document margin tokens.

Do not scale text or icons with the parent—use constraints on containers, not on type layers.


Components that must respond

Build variants for breakpoint=mobile|desktop instead of one component stretched past recognition. Link to interactive components for hover/press on desktop items.

Cards and tables

  • Cards: vertical auto layout + fill image top + hug text block.
  • Tables: design horizontal scroll or column drop explicitly—do not imply responsive tables without a spec.

Forms

Labels above fields on mobile (vertical stack); inline pairs on desktop (horizontal with wrap). Use the same field component with variant properties where possible.

Publish responsive rules in your library README so design system plugins audits stay meaningful.


Variables, modes, and responsive theming

Spacing and color should use variables (variables & modes) so rebrand does not break responsive shells. Optional mode per theme (light/dark) is separate from breakpoint—do not encode breakpoint in color modes unless your token spec truly requires it.

For dark surfaces on responsive marketing pages, see dark mode design.


Prototyping across breakpoints

Wire separate frames per breakpoint when layout changes materially; use Smart animate only when layer structure matches (animation limits). For minor width changes within one layout, resize the frame in Present to sanity-check auto layout—do not assume engineers will infer the same test.


Handoff: what engineers need

Designer intentFigma signal
Flex rowAuto layout horizontal + gap
Flex growFill container on primary axis
Sticky headerNote in spec + frame structure
Breakpoint switchSeparate frames or explicit variant
Sidebar collapseWritten rule + tablet frame

Native Dev Mode plus dev handoff plugins read auto layout as CSS flex in many cases—messy groups still export as absolute soup.

Export icons and raster assets with production-ready export settings independent of layout discipline.


Comparison: responsive mistakes vs fixes

MistakeSymptomFix
Fixed 1440 onlyMobile unusableAdd mobile + tablet frames
Fill everywhereCollapsed zero-width fieldsMin width on inputs
Constraints on textBlurry scaled typeFixed text, resize container
One component for all navDistorted iconsBreakpoint variants
Absolute marketing + AL productHandoff confusionSplit pages or annotate

Common mistakes

Resizing the frame without checking nested hug/fill
Always drag the parent prototype frame after major layout work.

Using scale constraints on icons
Export and accessibility suffer—pin position, fixed size.

Skipping tablet
Engineers guess; stakeholders see jumps at 768px in QA.

Designing in browser zoom instead of frame widths
Zoom ≠ breakpoint—use true frame presets.

Detaching responsive components
You lose library fixes—extend variants instead.


Troubleshooting

Gap disappears when resizing.
Check space between vs padding; nested fills may need align stretch.

Text truncates unexpectedly.
Remove fixed height on text-hugging stacks or enable auto height.

Image squashes.
Set image fill to crop or fixed aspect ratio frame.

Prototype jumps between breakpoints.
Use dissolve between structurally different frames, not Smart animate.

Browser Figma feels laggy on huge responsive pages.
See Figma in browser limitations—split files or pages.


FAQ

Does Figma have built-in breakpoint preview like CSS?

Not as a single toggle—use multiple frames or variants and prototype between them.

Should I use % widths?

Figma thinks in pixels; express % intent** in specs or use fill/hug semantics engineers map to %/fr`.

How does this relate to mobile app design?

Apps use fixed logical widths more often; still use auto layout inside screens (mobile frames guide).

Can Framer or Webflow skip this work?

For marketing sites, compare Figma vs Framer—product UI in Figma still needs honest responsive structure.

When should I rebuild Sketch imports?

Legacy absolute layouts from Sketch import almost always need auto layout passes before responsive specs matter.


Next steps

Pick your top three templates (marketing, dashboard, settings). Add mobile + desktop frames, convert shells to auto layout, set min/max on primary columns, and write a five-line breakpoint spec in the file cover. Review with engineering in Dev Mode once before sprint planning. Continue learning on the Figma guides hub and tutorials index.

Share on X

§ Keep reading

Related guides.