# Material Design Lite: what to do now that the hosted docs are gone

> Material Design Lite is a vanilla CSS, JS and HTML implementation of Material Design, frozen at v1.3.0 from December 2016. The library still works; the getmdl.io documentation site does not, so the practical question is how to self-host it and what you lose.

**google/material-design-lite** — GitHub describes it as Material Design Components in HTML/CSS/JS. The repository metadata lists HTML as its primary language. The metadata lists the Apache-2.0 license. This article stays within the project description and details documented in the GitHub repository README.

- Repository: https://github.com/google/material-design-lite
- Stars: 32,192 · Forks: 4,885
- Language: HTML
- License: Apache-2.0
- Published: 2026-08-13 · Updated: 2026-08-18 · Language: en
- Canonical page: https://hysenlabs.com/projects/google-material-design-lite

## What Material Design Lite was built to do

MDL targets static content websites. That constraint explains most of its design. It ships as vanilla CSS, JS and HTML with no dependency on a JavaScript framework or library, so a page can adopt Material styling by adding class names and a single script tag rather than by restructuring an application around a component runtime. The README describes it as optimized for cross-device use, degrading gracefully in older browsers, and accessible from the start.

The browser support table is the clearest statement of intent. IE9 is graded B, meaning it falls back to a CSS-only experience; IE10, IE11, Chrome, Opera, Firefox, Safari, Chrome on Android and Mobile Safari are all A-grade, fully supported. A team maintaining a marketing site or a documentation portal that must render on old corporate browsers is the intended audience. A team building a single-page application with routing and client-side state is not.

## How the CSS, JS and HTML split actually works

The distribution is a compiled pair. The package.json main field points at dist/material.min.js, and the stylesheet that accompanies it is the compiled Material Design Lite CSS. Components are declared in markup through MDL class names, and the JavaScript layer upgrades those elements at runtime: a list or container marked up with the MDL component classes becomes an interactive component once the script runs. Strip the script and the markup remains readable, which is what the B-grade CSS-only fallback means in practice.

The source tree reflects a build pipeline rather than a hand-authored library. The repository root holds src/, templates/, docs/, test/ and utils/, alongside gulpfile.babel.js and a package.json whose devDependencies include gulp, gulp-sass, gulp-concat, gulp-uglify, gulp-closure-compiler, browser-sync and mocha with phantomjs. Components are authored in source form and compiled into the dist files. That matters if you intend to modify a component: you are changing source and rebuilding, not editing the shipped artifact. The npm package is marked private in package.json, which is a build-manifest detail rather than a statement about the published npm package named material-design-lite.

## Installing Material Design Lite and rendering a first component

The README is explicit that this document is aimed at people who will contribute to or compile MDL, and that anyone who simply wants to use it on a site should self-host the v1.3.0 release. The previously recommended getmdl.io-hosted assets are gone. Three routes remain: the prebuilt CSS and JS attached to the v1.3.0 release on GitHub, the CDNJS mirror, or the npm package material-design-lite.

To get the sources, clone the repository. Note that the default branch is mdl-1.x, not master, and the README warns that master is considered unstable and should not be used in production.

```bash
git clone https://github.com/google/material-design-lite.git
```

On Windows, the README warns about line endings breaking compilation and gives a git configuration to check the repository out with LF endings.

```bash
git config core.eol lf
git config core.autocrlf input
git rm --cached -r .
git reset --hard
```

For a first real use, serve the compiled stylesheet and script from your own origin and add the MDL classes to your markup. The exact class names for each component are not reproduced in the README, and the component gallery that used to demonstrate them is no longer available, so plan on reading the source under src/ or the templates in the repository to confirm the markup a component expects. The compiled assets are what you reference, and the README's own guidance is to serve the v1.3.0 prebuilt CSS and JS from your own origin rather than a hosted third party.

## Limited support is the real constraint, not the age of the code

The README states that MDL is in limited support, that development has moved to Material Components for the web, and that no further development is taking place by the core team. The team will review pull requests, fix critical bugs and push out new releases, but no breaking changes will be accepted. The last push to the repository was on 2016-12-21, the same date as the v1.3.0 release, so treat the code as a fixed artifact rather than something that will track browser changes.

The practical failure mode follows from that. A component that misbehaves in a current browser will not be corrected upstream, and the component gallery and documentation that once explained expected markup and options are gone. You can still read the source, but you cannot consult a hosted reference. Anyone who needs a component added, an accessibility fix, or behaviour aligned with the current Material Design specification is on the wrong project. The README's own answer to that need is Material Components for the web.

## Material Components for the web is the successor, with a different architecture

The README names Material Components for the web as MDL v2 and points developers there. The difference in approach is not cosmetic. MDL is a single compiled stylesheet and a single compiled script that upgrade class-annotated markup; Material Components for the web is organized as a set of components, which is what makes integration with other frameworks and libraries a topic the README explicitly asks testers to report on. That is the opposite of MDL's premise, where framework independence is the selling point and one script tag is the whole integration.

There is a caveat in the same paragraph. The README describes Material Components for the web as being in early Alpha stages at the time of writing, meaning everything is a moving target and anything can change at any moment, and says to use it with caution. So the migration is not a drop-in replacement for a stable library; it is a move to a component system that was, per that text, still settling.

## Licence and the cost of staying on a frozen release

MDL is licensed under Apache-2.0, and the README carries the copyright line for Google, 2015. Apache-2.0 permits commercial and closed-source use and includes a patent grant, which is why this kind of library gets embedded in products without much discussion. The licence file in the repository is the authoritative text; the README summary is not a substitute for reading it, and nothing here is legal advice.

The upgrade cost is the more interesting number. Since the last push was on 2016-12-21 and no breaking changes will be accepted, there is no upgrade path inside MDL itself. Your options are to stay on v1.3.0 indefinitely, or to migrate to Material Components for the web, which means replacing the single-stylesheet, single-script integration with per-component imports and re-verifying every component you use. Budget for that as a rewrite of the presentation layer, not a version bump. The compensating factor is that a library with no runtime dependencies and no build step on the consuming side is cheap to keep running: the assets do not change, and there is nothing to patch.

## Conclusion

Material Design Lite fits static content sites and small server-rendered apps that want Material styling without a JavaScript framework, and it is a poor fit for anything that needs current Material Design or ongoing component fixes. Do not build on the master branch; the README calls it unstable and points to a tagged release, npm or bower instead. Before committing, verify that the v1.3.0 prebuilt CSS and JS from the GitHub release or the CDNJS mirror load from your own origin, and check that the components you need still behave in your target browsers, since the component gallery that once documented them is no longer available.

## FAQ

### What is Material Design Lite?

It is an implementation of Material Design components in vanilla CSS, JS and HTML, intended to add a Material look and feel to static content websites without relying on any JavaScript framework or library.

### Is Material Design Lite still used?

The README states that MDL is in limited support and that no further development is taking place by the core team, though the project still accepts pull requests, critical bug fixes and new releases without breaking changes. The last push to the repository was on 2016-12-21.

### Who owns Material Design Lite?

The README carries a Google copyright notice dated 2015 and the project lives in the google/material-design-lite repository, licensed under Apache-2.0.

## Sources

- [Official README](https://github.com/google/material-design-lite#readme)
- [Project repository](https://github.com/google/material-design-lite)
- [Release notes](https://github.com/google/material-design-lite/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/google-material-design-lite
