Auto Layout

XD stacks (content-aware groups) are converted to Figma auto-layout frames. These options control which groups qualify for auto-layout and how alignment and spacing are determined.

Note: Auto Layout conversion is a Pro plan ($29, one-time purchase) feature. The plugin itself is free to install, and the Free plan still handles structure, styles, groups, and other basic conversions.

Quick reference

Eligibility

Convert XD stacks to Auto Layout

Default: ON Master switch for auto-layout conversion. When ON, XD groups with contentStackType (horizontal/vertical stacks) are converted to Figma auto-layout frames with appropriate padding, spacing, and alignment.

When OFF, all groups are converted as plain frames with absolute positioning (same as Free mode).

Spacing threshold

Default: ON (10px)

Checks whether spacing between stack children is uniform. If spacing varies by more than the threshold, the group falls back to a plain frame. This prevents auto-layout from being applied to groups where items are intentionally placed at irregular intervals.

Overflow exclusion

Default: ON (1.0x)

Excludes groups where children extend beyond the artboard bounds by more than the specified multiplier. Prevents auto-layout from being applied to decorative elements that intentionally overflow.

Cross-size ratio

Default: ON (5.0x)

Excludes groups where the ratio between the largest and smallest child on the cross-axis exceeds the threshold. Prevents auto-layout from being applied to groups with vastly different sized children.

Alignment

XD stacks have no explicit alignment property (MIN/CENTER/MAX) β€” children are positioned by coordinates. So during conversion, cross-axis alignment must be inferred from child positions. The Alignment section controls inference confidence with a single mode selector.

Alignment inference

Default: Balanced (choose from 4 modes)

A mode selector that controls CENTER/MAX inference confidence on a single axis. Each mode combines voting strategy and verification logic differently.

ModeInferenceWeighted votingCENTER verificationWhen to use
OffNoβ€”β€”Faithful to XD coordinates, always MIN (top/left)
StrictYesYesYesMulti-stage verification minimizes false positives (conservative)
Balanced (default)YesNoYesStandard. Guard suppresses only false-positive CENTER
Native-firstYesYesNoLean toward Figma-native CENTER. Guard removed so CENTER wins more often

Glossary:

  • Weighted voting: Votes are weighted by child size β€” prevents large content from being outvoted by small decorations
  • CENTER verification: After CENTER wins the majority, demotes to MIN if applying CENTER would shift specific children beyond a threshold

When to use:

  • Default to Balanced. Best for typical designs with centered content in stacks
  • When large content (images, tables, etc.) is being pulled around by small decorations (icons, buttons, etc.) β†’ Strict or Native-first
  • Lists/cards/grids with mixed-width children where only some elements stick out to the center β†’ Balanced or Strict (both have CENTER verification)
  • CENTER/MAX is unpredictable, or you want strict XD coordinate fidelity β†’ Off
  • Maximize Figma-native CENTER alignment β†’ Native-first

Skip ambiguous auto-layout

Default: OFF When cross-axis alignment inference finds no clear majority for any alignment (MIN / CENTER / MAX), this option reverts the frame to a plain frame with absolute positioning instead of guessing.

This is an orthogonal toggle independent of Alignment inference mode (combinable with any mode; meaningful for any mode other than Off).

When to use: Enable this when specific frames show noticeable misalignment from auto-layout, as a last resort when you prefer accurate reproduction of the original XD positions over preserving auto-layout structure. Since this reduces the number of auto-layout frames overall, try mode switching first.

Preserve cross-axis offset

Default: OFF In Figma, counterAxisAlignItems applies uniformly to all children. So if some children are full-width and others have left margins, the margins are lost. When ON, offset children are wrapped in transparent frames that preserve their original position.

A tolerance dropdown controls how small an offset must be to trigger wrapping: Strict (5px) catches even small margins, Standard (10px) is the default, Tolerant (20px) only wraps children with large offsets.

When to use: Enable this when list items lose their left margins in Pro mode. If margins are still lost, try lowering the tolerance to Strict.

Pair with Alignment inference = Balanced/Strict: When the mode’s CENTER verification demotes CENTER β†’ MIN and the container also holds full-width separators or backgrounds, the rows may end up flush to the left (x=0) because the full-width children block padding inference. In that case, also enable Preserve cross-axis offset. Once MIN is locked in, Preserve activates and wraps the offset rows in FILL frames to restore their original x position.

Spacing

Spacing method

Default: Mode

Determines how itemSpacing is calculated from XD’s per-child margin values.

  • Mode: Uses the most frequent margin value. Best for uniform spacing with occasional outliers.
  • Average: Uses the average of all margin values. Best for spacing that varies slightly.