React components that implement Google's Material Design.
Clone or download
Failed to load latest commit information.
.circleci [test] Add jsonlint to CI (#13126) Oct 6, 2018
.github [github] Make issue templates version agnostic (#12839) Sep 11, 2018
docs [docs] Fix minor SEO issues Oct 14, 2018
examples [Typography] Improve the upgrade story (#13214) Oct 13, 2018
modules/waterfall [icons] New iteration (#12170) Jul 18, 2018
packages [docs] Benchmark ressources Oct 15, 2018
pages [Snackbar] Remove non supported property `anchorOrigin.vertical=enter` ( Oct 14, 2018
static [docs] Add Onepixel to the showcase (#13227) Oct 13, 2018
test [core] Benchmark Material-UI (#13233) Oct 13, 2018
.browserslistrc [core] Use .browserlistrc as single point of thruth for target env (#… Sep 18, 2018
.codecov.yml [core] Move to the packages structure (#11033) Apr 16, 2018
.editorconfig [.editorconfig] Add max_line_length (#9580) Dec 20, 2017
.eslintignore [icons] New iteration (#12170) Jul 18, 2018
.eslintrc.js [core] Upgrade to babel@rc.1 (#12581) Aug 19, 2018
.gitattributes Add gitattributes Dec 12, 2014
.gitignore [icons] New iteration (#12170) Jul 18, 2018
.size-limit.js [core] Introduce JSS caching (#13236) Oct 14, 2018
.tidelift.yml [test] Tidelift - skip checking nomnom & os-locale (#13157) Oct 8, 2018
.yarnrc [core] Upgrade Babel 6 to Babel 7 (#10964) May 8, 2018 [docs] Keep working on the SEO issues (#13158) Oct 8, 2018 [CHANGELOG] Prepare v3.2.1 Oct 14, 2018 Create Aug 9, 2017 [CONTRIBUTING] Encouragea an up to date version of yarn Sep 22, 2018 [docs] Keep working on the SEO issues (#13158) Oct 8, 2018
LICENSE Initial commit Aug 18, 2014 [docs] Keep working on the SEO issues (#13158) Oct 8, 2018 [docs] More transparency around the release strategy (#12752) Sep 3, 2018 Update (#9702) Jan 2, 2018
babel.config.js [docs] Use the InputBase component for the AppBar demo (#13102) Oct 4, 2018
crowdin.yml Update Crowdin configuration file Oct 15, 2018
docker-compose.yml [core] Prune dead dependencies (#10963) Apr 8, 2018
next.config.js [core] Upgrade Babel 6 to Babel 7 (#10964) May 8, 2018
package.json v3.2.1 Oct 14, 2018
prettier.config.js [core] Remove parser specification to fix JSON issue (#11763) Jun 7, 2018
tsconfig.json [test] Add jsonlint to CI (#13126) Oct 6, 2018
tslint.json [test] Add jsonlint to CI (#13126) Oct 6, 2018
yarn.lock [core] Introduce JSS caching (#13236) Oct 14, 2018

Material-UI logo


React components that implement Google's Material Design.

npm package npm downloads CircleCI Gitter Coverage Status CII Best Practices Code style Follow on Twitter PeerDependencies Dependencies DevDependencies Average time to resolve an issue Crowdin


Material-UI is available as an npm package.

Stable channel v1

// with npm
npm install @material-ui/core

// with yarn
yarn add @material-ui/core

v0.x (Migration to v1)

// with npm
npm install material-ui

// with yarn
yarn add material-ui

Please note that @next will only point to pre-releases; to get the latest stable release use @latest instead.

Supporting Material-UI

Material-UI is an MIT-licensed open source project. It's an independent project with ongoing development made possible thanks to the support of these awesome backers. If you'd like to join them, please consider:

What's the difference between Patreon and OpenCollective?

Funds donated via Patreon directly support Olivier Tassinari's work on Material-UI. Funds donated via OpenCollective are managed transparently and will be used for compensating work and expenses for core team members. Your name/logo will receive proper recognition and exposure by donating on either platform.

Gold Sponsors

Gold Sponsors are those who have pledged $500/month and more to Material-UI.

via Patreon

creative-tim bitsrc

via OpenCollective


There is more!

See the full list of our backers.


Here is a quick example to get you started, it's all you need:

import React from 'react';
import ReactDOM from 'react-dom';
import Button from '@material-ui/core/Button';

function App() {
  return (
    <Button variant="contained" color="primary">
      Hello World

ReactDOM.render(<App />, document.querySelector('#app'));

Yes, it's really all you need to get started as you can see in this live and interactive demo:

Edit Button


For how-to questions and other non-issues, please use StackOverflow instead of Github issues. There is a StackOverflow tag called "material-ui" that you can use to tag your questions.


Are you looking for an example project to get started? We host some.


Check out our documentation website.


We'd greatly appreciate any contribution you make. :)


Recently Updated? Please read the changelog.


The future plans and high priority features and enhancements can be found in the file.


Thank you to BrowserStack for providing the infrastructure that allows us to test in real browsers.


This project is licensed under the terms of the MIT license.