How to configure and generate opacity tokens
Open Coreframe and click the Opacity tab. The generator has three sections: Primitive, Semantic, and Component. On the Primitive tab you’ll find 15 default opacity steps:
Each row displays a checkered-background preview swatch so you can see the transparency level at a glance. You can edit a step’s name, label, or percentage value inline. Click Add Custom Opacity to insert a new step, or the trash icon to remove one. Click Map Semantic Opacity to advance to the next tab.
On the Semantic tab you’ll find pre-built mappings that give meaningful names to opacity values:
opacity-disabled → opacity-40— elements that are inactive but still visibleopacity-overlay → opacity-50— modal backdrops and sheet scrimsopacity-placeholder → opacity-60— placeholder text and ghost contentopacity-ghost → opacity-20— watermarks and decorative backgroundsopacity-muted → opacity-70— secondary text and de-emphasized contentopacity-hover → opacity-80— hover-state image overlays
button-disabled, input-disabled, modal-backdrop, and placeholder-text — each pointing at a semantic opacity token. This final layer makes it trivial to adjust the disabled opacity for all form elements by changing a single semantic token. Pro users can customize these mappings.
Click Generate Opacity Token to push all three layers into Figma as Variables.
Use cases
Opacity tokens handle three primary scenarios in a design system:- Overlays — use
opacity-overlay(50%) on the backdrop behind modals, drawers, and sheets to dim the content underneath without hiding it entirely. - Disabled states — apply
opacity-disabled(40%) to buttons and inputs to visually communicate that an element is non-interactive. Binding this to a variable means you can tune the exact value system-wide without hunting down individual layers. - Hover states — image cards and interactive tiles commonly darken or lighten on hover. Using
opacity-hover(80%) as a named token keeps these micro-interactions consistent across your component library.
