Tony GorbProduct Designer & Builder

LinkedIn (opens in a new tab)GitHub (opens in a new tab)
Download CV PDFView CV

Work/Tailwind Tokens
Contents

Tailwind Tokens · Figma plugin

Keeping Figma and Tailwind code in sync

Role
Product design, code
Year
2025
Users
5.5k

Overview

A Figma plugin that turns Tailwind's theme into native variables and styles, and back out as code.

5.5k people have run it on Figma Community (October 2026). It grew out of my own files: every new project began with typing Tailwind's theme in again. I designed and built it alone.

The plugin, and Figma's variables panel after one run

Problem

Tailwind's theme lived in code. In Figma, designers typed it in again.

Colours, spacing, type and shadows, one value at a time, with names that had to match the code by hand. Every change meant doing it again, and the file and the code drifted apart.

Tailwind's default colours, 22 families of 11 shades plus black and white, and the same grid in a new Figma file

Collections

Adding dark mode meant rethinking where every token lives.

Version 1 wrote everything into one Figma collection. Then a user asked for a collection per kind, and I was adding dark mode. In Figma, a light and dark switch covers a whole collection, so one collection couldn't hold both. Splitting also broke a rule from my own README: don't change the collection structure once it's in Figma.

01 · One collection

Version 1: everything in one collection

444 variables in one list called TailwindCSS. Colours, spacing and type were told apart only by their names: colors/blue/500, spacing/4.

Version 1 (July 2025 build), recorded October 2026: Create All fills one TailwindCSS collection with 444 variables

02 · Modes

Dark mode would have spread to spacing

Dark gives every colour a second value. In Figma that second value belongs to the whole collection, so spacing and radius would have carried a Dark column they'd never use.

Dark off

Dark on

2.0.0: Dark on fills in a dark value for every colour, each one editable

03 · Seven collections

Version 2: seven collections, and only Colors goes dark

Since 12 November 2025: Colors, Spacing, Layout, Radius, Type, Shadow and Other. Returning users saw the change in What's New before anything else.

1 · Separate Collections
2 · Dark Mode Colors
3 · Letter Spacing
1 / 1

Line heights

Figma variables hold pixels, so each line height is set for its font size.

leading-1 is 16 px, written for 12 px text, not Tailwind's 4 px. When a user asked why, I explained the trade-off on the plugin's page.

Font sizes

Line heights

2.0.0, the Type tab: 12 px text takes 16 px leading, 14 takes 20, 16 takes 24

Safe to stop

A run that writes hundreds of variables has to be safe to stop.

A run shows its progress, Abort removes only what that run made, and Update saves a version to Figma's history before it changes anything.

Create, then Abort

Update asks first

2.0.0 in Figma at real speed: Abort at 45 of 244 colours, and the button goes back to Create

Back to code

Version 2.0 sends the tokens back out as code, and reads code back in.

CSS, a Tailwind theme, SCSS, JSON, or a prompt for an AI coding tool; an import shows what it found before it writes. A user had asked for it, and my FAQ had promised it.

Export as a Tailwind theme
Export as a prompt for an AI coding tool
Import: CSS the plugin exported earlier, pasted in
Import, reviewed before anything is written
1 / 1

Built alone

2.0 cut the welcome and the promo, and kept What's New.

Version 1 greeted people with confetti; in January a card promoted my other plugin. I built it alone with an AI editor, in two bursts: May to July 2025, and March 2026.

2025: the Welcome on first run
January 2026: the Stardust card
March 2026: What's New in 2.0
1 / 1

Landing page

The plugin got its own site, in the same brand.

I designed and built tailwindtokens.com in June 2025: one page that leads to the install button, with the plugin running in Figma, its features and a FAQ.

tailwindtokens.com, the whole page: Bring Tailwind Tokens into Figma in few clicks, the plugin running in a Figma window, six features, reviews, a FAQ and Get started with Tailwind Tokens
tailwindtokens.com, the whole page: Bring Tailwind Tokens into Figma in few clicks, the plugin running in a Figma window, six features, reviews, a FAQ and Get started with Tailwind Tokens

tailwindtokens.com on 20 October 2026, at this screen's size

Outcome

5.5k people have run it, and their comments set the roadmap.

A collection per kind and export to code were both asked for in comments before they shipped. One promise is still open: Tailwind v4's colours.

5.5kpeople have run Tailwind Tokens182 likes · Figma Community
I am a super rare commenter. But this plugin deserves attention. Thanks for the great job, works like a charm, well designed and so user friendly.
Christoph BuettnerFigma Community
This plugin is absolutely amazing and really helps my workflow.
ITS ElabramFigma Community
Great plugin … the values nicely reflect Tailwind's variables!
Rouaida RoumiehFigma Community
Worked well for me today – used it to setup spacing tokens, and shadows.
JordonFigma Community
From the plugin's comments on Figma Community

Reflection

What I'd take to the next product

  1. 01

    Model the host

    Figma's units and modes shaped the structure more than Tailwind did.

  2. 02

    Let users set the order

    A collection per kind and export to code both began as user comments.

  3. 03

    Make bulk writes safe

    Progress, Abort and a saved version make a 450-variable run safe to try.

  4. 04

    Explain the trade-off

    When px line heights confused someone, I gave the reason in public.

  5. 05

    Keep printed promises

    The FAQ promised config import in June 2025, and 2.0 delivered it.

  6. 06

    Ship the big one tested

    2.0 changed 137 files in one release and added the plugin's first tests.