Missing style binding
Flags fills, strokes, text, and effects that are not linked to a shared style or variable. If a matching local style exists, StyleGuard names it. One-click fix binds that style.
Features
Scan the current page, the whole document, or a selection. StyleGuard walks layers in chunks so Figma stays responsive, then groups issues by rule so you can fix the ones that matter.
Consistency
Flags fills, strokes, text, and effects that are not linked to a shared style or variable. If a matching local style exists, StyleGuard names it. One-click fix binds that style.
Non-integer x, y, width, or height. Default tolerance is 0. Rotated nodes and auto-layout-managed positions are skipped. One-click fix snaps to whole pixels.
Radii that are not in the file’s dominant scale, or in an allow-list you configure. Reports the nearest allowed value.
Hidden layers left outside an archive group. Only the root of a hidden subtree is reported, so you are not flooded with nested leftovers.
Naming
Figma defaults such as “Rectangle 12”, “Frame 4”, “Vector”, and boolean operations. Suggested rename comes from text content or node type.
Accessibility
Composites ancestor solid fills over white, accounts for text opacity, and uses large/bold thresholds. AA is 4.5:1 (3:1 large); AAA is 7:1 (4.5:1 large). Severity is error by default.
Image fills with no description. Add a description inline; it is stored in file-level plugin data so it travels with the file.
Layers whose names match interactive patterns (button, CTA, link, tab, toggle, checkbox, radio, chip) and are smaller than 44×44, which you can change.
Text below 12px, including mixed styled segments. The minimum is configurable in Settings.
Custom rules
Regex must match the layer name, scoped by node types or a name pattern. Default starts at ^[a-z]. Reports expected vs actual.
Restrict a hex color to allowed layers, or require it on those layers. Catch both misuse and missing-where-required.
Compare cornerRadius, opacity, width, height, or fontSize with eq, neq, lt, lte, gt, gte, in, and notIn. Default: corner radius ≤ 16.
Rules persist at file level, so everyone scanning the file uses the same set. Import and export as styleguard-rules.json.
Fixes and AI
Batch “Fix all” asks for confirmation and is one Cmd/Ctrl+Z.
Plugin screenshot — drop a capture of the Report or Rules tab intopublic/screenshots/ and replace this placeholder.
Try StyleGuard directly in Figma.
Get the Figma plugin