Radix Violet

Radix UI's violet scale — 12 semantically labeled steps published in both light and dark variants. A balanced violet between blue and purple. Step 1 is app background, step 9 is the solid brand color, step 12 is high-contrast text. The same step number means the same semantic role across light and dark, with different hex values per mode.

28 swatches 14 light roles 14 dark roles radixcooldesign-systemscaledual-mode

Swatches

violet-1-light
#FDFCFE
App background.
violet-2-light
#FAF8FF
Subtle background.
violet-3-light
#F4F0FE
UI element background.
violet-4-light
#EBE4FF
Hovered UI element background.
violet-5-light
#E1D9FF
Active / selected UI element background.
violet-6-light
#D4CAFE
Subtle borders and separators.
violet-7-light
#C2B5F5
UI element border and focus rings.
violet-8-light
#AA99EC
Hovered UI element border.
violet-9-light
#6E56CF
Solid background — the brand color step.
violet-10-light
#654DC4
Hovered solid background.
violet-11-light
#6550B9
Low-contrast text.
violet-12-light
#2F265F
High-contrast text.
violet-1-dark
#14121F
App background.
violet-2-dark
#1B1525
Subtle background.
violet-3-dark
#291F43
UI element background.
violet-4-dark
#33255B
Hovered UI element background.
violet-5-dark
#3C2E69
Active / selected UI element background.
violet-6-dark
#473876
Subtle borders and separators.
violet-7-dark
#56468B
UI element border and focus rings.
violet-8-dark
#6958AD
Hovered UI element border.
violet-9-dark
#6E56CF
Solid background — the brand color step.
violet-10-dark
#7D66D9
Hovered solid background.
violet-11-dark
#BAA7FF
Low-contrast text.
violet-12-dark
#E2DDFE
High-contrast text.
slate-11-light
#60646C
Neutral text imported from Radix Slate for legibility on the chromatic scale's mid-tone backgrounds. Step 11 is low-contrast text.
slate-12-light
#1C2024
Neutral text imported from Radix Slate for legibility on the chromatic scale's mid-tone backgrounds. Step 12 is high-contrast text.
slate-11-dark
#B0B4BA
Neutral text imported from Radix Slate for legibility on the chromatic scale's mid-tone backgrounds. Step 11 is low-contrast text.
slate-12-dark
#EDEEF0
Neutral text imported from Radix Slate for legibility on the chromatic scale's mid-tone backgrounds. Step 12 is high-contrast text.

Mode role mappings

Light mode (14 roles)

accent → violet-8-light
accent-hover → violet-7-light
background → violet-1-light
error → violet-12-light
primary → violet-9-light
primary-hover → violet-10-light
success → violet-9-light
surface → violet-2-light
surface-elevated → violet-3-light
text-primary → slate-12-light
text-secondary → slate-11-light
text-tertiary → violet-9-light
warning → violet-9-light
warning-hover → violet-10-light

Dark mode (14 roles)

accent → violet-8-dark
accent-hover → violet-7-dark
background → violet-1-dark
error → violet-12-dark
primary → violet-9-dark
primary-hover → violet-10-dark
success → violet-9-dark
surface → violet-2-dark
surface-elevated → violet-3-dark
text-primary → slate-12-dark
text-secondary → slate-11-dark
text-tertiary → violet-9-dark
warning → violet-9-dark
warning-hover → violet-10-dark

Provenance

Source
https://www.radix-ui.com/colors/docs/palette-composition/scales
License
MIT
Attribution
Radix Colors, Copyright WorkOS, Inc., MIT licensed. Imported from the radix-ui/colors repository on GitHub.
Imported
2026-05-17 (upstream version 3.0.0)
Notes
Radix publishes distinct hex values for each scale in light and dark mode. This atom carries both as -light and -dark suffixed swatches; modes.light.roles points at -light swatches and modes.dark.roles at -dark swatches. Violet is a chromatic hue and makes a poor neutral for body text, so steps 11 and 12 of Radix Slate are imported as supplementary swatches and used for text-primary and text-secondary in both modes.