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
| Category | Option | Default |
|---|---|---|
| Eligibility | Convert XD stacks to Auto Layout | ON |
| Spacing threshold | ON (10px) | |
| Overflow exclusion | ON (1.0x) | |
| Cross-size ratio | ON (5.0x) | |
| Alignment | Alignment inference | Balanced |
| Skip ambiguous auto-layout | OFF | |
| Preserve cross-axis offset | OFF | |
| Spacing | Spacing method | Mode |
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.
| Mode | Inference | Weighted voting | CENTER verification | When to use |
|---|---|---|---|---|
| Off | No | β | β | Faithful to XD coordinates, always MIN (top/left) |
| Strict | Yes | Yes | Yes | Multi-stage verification minimizes false positives (conservative) |
| Balanced (default) | Yes | No | Yes | Standard. Guard suppresses only false-positive CENTER |
| Native-first | Yes | Yes | No | Lean 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.