About this tool
CSS custom properties — usually called CSS variables — let you define a value once, like a brand color, a spacing unit, or a font stack, and reuse it everywhere with var(--name). Centralizing repeated values means a single edit at the :root level cascades through the whole stylesheet instead of a find-and-replace across dozens of files, and because custom properties are live DOM values, JavaScript or a media query can read and rewrite them at runtime — enabling instant theme switches, dark mode toggles, or user-adjustable spacing without touching any CSS.
Type a name and a value for each row below; this tool sanitizes every name automatically, stripping a redundant leading "--" and swapping invalid characters for hyphens, so a typo like a missing prefix or a stray space never breaks the generated block. Copy the :root { ... } output straight into your stylesheet, or download it as its own .css file to @import wherever you need it. Everything runs locally in your browser as you type; nothing is uploaded.
Frequently asked questions
Does this upload my values anywhere?
No. Everything runs locally in your browser — your name/value pairs never leave your device.
Can I scope the variables to a specific selector instead of :root?
Yes — set a custom selector and the generated CSS block will use it instead of :root.