On this page
Quick steps
Select the main component
Select the main component or the component set, not an instance. Properties are defined on the main and used on instances.
Create the property
In the right sidebar, click + in the Properties section and choose Boolean, Text, Instance swap, Variant or Slot. Name it, set a default value, and click Create.
Select the layer to control
Select the nested layer the property should drive: the icon to show or hide, the text layer for the label, or the nested instance to swap.
Apply the property to the layer
For a boolean, click Apply variable/property in the Appearance section. For text, hover the text field in the Text section and click Apply variable/property. For instance swap, click Apply instance swap property at the top of the right sidebar.
Test on an instance
Place an instance and check the new control in the right sidebar. Toggling or editing it should change only that instance.
The five component property types
- Boolean: shows or hides a nested layer. Use it for optional parts like a leading icon or a badge.
- Text: exposes a nested text layer so instances can change the copy from the sidebar. It needs a default string.
- Instance swap: lets instances swap a nested instance, such as the icon in a button. You can add optional preferred values so the picker suggests the right set.
- Variant: the axes of a component set, like
SizeorState. It only exists on component sets. Our component variants guide covers variants in depth. - Slot: a flexible area where instances can add their own layers. It rolled out from March 2026 (open beta); see Figma slots.
How to create a text property in a Figma component
Select the main component, click + in Properties and choose Text. Enter a name like Label and a default string, then click Create. Now select the text layer inside the component, hover the text field in the Text section at the top of the right sidebar, and click Apply variable/property. Pick Label. Instances now show a Label field you can type into without double-clicking into the layer.
Boolean property 'not used within component'
This message means the property exists but isn't bound to any layer. It's one of the most-viewed component threads on the Figma forum, and the fix is the second half of the setup that people skip.
- Select the layer inside the main component that should appear and disappear.
- In the right sidebar, find the Appearance section.
- Click the Apply variable/property icon and choose your boolean.
- In a component set, check that the layer is linked in every variant where it should respond.
Properties not showing in Figma?
Work through these in order. The first two cover most cases.
- You're looking at the wrong layer. The Properties section with the + button only appears on a main component or component set. On an instance you see the property controls, not the setup.
- The property isn't linked to a layer. A boolean or text property that isn't applied to anything won't do anything on instances. Link it as shown above.
- The Variant option is missing. Variant properties exist only on component sets. Make a component set first by adding a variant; the variants guide walks through it.
- Nested properties aren't exposed. If the button's icon has its own properties and you want them on the button, turn on nested instances (next section).
- The instance comes from a library that hasn't been updated. New properties reach other files only after the library is published and the update is accepted. See Figma library not showing.
How to expose nested instance properties
Select the main component, open Properties, and under Expose properties from choose Nested instances. Pick which nested instances to surface. Their properties then appear under the parent instance in the right sidebar, so nobody has to dig into the layer tree.
Two rules trip people up. The Nested instances option only appears if the component already contains nested instances that have properties, or an instance that's already exposed. And if a boolean hides an exposed nested instance, that instance's properties are hidden too. More on this in Figma nested components.
Check every property combination
Each boolean doubles the number of ways an instance can look, so a component with a few properties has combinations nobody has seen. Instancer, our plugin, reads the variant, boolean and nested instance properties of the selected component and lays out every combination as labeled, live instances. It's the quickest way to spot a label that overflows only when the icon is on.
New to components? Start with how to create a component in Figma. To document the properties for developers, see Figma design specs.
Ranked listThe best Figma plugins for design systems in 2026Frequently asked questions
Why does my boolean property say 'not used within component'?
The property isn't linked to a layer yet. Select the layer inside the main component, click Apply variable/property in the Appearance section, and choose the boolean.
Why is the Variant property option missing?
Variant properties only exist on component sets. A single component can have boolean, text, instance swap and slot properties, but a variant property needs a component set. Add a variant to turn the component into one.
Can I add properties to an instance?
No. Properties are created on the main component or component set. Instances only show the controls for properties the main already has.
Do component properties need a paid plan?
No. Component properties are available on any plan. You need edit access to the file that holds the main component.
More in Components & variants
- 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 Make a Skeleton Loader in FigmaHow to design a skeleton loader in Figma: grey blocks with auto layout, a component with variants, a Smart Animate shimmer, and a plugin that converts frames.
- How to Detach an Instance in Figma (and Remove a Component)Detach a Figma instance with ⌥⌘B or Ctrl+Alt+B. Why Detach is missing, how to detach a nested instance, and how to turn a main component back into a frame.
- How to Create a Component in FigmaCreate a Figma component with ⌥⌘K or Ctrl+Alt+K, the Create component button or a right-click. Plus bulk creation, instances and what the purple icon means.
- Why Are My Nested Components Not Working in Figma?Expose nested instance properties in Figma, fix 'components can't contain instances of themselves' and the swapped-with-parent error, and see what can't change.
- How to Swap an Instance in FigmaSwap a Figma instance from the Instance menu, with Quick insert (Shift+I) or by Alt-dragging a component onto it. Plus go to main, reset and restore shortcuts.
- How to Add a Slot to a Figma ComponentAdd a slot to a Figma component with Convert to slot (⌘⇧S or Ctrl+Shift+S) or Wrap in new slot. Settings, limits, and when to use slots vs instance swap.
- 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.
- Figma plugin vs widget: what's the difference?A Figma plugin runs for one person and closes when done. A widget is an object on the canvas everyone can see and use. When to pick which, with examples.
- 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.
