ColorsMine for Figma — variables, not swatches
Name a primary and the plugin builds the rest: 8 primitive ramps and 57 semantic variables across Light and Dark modes, each scoped to where it belongs and aliased back to a primitive. Success, info, warning and danger are assigned for you, anchored to their own hues so a red still reads as an error whatever the brand colour is.
Four jobs
- Generate — from a brand hex, an image already in the file, the colours on the canvas, or any of 10,368,048 catalogue palettes searchable with the network off.
- Grade — point it at a collection you already shipped. Every mode scored out of 100, every canvas layer scanned for real contrast failures against what the text actually sits on, and one named fix. Text on a gradient or a photograph is reported as unmeasurable rather than passed over in silence.
- Export — take the variables you already have out in 12 formats: CSS, Tailwind v3 and v4, DTCG, shadcn/ui, Figma vars, Style Dictionary, Flutter, Swift, Android, Penpot and a CI gate. Several collections at once, each mode its own file, and the roles read from your own variable names rather than guessed from the colours.
- Prove — a frame on the canvas showing the system as an interface, rendered Light and Dark side by side with the ratios on it. Or copies of your own frames repainted as a colour-blind viewer sees them, placed beside the originals.
Standards
WCAG 2.2 — 4.5:1 body text (1.4.3), 3:1 large text and non-text contrast (1.4.11), 7:1 for AAA. APCA Lc alongside the ratio. Protanopia, deuteranopia, tritanopia and greyscale.
Availability
Install it from the Figma Community. The manifest declares no network access at all, so nothing in your file is ever sent anywhere.