On this page
Quick steps
Select the component set
Start from the main component or component set, not a detached instance, so every property and variant is available to document.
Document the anatomy
Number each meaningful part (container, icon, label, badge) and list its fill, stroke, typography, radius and effects, using token names instead of raw values.
Show spacing and sizing
Mark padding, gap, width, height and corner radius for each auto layout frame, with one color for padding and another for gap.
List the properties
Build a table of every Variant, Boolean, Text and Instance swap property with its type, default value and accepted options.
Show the states
Place instances of each variant or boolean option side by side so reviewers can compare them without toggling properties.
Publish the spec
Move the spec frames to a dedicated Specs page and link it from the component description so developers find it from Dev Mode.
What goes in a Figma design spec
Most design system teams settle on the same four sections. You can treat this list as a design spec template:
- Anatomy: numbered markers on each part of the component, with a legend describing what each part is and which tokens it uses.
- Spacing and layout: padding, gap, fixed sizes, corner radius and auto layout direction for every container.
- Properties: every variant and boolean option shown visually, so people see what
size=smorhasIcon=falselooks like. - Property table: the component's API in rows (name, type, default, options), which maps closely to the props a developer will write.
Add a short usage note (when to use it, when not to) and accessibility notes if your team writes them. Keep behavior notes for the screens where the behavior happens; Figma annotations are better for those.
What Dev Mode already gives developers
Before building specs, check what your developers already get. In Dev Mode, anyone with a Full or Dev seat can inspect a layer's size, spacing and styles, copy code snippets, and see which variables a layer uses. Selecting an instance shows its component properties, and Open in playground lets a developer flip variants and booleans without editing the file. Designers can also add saved measurements (Shift + M) and annotations (Shift + T).
What Dev Mode doesn't produce is a static document. Inspection answers questions one layer at a time, for people with the right seat. A spec frame answers them all at once, for anyone who opens the file, and it can be exported to a docs site.
How to build a component spec by hand
- Create a Specs page and a frame for each component, with a header naming the component.
- Place an instance in the frame. Draw numbered circles next to each part and a legend listing the part name, fill token, text style and radius.
- Duplicate the instance and draw redlines: semi-transparent rectangles for padding, a second color for gaps, and text labels for each value.
- Build a table (auto layout rows work well) listing each property, its type, default and options.
- Lay out one instance per variant option underneath, labeled with the property value.
This works, and it's how most teams started. The problem is maintenance. Rename a token or change a padding value and every spec that mentions it is now wrong, with nothing to flag the drift. A hand-built spec for a button with a few properties takes a while; doing it for a whole library is a project of its own.
Generate design specs with a Figma plugin
Autospec is our plugin for this, and it's free to start. Select a component, instance or frame, pick a doc type, and click Generate. It reads the layer tree and writes a spec frame next to your selection. There are four doc types, matching the template above:
- Anatomy places numbered markers on meaningful layers and builds a legend with fills, strokes, typography, size, padding, radius, effects, gap and variable bindings. Instances, text and shapes are annotated; plain wrapper frames and groups are skipped but their children are still walked.
- Measure creates a card for each auto layout frame with color-coded overlays: blue for padding, orange for gap, plus dimensions and per-corner radius.
- Properties makes one card per property with a live preview of every variant and boolean option, active value highlighted. Text and instance swap properties show their value.
- Property Table lists every Variant, Boolean, Text and Instance Swap property with type, default and options. Instance swaps show the component name, not a node ID.
Because Autospec resolves bound variables and styles, the legend shows color/primary instead of a hex value when the layer uses a token. You can set a brand color, light or dark output, and a text label in the header so specs match your design system. Settings are saved per file.
Button / Icon helps a developer and Frame 42 doesn't. Bind tokens first too, or the legend falls back to raw values.Generate doc types back to back and Autospec places each new frame beside the last one. Components that hide layers conditionally, like a loading spinner, need Show hidden layers turned on. The Autospec docs cover each doc type in detail, and if you haven't installed a plugin before, see how to install Figma plugins.
Other design spec plugins
Specs (formerly EightShapes Specs), by Nathan Curtis, is the best-known alternative. It generates anatomy, spacing and property specs, detects Figma variables and Tokens Studio tokens, and has a free tier with more features on a paid subscription. It's a good choice for large design systems that want its specific documentation style.
A spec's Properties section shows each option on its own. To see how options combine, such as a small, disabled button with an icon, generate all component variants into a matrix.
Ranked listThe best Figma Dev Mode and handoff plugins in 2026Frequently asked questions
What should a design spec include?
At minimum: anatomy with token names, spacing and sizing for each container, a visual of every variant and boolean option, and a property table with types and defaults. Add usage and accessibility notes if your team documents them.
Does Figma Dev Mode replace design specs?
Partly. Dev Mode covers layer-by-layer inspection, variables and a component playground for Full and Dev seats. It doesn't produce a single spec page you can share, review or publish to a docs site.
Is there a free Figma design spec plugin?
Autospec is free to start with no login, with a one-time $19 upgrade on the Figma Community. It generates Anatomy, Measure, Properties and Property Table specs. Specs (formerly EightShapes Specs) has a free tier with paid features.
How do I keep design specs up to date?
Generate them instead of drawing them, keep them on a dedicated Specs page, and regenerate after changing tokens or properties. Hand-drawn redlines don't update when the component changes.
More in Dev Mode & handoff
- Figma Annotations: How They Work and Who Can See ThemHow Figma annotations work in Design and Dev Mode, which seats can add and view them, how they differ from comments, and when an annotation plugin helps.
- How to Open Figma in Dev ModeOpen Figma Dev Mode with Shift+D or the toolbar toggle. Which plans and seats get it, why you see "can't access Dev Mode", and how to inspect without it.
- How to Export Figma Variables to JSON (and CSS, Tailwind or CSV)Export Figma variables to JSON natively, convert them to CSS or Tailwind with Style Dictionary, and move variables between files with Variable Master.
- How to Generate All Component Variants in FigmaFigma shows only the variants you draw. Here's how to lay out every combination of variant, boolean and nested props as a matrix, by hand or with Instancer.
- How to install Figma pluginsFigma plugins don't need installing: open one from the Community or run it inside a file. Steps for Figma Design, Dev Mode, FigJam, Slides, saving and admins.
- Figma plugins not working? How to fix itFigma plugins not loading, missing or greyed out? Check your seat and edit access, org approval, network blocks and cache. A step-by-step checklist that works.
