Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Modular and customizable Material Design UI components for the web
Material Components Web (material-components-web) is an open-source library of modular, customizable Material Design UI components for the web, developed by a core team at Google as the successor to Material Design Lite.
Material Components Web is a collection of modular UI components—such as filled text fields, floating labels, and line ripples—that implement Google's Material Design guidelines. It takes HTML markup styled with mdc-* classes and JavaScript instantiation calls, and produces interactive, accessible web interfaces. The library runs in any modern browser and is distributed both as a minified CDN bundle on unpkg and as individual NPM packages like @material/textfield and @material/floating-label. It was developed by a core team of engineers and UX designers at Google.
@material/textfield), so you can import only the pieces your project needs.docs/framework-wrappers.md.material-components-web.min.css and material-components-web.min.js) and attach a component with one call: mdc.textField.MDCTextField.attachTo(...).@use syntax, e.g., @include textfield.core-styles;.mdc-text-field HTML structure, load the required styles and JS, then call MDCTextField.attachTo() on the element to initialize it.The quick start offers two paths. Via CDN, you include the minified stylesheet and script from unpkg and then call mdc.textField.MDCTextField.attachTo() on a .mdc-text-field element. Via NPM, you install @material/textfield, import the required Sass modules (floating-label, line-ripple, textfield) and JavaScript, then instantiate new MDCTextField(...) in a webpack setup.
The project is no longer actively maintained. While automated updates may still occur, the team will not prioritize new features or bug fixes, and those updates will be turned off in the future.
You can load it via CDN from unpkg using the material-components-web.min.css and material-components-web.min.js files, or install individual NPM packages like @material/textfield and import the Sass and JS modules in your build.
Angular Material moved away from this library, a change the Angular team believes allows faster iteration. Their blog post explains the future of Material support in Angular.
The core library is framework-agnostic and provides framework wrappers documented in the repository, so React and Vue developers can use it, though the core is vanilla JavaScript with Sass.
It follows a 2-week release schedule with one major release per month that may include breaking changes, plus intermediate patch releases with bug fixes.
