Material Design

Google Design Language

Paper and Ink
Reimagined

Material Design is a design language developed by Google. Grounded in the physical world, it translates the texture of paper and ink into digital surfaces — using depth, shadow, and motion as the vocabulary of a living interface.

Core Principle

Material is the metaphor. A unifying theory of a rationalized space and a system of motion grounded in tactile reality.

Google Material Design Guidelines

Core Concept

Elevation System

Every surface occupies a position on the z-axis. Shadow depth communicates elevation above the base material layer. Click a card to inspect its shadow spec.

dp4

App Bar, raised button rest

box-shadow: 0 2px 4px -1px rgba(0,0,0,0.2),0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12)

Dual Shadow Layers

Each dp level uses two shadow layers: a key shadow (directional) and an ambient shadow (soft, surrounding).

Deceleration Curve

All Material transitions use cubic-bezier(0.4, 0, 0.2, 1) — elements decelerate into their resting state.

Z-axis Lift

On hover, surfaces lift -translate-y-1 and upgrade their shadow level, simulating physical lift off the plane.

Component Library

Material Components

Production-ready UI elements following the full Material Design specification — buttons, cards, inputs, and FABs.

Contained (dp2 → dp8 on hover)

Outlined (no elevation)

Text (ghost — no border, no shadow)

Icon buttons

Visual Language

Color System

Color is applied with purpose: to convey meaning, establish hierarchy, and create consistent brand identity across surfaces.

Primary

#6200ee

#7c4dffVariant 1
#b388ffTint
#ede7f6Container

Secondary

#03dac6

#018786Variant
#80cbc4Tint
#e0f2f1Container

Error

#b00020

#cf6679Tint
#fcd3d9Container
#fff8f8Surface

Neutral

#212121

#616161Mid
#9e9e9eLight
#f5f5f5Background

Pink A400

#ff0266

Yellow A700

#ffde03

Green A700

#00c853

Surface

#ffffff

Background

#fafafa

On Primary

#ffffff

Primary

App bars, primary buttons, active states, selected indicators — the dominant brand color.

Secondary

FABs, selection controls, highlighted inputs — used sparingly for the most important accent.

Pink Accent

A400 accent — notifications, badges, emphasis overlays. Never use as a background.

Navigation Pattern

Bottom Navigation Bar

Material bottom navigation bars allow switching between top-level destinations in an app. They appear at dp8 and contain 3–5 items.

Home

Active destination

Click tabs to switch active destination

dp8

Elevation

Bottom nav floats at dp8 above content

3–5

Destinations

Minimum 3, maximum 5 navigation items

56dp

Height

Standard height is 56dp (56px at 1x)

Type Scale

Typography

Material Design uses the Roboto typeface. The type scale provides 13 named styles spanning Display through Caption.

H1Displaytext-[6rem]
H2Headlinetext-[3.75rem]
H3Title Largetext-[3rem]
H4Titletext-[2.125rem]
H5Title Smalltext-[1.5rem]
H6Subtitletext-[1.25rem]
Body1Body regular — used for primary content areas and long-form reading.text-base
Body2Body small — secondary text, captions, helper messages.text-sm
CaptionCaption — annotations, image captions, supporting detail.text-xs
OVERLINEOVERLINE TEXT — SECTION LABELStext-[0.625rem]

Philosophy

Design Principles

Three core principles guide every Material decision — from shadow depth to motion curves.

Material is the Metaphor

A material metaphor is the unifying theory of a rationalized space and a system of motion. The material is grounded in tactile reality, inspired by the study of paper and ink.

Bold, Graphic, Intentional

Typography, grids, space, scale, color, and imagery guide visual treatments and signal hierarchy. These elements do far more than please the eye.

Motion Provides Meaning

Motion respects and reinforces the user as the prime mover. Primary user actions are inflection points that initiate motion — clarifying relationships.

Do

  • +Use the elevation shadow system — every surface must sit at a defined dp level
  • +Apply cubic-bezier(0.4, 0, 0.2, 1) for all Material transitions
  • +Use UPPERCASE + letter-spacing-wide for button labels
  • +Follow the 8dp spacing grid — all margins/padding multiples of 8
  • +Reserve secondary color for the single most important action per view
  • +Combine hover:-translate-y-1 with shadow upgrade for Z-axis lift
  • +Include active:scale-[0.98] on every interactive button and FAB

Don't

  • -Assign arbitrary shadow values — every shadow must map to a defined dp level
  • -Use linear or ease-in easing — it feels mechanical and inorganic
  • -Use muted or desaturated colors — Material demands bold, vivid hues
  • -Place two FABs on a single screen — one primary action per view
  • -Ignore interaction feedback — every button must respond visually to input
  • -Use non-Material shadow depths — inconsistent elevations destroy hierarchy
  • -Skip active:scale-[0.98] — pseudo-ripple feedback is non-negotiable
Material Design

A design system built and supported by Google. Material helps teams build high-quality digital experiences faster.

Style DocsAll Styles

StyleKit · Material Design Showcase

ElevationColorTypographyMotion