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
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.