How to theme Angular Material faster (custom theme in 3 steps)

How to theme Angular Material faster (custom theme in 3 steps)

You can theme Angular Material in three focused steps: open the builder, pick or tweak a theme, then export SCSS you paste into your app. No manual token spreadsheets required.

Step 1 — Open the builder and pick a built-in theme

Open the builder and start from a built-in theme instead of a blank canvas. Good starting points:

  • Claude — Warm neutrals with a soft accent
  • Vercel — High-contrast monochrome
  • Neo Brutalism — Bold borders and flat color blocks
  • Supabase — Dark green developer aesthetic
  • Material — Canonical Material 3 baseline

Click a preset to load its palette, typography, and density. The live preview updates immediately so you can compare options before customizing.

Built-in themes panel in Material Theme Builder
Built-in themes panel in Material Theme Builder

Step 2 — Tweak color, typography, and density

Use the color editor to adjust primary, secondary, and surface roles. Change font family, weight, and tracking in the typography panel. Try one component—buttons or cards—to see how tokens propagate.

Undo and redo while you experiment. Your work persists in local storage, so you can close the tab and return later without losing progress.

Color editor with primary and surface roles
Color editor with primary and surface roles

Step 3 — Export SCSS and apply it

Open the export panel and copy the generated SCSS. Paste it into your app's global styles.scss (or a dedicated theme partial imported there).

Export panel showing generated SCSS
Export panel showing generated SCSS
@use '@angular/material' as mat;

html {
  @include mat.theme((
    color: (
      primary: mat.$azure-palette,
      tertiary: mat.$blue-palette,
    ),
    typography: Roboto,
    density: 0,
  ));
}

Replace the palette references with the exported values from the builder. Rebuild your app—the preview and production build share the same token source.

Optional polish

After the base theme works, tune individual component tokens (chips, dialogs, tables) in the builder. When you want a different preset, switch built-in themes and re-export—faster than editing SCSS by hand.

Under the hood

Angular Material 3 themes compile down to CSS custom properties via mat.theme(). Material Theme Builder edits the same M3 token model the export emits, so what you see in the preview matches what lands in your stylesheet.

Open the builder

Start from a built-in theme, tweak tokens in the live preview, and export SCSS for your Angular app.

Open the builder