Known limitations
Most of these come from Figma's own layout model, not from the extraction — the browser measures them fine, but Figma has no equivalent to express them. The plugin always logs a warning when it hits one, and where possible it falls back to measured absolute positioning, so the look stays right even when the behavior can't.
Layout
- CSS Grid is not converted to Auto Layout. Grid containers import with correct measured positions but as absolutely positioned children — the log notes
Grid layout detected - using absolute positioning. justify-content: space-around/space-evenlyhave no Figma equivalent; both becomeSPACE_BETWEEN. Spacing inside the frame can differ slightly from the browser.flex-wrapconverts to Figma's wrapped Auto Layout, but the two wrap algorithms aren't identical — the log warns when a wrapped container might differ.flex-basisand per-child baseline alignment have no equivalent; both are approximated from the measured geometry.- Negative
gapis clamped to 0 (Figma requires non-negative spacing). - Multi-column layout (CSS columns) and vertical writing modes are not supported.
- Table cells spanning rows or columns (
colspan/rowspan) import by geometry only.
Visuals
- Animations and transitions aren't represented — pages are captured with animations fast-forwarded to their finished state.
clip-pathand complex clipping shapes are not converted (rectangularoverflow: hiddenclipping works).- Exotic gradient patterns (e.g. conic) fall back to a solid color from the gradient.
- An element carrying both a border and a Tailwind ring keeps the border; the ring is skipped (one stroke set per layer).
- Unsupported CSS filters on non-image elements are logged and skipped.
Interactivity
- Form elements are visual only — an input imports as its rendered box and placeholder text, not as an interactive component.
iframecontent renders as part of the capture but can't be extracted as layers when cross-origin.
If an import looks wrong
Run Parse Only and read the log — every warning above appears there with the element that triggered it. For anything that looks like a bug rather than a limitation, see Troubleshooting & support.