Create a Flex Layout

Last updated on Jun 2, 2026

Learn how to use Flex Layout to make your designs dynamic and effortlessly adaptable to content changes.

Adobe InDesign deeplink-gen-fill

Try it in the app
Work with a sample file and learn how to work with Flex Layout.

Create an empty Flex layout

Select multiple objects in your document.

Select the Flex layout icon from the Properties panel. The selected objects are added to a Flex Container.

Drag and drop objects into the container. The container items adjust automatically based on the Flex Container settings - direction, alignment, justification, and spacing.

  • Flex Layout is scriptable.
  • Press Esc to move the selection from a child object to the parent object inside a Flex Layout.

Create a Flex Layout in an existing document

When you convert a selection to a Flex Layout, InDesign analyzes alignment and spacing to apply suitable layout behavior. This helps your layouts respond consistently to content changes.

Select the objects or groups you want to convert.

For groups: Right-click the selected group and select Flex Layout > Convert to Flex Layout.

For multiple objects: Right-click the selected objects and select Flex Layout > Add to Flex Layout.

Note

InDesign auto-detects the direction and properties for Flex Layout. To turn it on or off, select Edit > Preferences > General (Windows) or InDesign > Preferences > General (macOS), then select or deselect Auto-detect and apply Flex Layout settings, and select OK.

InDesign detects layout properties based on how the selected objects are aligned:

  • Aligned selections: The container direction matches the alignment, sizing is set to Auto along that axis, and spacing is set to Space Between.
  • Unaligned selections: Wrap Content is turned on, and the container uses a fixed size on the primary axis and auto-sizing on the secondary axis.

You can adjust direction, justification, spacing, wrap, and alignment.

InDesign workspace with the Flex Layout panel showing the properties for adjustment, opened over a converted flex container.
Refine Flex Layout properties using the Flex Layout panel.

Convert parent elements into Flex Layouts to build nested structures.

Add or remove items to see how the layout responds and refine until it adapts smoothly.

Note

Auto-detection does not create nested Flex Layouts. Groups that already contain a Flex Layout are treated as single objects, so convert inner groups manually before or after creating the outer container.