Add auto layout to a design
This article is available for both the previous Figma UI and the new Figma UI. Use the toggle at the bottom left of the page to select your current UI. Get to know UI3: Figma’s redesign →
Before you start
Who can use this feature
Available on all plans
Users with can edit access to a file can add auto layout to frames and objects
Use auto layout to create responsive designs that grow to fill, shrink to fit, and reflow contents. For example:
- Create buttons that grow or shrink as you edit the text label
- Build lists that adapt as items are added, removed, or hidden
- Combine auto layout frames to build complete interfaces
Note: This article covers how to add auto layout to designs, and how to rearrange child objects in an auto layout flow. To learn about resizing, spacing, alignment, and other properties of auto layout, check out Explore auto layout properties →
Frames with auto layout have different properties to regular frames. When you apply auto layout, you'll see some changes in the right panel. You can't do the following to auto layout frames:
- 🚫 Add layout grids to that frame
- 🚫 Apply constraints to any objects within an auto layout frame, unless the object has absolute position enabled
- 🚫 Use smart selection on any objects within the frame
Add auto layout
You can add auto layout to a frame or a selection of objects. This includes:
- New or empty frames
- Frames with existing content
- Components and component sets
- Groups or other selections of layers and/or objects
There are a few ways to add auto layout to a selection:
- Use the keyboard shortcut ⇧ Shift A
- In the right panel, click next to Auto layout
- Right-click on a frame or object and select Add auto layout
Once you use auto layout, nested objects will be set to auto space between, fill container, and center aligned. Learn about the different properties of auto layout →
Note: Auto layout is only supported on frames. If you select objects that are not in a frame, Figma will create an auto layout frame around them.
Suggest auto layout
Suggest auto layout lets you turn a design responsive with just a click of a button.
When you use Suggest auto layout, Figma will try to determine which objects in a frame or component should be placed in an auto layout frame, then adds as many auto layout frames as needed to make the full design responsive. These auto layout frames are created all at once, while attempting to preserve the placement of your designs.
This saves you time so that you don’t have to do the tedious work of adding auto layout frame-by-frame.
Note: Suggest auto layout can handle moderately-complex designs, such as cards, navigation bars, or mobile screens. If you’re working with a large or complex design, such as website, use suggest auto layout in batches.
You can access this option from a few places:
- Use the keyboard shortcut:
- Mac: ⌃ Control ⇧ Shift A
- Windows ⌃ Control Alt ⇧ Shift A
- Right-click the frame or object and go to More layout options > Suggest auto layout
- Select Suggest auto layout from the Actions menu
After you use this action, any nested auto layout frames that were created are indicated with a blue dot in the layers section in the left panel.
Note: Occasionally, you may find an object in a different auto layout frame than you intended; or with a horizontal direction applied when you wanted vertical. Suggest auto layout might not get it right every time, but it is intended to speed up your workflow.
For elements that may be a bit trickier, we recommend framing, grouping, or using auto layout on nested elements before using Suggest auto layout on the parent frame.
Add, edit, and remove objects
Add objects to an auto layout frame
You can add any layer or object to an auto layout frame.
- Click and drag an object over an auto layout frame.
- Use the blue indicator to choose where to place the object.
Note: The object's size determines if it can be added to the auto layout frame. If any of the object's dimensions are larger than the parent frame, you won't see the option to add it to the auto layout.
Use the modifier key to bypass Figma's default behavior and add larger objects to an auto layout. Or, to add objects to a nested auto layout:
- Mac: ⌘ Command
- Windows: Ctrl
Nest auto layout frames
You can nest an auto layout frame within another auto layout frame. This allows you to combine horizontal and vertical layouts to create complex interfaces.
When you nest an auto layout frame, the nested frame will have both parent and child properties.
In our example below, there are four levels of auto layout:
- Button: Each button is a horizontal auto layout. This allows the button to grow and shrink as we change the label text.
- Button Row: We then add both buttons to another horizontal auto layout. This allows objects to respond when we make any changes to a sibling's contents.
- Post: We then add our buttons to a vertical auto layout with the other objects in the post. This includes a description, an image and the user's profile.
- Timeline: We've added three to a vertical auto layout to create our timeline. The auto layout frame is the top-level frame which sits on the canvas.
You can nest auto layout frames in a couple of ways:
- Drag an auto layout frame into an existing auto layout frame
- Create a new auto layout frame around a selection of auto layout frames (and other objects).
- Select the auto layout frame, and the other layers you'd like to include.
- Use the keyboard shortcut ⇧ Shift A to add auto layout.
- Figma will create a frame around your selection, and add auto layout.
Tip! You can bypass Figma's default parenting behavior. Hold down the modifier key to keep an object within the current frame, or prevent Figma from nesting it.
- Mac: ⌘ Command
- Windows: Ctrl
Duplicate objects
You can duplicate existing objects to add them to the Auto layout. Figma will add the duplicate to the right (horizontal) or below (vertical) the original object.
- Select a child object in an Auto layout frame.
- Duplicate it by using the keyboard shortcut:
- Mac: ⌘ Command D
- Windows: Ctrl D
Arrange or reorder objects
Note: You can't reorder objects in an instance. You will need to change the object's order in the main component, or detach the instance to reorder objects. Auto layout in components ↓
You can change the order that objects appear in an auto layout frame. This is only supported on main components, or auto layout frames outside of a component.
- Select the child object. If the layer is nested, you'll need to use the modifier key to deep select:
- Mac: ⌘ Command
- Windows: Ctrl
- There are a few ways to reorder objects:
- Use the arrow keys on your keyboard the object to a new position.
- Click-and-drag the object to a new position.
Remove objects
To remove an object from a main component or auto layout frame:
- Drag the object outside of the auto layout frame
- Click to next to Appearance in the right panel, or next to the layer in the left panel to toggle the layer visibility
- Select the object and press the Delete or Backspace key
You can't delete a layer or object from an instance. If you try, Figma will only toggle the layer's visibility instead of removing it.
Tip! Toggling a layer or object's visibility will hide it from an auto layout frame. If you want to create a gap in where the object should be, you can adjust the opacity of the object instead. In the right panel, update the Layer settings to 0%
.
Remove auto layout
When you remove auto layout, you will have access to a frame's regular properties.
There are a couple of ways to remove auto layout:
- Right-click on the frame and select Remove auto layout
- In the right panel, click the next to Auto layout
- Use keyboard shortcuts:
- Mac: ⌥ Option⇧ ShiftA
- Windows: Alt⇧ ShiftA
Tip: You can remove auto layout from your currently selected top-level frame and all of its nested objects by using Remove all auto layout from Actions.
Other considerations
Prototypes with auto layout
There are a few things to be mindful of when creating prototypes with auto layout.
Smart animate transitions do not take into account the background of a frame. If you want to use a Slide in or Move in transition with smart animate, you will need to add a background. You can create a rectangle within a regular frame and place your auto layout frame within it. Slide in and move in transitions →
To apply scrolling overflow to a frame, you need to have content to extend beyond the frame's bounds.
As an auto layout parent's dimensions are content-driven, it will resize to fit the objects. To replicate scrolling overflow you will need to put the auto layout inside a regular frame.
Note: Presentation view supports scrolling of long frames by default. You will only need to use this workaround when you want to clip content.
Components and instances
As components are frames, you can add auto layout to them. You will need to add auto layout to each component individually. There isn't currently a way to add auto layout in bulk.
Action | Main component | Instance |
Adjust vertical and horizontal padding | ✓ | ✓ |
Adjust spacing between | ✓ | ✓ |
Reorder layers | ✓ | ✕ |
Add new layers | ✓ | ✕ |
Delete or remove layers | ✓ | (Hides layer only) |
Want to add icons to instances? We recommend adding a placeholder icon, with 0% opacity, to the main component. You can then swap out the icon for another component in your library.
Before you start
Who can use this feature
Available on all plans
Users with can edit access to a file can add auto layout to frames and objects
Use auto layout to create responsive designs that grow to fill, shrink to fit, or reflow contents. For example:
- Create buttons that grow or shrink as you edit the text label
- Build lists that adapt as items are added, removed, or hidden
- Combine auto layout frames to build complete interfaces
Note: This article covers how to add auto layout to designs, and how to rearrange child objects in an auto layout flow. To learn about resizing, spacing, alignment, and other properties of auto layout, check out Explore auto layout properties →
Frames with auto layout have different properties to regular frames. When you apply auto layout, you'll see some changes in the right sidebar. You can't do the following to auto layout frames:
- 🚫 Add layout grids to that frame
- 🚫 Apply constraints to any objects within an auto layout frame, unless the object has absolute position enabled
- 🚫 Use smart selection on any objects within the frame
Add auto layout
You can add auto layout to a frame or a selection of objects. This includes:
- New or empty frames
- Frames with existing content
- Components and component sets
- Groups or other selections of layers and/or objects
There are a few ways to add auto layout to a selected frame or component:
- Use the keyboard shortcut ⇧ Shift A
- In the right sidebar, click next to Auto layout with a frame selected
- Right-click on a frame or object and select Add auto layout
Once you use auto layout, nested objects will be set to auto space between, fill container, and center aligned. Learn about the different properties of auto layout →
Note: Auto layout is only supported on frames. If you select objects that are not in a frame, Figma will create an auto layout frame around them.
Suggest auto layout
Suggest auto layout lets you turn a design responsive with just a click of a button.
When you use Suggest auto layout, Figma will try to determine which objects in a frame or component should be placed in an auto layout frame, then adds as many auto layout frames as needed to make the full design responsive. These auto layout frames are created all at once, while attempting to preserve the placement of your designs.
This saves you time so that you don’t have to do the tedious work of adding auto layout frame-by-frame.
Note: Suggest auto layout can handle moderately-complex designs, such as cards, navigation bars, or mobile screens. If you’re working with a large or complex design, such as website, use suggest auto layout in batches.
You can access this option from a few places:
- Use the keyboard shortcut:
- Mac: ⌃ Control ⇧ Shift A
- Windows ⌃ Control Alt ⇧ Shift A
- Right-click the frame or object and go to More layout options > Suggest auto layout
- Select Suggest auto layout from the Actions menu
After you use this action, any nested auto layout frames that were created are indicated with a blue dot in the layers section in the left panel.
Note: Occasionally, you may find an object in a different auto layout frame than you intended; or with a horizontal direction applied when you wanted vertical. Suggest auto layout might not get it right every time, but it is intended to speed up your workflow.
For elements that may be a bit trickier, we recommend framing, grouping, or using auto layout on nested elements before using Suggest auto layout on the parent frame.
Add, edit, and remove objects
Add objects to an auto layout frame
You can add any layer or object to an auto layout frame.
- Click and drag an object over an auto layout frame.
- Use the blue indicator to choose where to place the object.
Note: The object's size determines if it can be added to the auto layout frame. If any of the object's dimensions are larger than the parent frame, you won't see the option to add it to the auto layout.
Use the modifier key to bypass Figma's default behavior and add larger objects to an auto layout. Or, to add objects to a nested auto layout:
- Mac: ⌘ Command
- Windows: Ctrl
Nest auto layout frames
You can nest an auto layout frame within another auto layout frame. This allows you to combine horizontal and vertical layouts to create complex interfaces.
When you nest an auto layout frame, the nested frame will have both parent and child properties.
In our example below, there are four levels of auto layout:
- Button: Each button is a horizontal auto layout. This allows the button to grow and shrink as we change the label text.
- Button Row: We then add both buttons to another horizontal auto layout. This allows objects to respond when we make any changes to a sibling's contents.
- Post: We then add our buttons to a vertical auto layout with the other objects in the post. This includes a description, an image and the user's profile.
- Timeline: We've added three to a vertical auto layout to create our timeline. The auto layout frame is the top-level frame which sits on the canvas.
You can nest auto layout frames in a couple of ways:
- Drag an auto layout frame into an existing auto layout frame
- Create a new auto layout frame around a selection of auto layout frames (and other objects).
- Select the auto layout frame, and the other layers you'd like to include.
- Use the keyboard shortcut ⇧ Shift A to add auto layout.
- Figma will create a frame around your selection, and add auto layout.
Tip! You can bypass Figma's default parenting behavior. Hold down the modifier key to keep an object within the current frame, or prevent Figma from nesting it.
- Mac: ⌘ Command
- Windows: Ctrl
Duplicate objects
You can duplicate existing objects to add them to the Auto layout. Figma will add the duplicate to the right (horizontal) or below (vertical) the original object.
- Select a child object in an Auto layout frame.
- Duplicate it by using the keyboard shortcut:
- Mac: ⌘ Command D
- Windows: Ctrl D
Arrange or reorder objects
Note: You can't reorder objects in an instance. You will need to change the object's order in the main component, or detach the instance to reorder objects. Auto layout in components ↓
You can change the order that objects appear in an auto layout frame. This is only supported on main components, or auto layout frames outside of a component.
- Select the child object. If the layer is nested, you'll need to use the modifier key to deep select:
- Mac: ⌘ Command
- Windows: Ctrl
- There are a few ways to reorder objects:
- Use the arrow keys on your keyboard the object to a new position.
- Click-and-drag the object to a new position.
Remove objects
To remove an object from a main component or auto layout frame:
- Drag the object outside of the auto layout frame
- Click the to toggle the layer visibility
- Select the object and press the Delete or Backspace key
You can't delete a layer or object from an instance. If you try, Figma will only toggle the layer's visibility instead of removing it.
Tip! Toggling a layer or object's visibility will hide it from an auto layout frame. If you want to create a gap in where the object should be, you can adjust the opacity of the object instead. In the right sidebar, update the Layer settings to 0%
.
Remove auto layout
When you remove auto layout, you will have access to a frame's regular properties.
There are a couple of ways to remove auto layout:
- Right-click on the frame and select Remove auto layout
- In the right sidebar, click the next to Auto layout
- Use keyboard shortcuts:
- Mac: ⌥ Option⇧ ShiftA
- Windows: Alt⇧ ShiftA
Tip: You can remove auto layout from your currently selected top-level frame and all of its nested objects by using Remove all auto layout from Actions.
Other considerations
Prototypes with auto layout
There are a few things to be mindful of when creating prototypes with auto layout.
Smart animate transitions do not take into account the background of a frame. If you want to use a Slide in or Move in transition with smart animate, you will need to add a background. You can create a rectangle within a regular frame and place your auto layout frame within it. Slide in and move in transitions →
To apply scrolling overflow to a frame, you need to have content to extend beyond the frame's bounds.
As an auto layout parent's dimensions are content-driven, it will resize to fit the objects. To replicate scrolling overflow you will need to put the auto layout inside a regular frame.
Note: Presentation view supports scrolling of long frames by default. You will only need to use this workaround when you want to clip content.
Components and instances
As components are frames, you can add auto layout to them. You will need to add auto layout to each component individually. There isn't currently a way to add auto layout in bulk.
Action | Main component | Instance |
Adjust vertical and horizontal padding | ✓ | ✓ |
Adjust spacing between | ✓ | ✓ |
Reorder layers | ✓ | ✕ |
Add new layers | ✓ | ✕ |
Delete or remove layers | ✓ | (Hides layer only) |
Want to add icons to instances? We recommend adding a placeholder icon, with 0% opacity, to the main component. You can then swap out the icon for another component in your library.