Radix Brown

Radix UI's brown scale — 12 semantically labeled steps published in both light and dark variants. A natural earthy brown — desaturated warm. 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 radixwarmdesign-systemscaledual-mode

Swatches

brown-1-light
#FEFDFC
App background.
brown-2-light
#FCF9F6
Subtle background.
brown-3-light
#F6EEE7
UI element background.
brown-4-light
#F0E4D9
Hovered UI element background.
brown-5-light
#EBDACA
Active / selected UI element background.
brown-6-light
#E4CDB7
Subtle borders and separators.
brown-7-light
#DCBC9F
UI element border and focus rings.
brown-8-light
#CEA37E
Hovered UI element border.
brown-9-light
#AD7F58
Solid background — the brand color step.
brown-10-light
#A07553
Hovered solid background.
brown-11-light
#815E46
Low-contrast text.
brown-12-light
#3E332E
High-contrast text.
brown-1-dark
#12110F
App background.
brown-2-dark
#1C1816
Subtle background.
brown-3-dark
#28211D
UI element background.
brown-4-dark
#322922
Hovered UI element background.
brown-5-dark
#3E3128
Active / selected UI element background.
brown-6-dark
#4D3C2F
Subtle borders and separators.
brown-7-dark
#614A39
UI element border and focus rings.
brown-8-dark
#7C5F46
Hovered UI element border.
brown-9-dark
#AD7F58
Solid background — the brand color step.
brown-10-dark
#B88C67
Hovered solid background.
brown-11-dark
#DBB594
Low-contrast text.
brown-12-dark
#F2E1CA
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 → brown-8-light
accent-hover → brown-7-light
background → brown-1-light
error → brown-12-light
primary → brown-9-light
primary-hover → brown-10-light
success → brown-9-light
surface → brown-2-light
surface-elevated → brown-3-light
text-primary → slate-12-light
text-secondary → slate-11-light
text-tertiary → brown-9-light
warning → brown-9-light
warning-hover → brown-10-light

Dark mode (14 roles)

accent → brown-8-dark
accent-hover → brown-7-dark
background → brown-1-dark
error → brown-12-dark
primary → brown-9-dark
primary-hover → brown-10-dark
success → brown-9-dark
surface → brown-2-dark
surface-elevated → brown-3-dark
text-primary → slate-12-dark
text-secondary → slate-11-dark
text-tertiary → brown-9-dark
warning → brown-9-dark
warning-hover → brown-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-18 (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. Brown 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.