LUCKY.GRAPHICS
Material Design 3 (M3)
design-systems
Free

Material Design 3 (M3)

🍀 Directory Note

"The default choice for Android and a strong token and color foundation anywhere, with a thinner official story on the web than the guidelines suggest."

About Material Design 3 (M3)

Material Design 3 (M3) is Google's current open-source design system, documented at m3.material.io and first released with Android 12 in October 2021 as the 'Material You' generation of Material Design. Its defining change is dynamic color: instead of every app shipping a fixed palette, a single source color (on Android, one extracted from the user's wallpaper) is expanded by the open-source Material Color Utilities algorithms into five tonal palettes (primary, secondary, tertiary, neutral, and neutral variant), and fixed tone steps from those palettes fill the color roles for both light and dark schemes. The color math runs in HCT (hue, chroma, tone), a color space Google built so that tone tracks perceived lightness consistently across hues, which is what makes scheme generation predictable enough to automate.

The rest of the system is token-driven in the same way: color, typography, shape, and motion decisions are named design tokens (Material Web exposes them as CSS custom properties such as --md-sys-color-primary), so a theme change is a token change rather than a component rewrite. Adaptive layout is specified through window size classes (compact, medium, expanded, and larger), which switch navigation between a bottom bar, a navigation rail, and a drawer as width grows. The current evolution of the guidelines is M3 Expressive, which adds more vibrant color use, shape and motion emphasis, a library of 35 decorative shapes with shape-morph motion, and new or updated components including toolbars, split buttons, and button groups; the M3 Figma design kit is maintained alongside the guidelines.

Implementation is uneven across platforms, and that is the main thing to understand before choosing it. On Android, Material 3 is the native standard and Google now develops it Compose-first through Jetpack Compose. Flutter ships a Material library with M3 support in the framework. On the web, the official library is Material Web (@material/web on npm): standards-based web components built on Lit, styled through the same token system, but covering a subset of the full M3 component set, and its README states that it is in maintenance mode pending new maintainers (checked October 2026), so web teams should check both component coverage and maintenance status before committing.

Licensing splits by layer. Material Web, the Jetpack Compose libraries (AndroidX), Material Color Utilities, and the Material Icons repository are released under the Apache License 2.0, while Flutter, including its Material library, is under the BSD 3-Clause license (checked October 2026). That code license does not cover the guidelines text and imagery on m3.material.io, the Figma design kit, or Google's trademarks and brand assets, which sit under Google's own terms.

Primary Use Cases

  • 1
    Android Native Application Development
  • 2
    Cross-platform Flutter / Jetpack Compose apps
  • 3
    Products that want dynamic, user-derived color themes
  • 4
    Consumer SaaS with high personalization needs

Technical Data

Guidelines

m3.material.io (Material Design 3, current evolution: M3 Expressive)

Web package

@material/web (npm, version 2.5.0), Lit-based web components, styled with --md-sys-* design tokens; README states maintenance mode pending new maintainers (checked October 2026)

Android

Jetpack Compose Material 3 library (Compose-first)

Flutter

Material library built into the Flutter framework

Color system

Dynamic color via Material Color Utilities: one source color, five tonal palettes, HCT (hue, chroma, tone) color space

License

Apache 2.0 for Material Web (LICENSE in github.com/material-components/material-web; npm registry), Jetpack Compose (androidx/androidx), Material Color Utilities, and the Material Icons repository; BSD-3-Clause for Flutter and its Material library (github.com/flutter/flutter), checked October 2026; m3.material.io guidelines content, the Figma kit, and Google trademarks and brand assets are not covered by the code license

Source

github.com/material-components and github.com/material-foundation (Material Color Utilities)

Design files

M3 Design Kit for Figma, linked from m3.material.io

Editorial review

Editorial score9.3/10

Material Design 3 is the system Google builds Android and its own apps with, documented at m3.material.io, with its code libraries published under open-source licenses (Apache 2.0 for Material Web and Compose, BSD-3-Clause for Flutter); the guidelines content and Google's brand assets are not part of those licenses. It launched with Android 12 in October 2021 as Material You, and its current evolution, M3 Expressive, leans harder into color, shape, and motion, with new components such as toolbars, split buttons, and button groups.

Color is the headline, and it is real engineering Dynamic color starts from one source color and builds five tonal palettes (primary, secondary, tertiary, neutral, neutral variant). Each palette holds the same hue and chroma at stepped tones, and the light and dark schemes assign fixed tones from those palettes to roles like primary, surface, and on-surface. The work happens in HCT (hue, chroma, tone), where tone is designed to track perceived lightness evenly across hues, unlike HSL lightness, which is why a generated scheme stays balanced instead of turning muddy at some hues. The generator itself is open source as Material Color Utilities, so Flutter, web, and third-party implementations produce the same scheme from the same source color.

One caution the marketing version skips: generated does not mean automatically compliant. The scheme's role pairings are designed to meet contrast targets at their assigned tones, but the moment you override a role, place text over imagery, or adopt a user's wallpaper-derived scheme unchanged, the pairings are yours to re-test.

Tokens and adaptive layout Below color, M3 is a token system: reference, system, and component tokens for color, typography, shape, and motion. On the web these surface as CSS custom properties (--md-sys-color-primary and its siblings), so retheming is a token swap. Layout adapts by window size class rather than device type: compact widths get a navigation bar, medium widths a rail, expanded widths a drawer, and components such as search and toolbars restyle at the same breakpoints. Foldables and tablets are where this earns its keep.

Where implementation is strong, and where it is not Android is the home platform and it shows: the Jetpack Compose Material 3 library is where new components land first, and Google states Material on Android is now Compose-first. Flutter is a genuine second platform, with M3 support in the framework's Material library. The web is the weak leg. Material Web (@material/web) is a Lit-based web-components library styled by the same tokens, but it implements a subset of the component set, and its README now lists it as in maintenance mode pending new maintainers, so a web team can follow the M3 guidelines exactly and still end up hand-building components the Android library ships. iOS has no first-party M3 library at all.

What you give up The look. Even themed, M3 products read as Material products, which is a benefit inside the Android ecosystem and a cost for a brand that wants to look like itself first. Dynamic color cuts both ways for the same reason: it personalizes by taking color decisions away from the brand. And the system's touch-first spacing makes dense, data-heavy desktop tooling (the Carbon and Ant Design home ground) a poorer fit.

Bottom line Choose M3 when Android is a primary platform, when you want one token and color foundation shared with Flutter, or when dynamic color is itself a feature. On the web, adopt the guidelines and tokens with your eyes open about Material Web's coverage, and budget for building the missing components to spec.

Directory Analysis & Suitability

Key Advantages

  • Dynamic color generates a full light and dark scheme from one source color, with the algorithm open-sourced as Material Color Utilities
  • Token system covers color, typography, shape, and motion, so theming is a token change instead of a component rewrite
  • First-class on Android: Compose-first Jetpack Compose library, plus a Material library built into Flutter

Considerations

  • The default look is recognizably Google, so heavily branded products need a deliberate theme pass
  • Material Web covers a subset of the full component set and its README lists it as in maintenance mode pending new maintainers (checked October 2026)
  • Dynamic color can fight a fixed brand palette, and generated schemes still need contrast testing role by role

Platform Compatibility

Web Environment

Workable but partial. Material Web (@material/web, Lit-based web components) implements a subset of M3 and is in maintenance mode per its README; check coverage and status first.

Mobile & Touch

Exceptional on Android. The native standard, developed Compose-first; Flutter support ships in the framework.

Desktop Software

Solid. Window size classes adapt navigation from bar to rail to drawer as width grows.

Publisher-Listed Usage
Not independently verified
Developed By
Google Design
License Type
Apache 2.0 for Material Web, Compose, and Color Utilities; Flutter BSD-3-Clause; guidelines content and Google brand assets excluded (checked October 2026)
Access Model
Open Source