Loading color tools…
Loading color tools…
Build a design-token color file from your palette. Exports CSS, SCSS, JSON, and Tailwind config instantly.
Scattered hex codes across dozens of component files make a color palette nearly impossible to update consistently — change a brand color and you're hunting through every file that used it. This tool converts a list of colors into named CSS custom properties (or SCSS variables, JSON tokens, or a Tailwind config object), so a single definition drives every place that color is used. Edit a name, swap a hex value, or add a new entry, and the output for all four formats updates instantly. Everything runs client-side — your palette never leaves your browser.
:root {
--color-primary: #2563eb;
--color-secondary: #7c3aed;
--color-accent: #0ea5e9;
--color-background: #ffffff;
--color-foreground: #0a0a0a;
--color-muted: #94a3b8;
}Pick any color and instantly get its HEX, RGB, HSL, and CMYK values
Generate beautiful multi-color palettes from a single seed color
Create CSS linear, radial, and conic gradients with live preview and code output
Upload an image and extract its dominant colors as a palette
Edit the color palette
Each row has a color picker, HEX input, and a name field. Edit any of them to update the entry.
Add or remove colors
Click '+ Add Color' to add a new row. Click ✕ to remove any entry you don't need.
Choose an output format
Switch between CSS Variables (:root), SCSS Variables, JSON object, or Tailwind Config.
Copy the output
Click 'Copy Output' to copy the generated code to your clipboard.
CSS custom properties, commonly called CSS variables, are declared with a double-hyphen prefix — for example --color-primary: #2563eb; — usually inside a :root selector so the value is available globally through the document. Unlike preprocessor variables, custom properties are resolved by the browser at runtime, which means they participate in the normal CSS cascade: they can be inherited, overridden at any more specific selector, read and written from JavaScript, and swapped instantly inside a media query for things like prefers-color-scheme dark mode.
This tool takes the color, HEX value, and name you enter for each palette row and formats them into four different outputs. The CSS tab wraps each entry as --name: value; inside a :root block. The SCSS tab instead emits $name: value; — a Sass variable that gets substituted at compile time rather than resolved in the browser, so it has no runtime flexibility but works in any Sass-based build pipeline. The JSON tab produces a flat name-to-value object suited to design-token tooling or importing directly into a JavaScript theme file. The Tailwind tab formats the same palette as a colors object shaped for theme.extend.colors in a Tailwind config file.
Because the generator runs entirely as client-side JavaScript, editing a color or a name updates all four output formats immediately with no network request involved — nothing about your palette is transmitted anywhere. Once you have a working token set, it pairs naturally with color decisions made in the Contrast Checker, since accessible foreground/background pairs are exactly the kind of relationship worth encoding as named variables rather than scattered literals.
Unlike most online tools, Toolivon processes everything directly in your browser using the Web APIs built into Chrome, Firefox, Safari, and Edge.
Last updated: