AWC UI GitHub
Theme generator

Build your MD3 theme

Pick brand colors, get a Material Design 3 tonal palette + role-mapped tokens in real time. Preview on real AWC UI components, validate WCAG AA contrast in light and dark mode, and download a ready-to-use CSS file.

Source colors

Pick one brand color. Material Design 3 derives the rest of the scheme from it — secondary at the same hue with lower chroma, tertiary 60° around the hue wheel. Override either one only if your brand needs it.

Preview controls

Default (0) Compact (-1) Compact (-2) Dense (-3) Ultra (-4)
What does Contrast do? MD3's algorithm derives every colour role from its source palettes at fixed perceptual tones (tone-40 for primary, tone-98 for surface, and so on). The Contrast control scales those targets so the algorithm redistributes tones to hit a stricter or looser WCAG goal:
  • Reduced (−1) — MD3 deliberately relaxes its targets. Tones move closer together, the UI feels softer, and some cross-role text pairs drop below 4.5:1. Useful for low-stakes brand surfaces; not WCAG AA by itself.
  • Standard (0) — MD3's default. The algorithm engineers every cross-role text pair to clear WCAG AA (4.5:1) by construction, regardless of source colours. This is what ships in the spec.
  • Medium (0.5) — MD3 pushes tones further apart. Text and icons read more strongly against surfaces; useful when Standard feels too soft for data-heavy UIs.
  • High (1) — AAA-aligned. MD3 targets 7:1 for normal text where possible. Tone-40 darkens, tone-98 brightens, and the brand flavour gives ground to readability. The right choice for accessibility-first products.
The whole theme (light + dark) and the contrast panel below update live as you change levels.

Live preview

Real AWC UI components styled with your generated tokens. The --md-sys-color-* variables are set as inline custom properties on the panel element, so changes you make above propagate live into every component's shadow DOM via standard CSS inheritance.

Buttons
Filled Tonal Elevated Outlined Text With icon
FAB & icon buttons
Selection & chips
Sliders & progress
Cards

Filled card

Surface container with text on it.

Elevated card

Shadow-separated container.

Outlined card

Border-defined container.

Text fields
Badges & segmented
Tabs & navigation
App bars (small & search)
Toolbar
Grouped & split buttons
Cut Copy Paste
Select & tooltip
United States United Kingdom Germany Japan Low Medium High Hover for tooltip
Date picker (docked)
Navigation rail & list
Accordion & stepper
Standard delivery to the billing address. Charged when the order ships.
Breadcrumbs & tab panels
Home Projects Alpha Overview content. Activity content.
Status, rating, skeleton & ripple
Ripple
Search, autocomplete & pickers
Apple Banana Cherry New Urgent Later
Menus, sheets & dialogs
Open menu Open dialog Bottom sheet Side sheet Snackbar Time picker
This cannot be undone. Cancel Discard Sheet content. Sheet content. Message archived
FAB menu
Table (composable)
Client Amount Acme $1,200
Issued 3 March.
Globex $840
Total $2,040
Transfer list
Charts
Organization chart

WCAG AA contrast

Each row checks two MD3 colour roles against the WCAG minimum (4.5:1 for normal text; 3:1 for borders / dividers / icons, per WCAG 2.1 SC 1.4.11) at the current Standard contrast level. Change the Contrast control above to see how MD3's algorithm redistributes tones at each level.

Tonal palettes

Each row below is a tonal palette with 13 tones (0 = black, 100 = white). AWC UI's color roles map to specific tones — e.g., --md-sys-color-primary = primary T40 (light) / T80 (dark).

Primary
T0
T10
T20
T30
T40
T50
T60
T70
T80
T90
T95
T99
T100
Secondary
T0
T10
T20
T30
T40
T50
T60
T70
T80
T90
T95
T99
T100
Tertiary
T0
T10
T20
T30
T40
T50
T60
T70
T80
T90
T95
T99
T100
Neutral
T0
T10
T20
T30
T40
T50
T60
T70
T80
T90
T95
T99
T100
Neutral Variant
T0
T10
T20
T30
T40
T50
T60
T70
T80
T90
T95
T99
T100