Tailwind Palette Exporter

Create Tailwind color scales (50–950) from HEX or HSL. Copy Tailwind config, CSS variables, and JSON tokens.

Live Generation
100% Private
Copy as Code
BASE COLOR (HEX)
HEX CODE INPUT
HSL ADJUSTMENT
H
271°
S
81%
L
56%
COLOR NAME
Contrast Checker
LIVE PALETTE PREVIEW

                

Your privacy is protected! No data is transmitted or stored.

Real-World Use Cases

Where This Palette Exporter Shines

Practical ways teams use generated Tailwind scales and tokens.

Design Systems & Tokens

Map brand colors into Tailwind 50–950 steps and export as tokens so components stay consistent across apps.

Component Libraries

Generate theme color objects for buttons, badges, and alerts without manually tweaking each shade.

Brand Refresh & A/B Tests

Try alternate primaries and instantly copy matching 50–950 scales for rapid experiments.

CSS Variables Pipelines

Export variables to theme.css and reference them in frameworks that prefer custom properties over utility classes.

FAQ

Frequently Asked Questions

Answers to keep your palette accurate and production-ready.

Different tools use different tone curves. This exporter uses a tuned HSL curve for clean tints and controlled shades. Exact visual parity isn’t required—consistency and usability are.

Yes. The 500 step is locked to your HEX field so your brand color never drifts when generating the scale.

Copy the config block and paste under theme.extend.colors. For example: theme.extend.colors.brand = {'50': '#...', '500': '#...', '950': '#...'}.

Use variables when your stack relies on custom properties or you need runtime theming. Both exports use the same generated scale.

No. Every change to HEX or HSL sliders recalculates the full 50–950 scale. Preview, Tailwind config, and CSS variables are always in sync.
Powerful Features

Zero‑Friction Palette Control

Everything you need to ship consistent theme colors.

Live Generation

See the 50–950 steps update instantly as you tweak HEX or HSL—no manual tweaking required.

Copy As Code

One click copies Tailwind config, CSS variables, or JSON tokens that match the preview.

100% Client‑Side

Everything runs in your browser. No uploads, no tracking, just fast local generation.

How It Works

From HEX To Tailwind In Four Steps

A quick flow that mirrors real dev workflows.

01
Pick Base HEX

Paste your brand color or use the color picker to set the base.

02
Adjust HSL

Fine‑tune hue, saturation and lightness until the preview feels right.

03
Copy As Code

Choose HEX or CSS mode and copy Tailwind config or variables.

04
Paste Into Project

Drop into tailwind.config.js or a variables.css file used by your app.

In‑Depth Guide

Build Better Tailwind Palettes

Learn a reliable approach to generating scales that look natural and ship fast.

What Makes A Great Tailwind Color Palette

A great Tailwind color palette is more than a list of HEX values. It is a predictable 50–950 scale that reads clearly in UI, maps cleanly to design tokens, and stays faithful to your brand color in the pivotal 500 step. The goal is not to copy another tool’s output pixel‑for‑pixel; it is to ship a scale that looks natural, produces accessible contrast, and remains easy to maintain across apps. This page focuses on that kind of production‑ready palette generation and export workflow.

Start With A Locked Base (500)

Always begin with a single source of truth — your brand’s base HEX. In this exporter the 500 step is locked to that HEX so the core identity never drifts. Designers can nudge hue and lightness to explore options, but the exported Tailwind config will still reference your exact base when you paste it into theme.extend.colors. That gives both design and engineering teams confidence that brand.500 in buttons, links, and charts is identical everywhere.

Understand The 50–950 Steps

The most common Tailwind scale uses 10 or 11 stops: 50, 100, 200, 300, 400, 500, 600, 700, 800, 900 and sometimes 950. The light end (50–200) needs to feel airy without turning chalky; mid tones (300–400) should be readable behind icons and inputs; darks (600–900/950) must hold shape without becoming muddy. This exporter’s curve targets exactly that behavior so you can rely on 600/700 for solid foregrounds and on 50/100 for subtle backgrounds or table rows.

Why “Exact Match To Figma” Isn’t Required

Different tools calculate tints and shades using different math (HSL, HSB, OKLCH, perceptual adjustments). That is why two generators can start from the same HEX and still produce slightly different scales. For production work, consistency within your own system matters more than matching a third‑party tool line‑by‑line. This exporter uses a tuned HSL curve that reduces saturation at the light end and gently boosts it in the darks to keep edges crisp — a practical choice for UI components and charts. Online tools like Figma, Coolors and similar generators are perfect for exploration — copy your base HEX from there; this exporter guarantees consistent, deterministic code outputs inside your project. Prioritize internal consistency over cross‑tool parity.

A Balanced Curve For Natural Tints And Shades

On the light side the palette tapers saturation to avoid washed‑out 50/100 steps that resemble dusty grey. On the dark side it gives a measured saturation lift so 800/900 keep energy without crushing detail. The result is a smooth progression that looks reliable in real interface elements: badges, buttons, alerts, tabs, and menu hovers. Because the math is deterministic and runs client‑side, what you preview is exactly what you export as code.

Workflow: From HEX To Tokens

A simple production workflow looks like this: set the base HEX, fine‑tune HSL until the preview feels on‑brand, then export the scale using the mode that fits your stack. If you are building with Tailwind utilities, copy the Tailwind config block. If your design system depends on CSS custom properties, switch to CSS mode and copy variables. Because both exports are generated from the same state, there is no divergence between preview and code.

Tailwind Config vs CSS Variables

Use the Tailwind config export when the application primarily styles surfaces with utility classes like bg-brand-600 or text-brand-700. Use CSS variables when you need runtime theming, want to expose tokens to non‑Tailwind code, or maintain a shared style dictionary. Many teams combine both: Tailwind consumes variables through theme.extend so utilities and components reference the same underlying values.

Naming And Token Strategy

Pick a short, semantic key for your color such as brand, primary or a product codename. Avoid embedding functional words like button or link in token names — those are uses, not colors. Keep the 50–950 numbers; they are widely understood and map directly to Tailwind classes. When exporting CSS variables, mirror the same semantics, for example --brand-50 through --brand-950. Consistent naming drastically lowers the cognitive load for both designers and developers.

Accessibility And Contrast That Holds Up

Readable interfaces require contrast. As a practical baseline aim for 4.5:1 contrast for normal text and 3:1 for large or bold text. Test both brand‑on‑white and white‑on‑brand combinations at steps 600–900. If white‑on‑600 is marginal, bump saturation slightly or choose 700 for primary buttons. Because this exporter recalculates the full scale instantly as you move the HSL sliders, you can explore contrast‑friendly variations without manually editing every stop. For complex pages with gradients behind content, validate your final choices in the Contrast Checker to keep WCAG guardrails in place.

Validate With Real Components

Before you ship a new scale, preview it on live components: buttons, tags, form controls and chart series. Check hover and active states on 400/600, focus rings on 300, and borders on 200. Surfaces that carry text need more contrast than decorative stripes or badges. If the interface uses gradient accents, complement the solid palette with gentle backgrounds created in the CSS Gradient Generator so the brand color and the gradient language feel related instead of competing.

Common Pitfalls And How To Avoid Them

Do not manually nudge individual HEX steps unless you plan to maintain them forever. Small manual edits tend to accumulate and the scale loses coherence. Avoid ultra‑light 50 values that look like grey with a hint of hue; they produce noisy table zebra stripes. Similarly, avoid ultra‑dark 950 values that turn near‑black; they can swallow icon details. This exporter’s curve is deliberately conservative on both edges to keep the entire range usable in real layouts.

When To Create Multiple Brand Scales

Large products sometimes need two coherent scales: a primary brand color and a supporting accent. The accent can handle tags, charts and highlights while the primary covers actions and links. Generate each scale from its own base HEX so 500 remains meaningful in both sets. If you require monochromatic palettes for illustrations or background fills, you can create companion tints and shades with the Color Shades & Tints Generator and keep them alongside the Tailwind scale.

Performance And Delivery Considerations

This tool generates everything client‑side so no color data is transmitted or stored. In production, store your palette in a single place — Tailwind config or a variables stylesheet — and avoid duplicating values across components. If you are building a design system package, expose the palette via tokens and import those tokens in downstream apps. Fewer sources of truth mean fewer bugs when the brand evolves.

A Simple Launch Checklist

1) Lock 500 to the base HEX. 2) Verify text contrast on 600–900 for white overlays and on 50–200 for dark text. 3) Confirm hover, focus and disabled states across buttons and links. 4) Export Tailwind config or CSS variables and paste into your repository as a single token source. 5) If you use gradients in heroes or cards, generate them with related hues so the brand color and backgrounds feel connected. Follow this checklist and your Tailwind palette will be clean, accessible and easy to maintain over time.