React components that implement Google's Material Design.
Clone or download
SerhiiBilyk and oliviertassinari [SwipeableDrawer] Add `SwipeAreaProps` property (#13592)
* Initial ...

* SwipeAreaProps improvements

* let's merge
Latest commit 33b8245 Nov 15, 2018
Failed to load latest commit information.
.circleci @material-ui/styles (#13503) Nov 12, 2018
.github [docs] CONTRIBUTING is not read by default (#13400) Oct 26, 2018
docs [Fab] Extract from Button as new component (#13573) Nov 14, 2018
examples [examples] Update create-react-app examples (#13453) Oct 30, 2018
modules/waterfall [icons] New iteration (#12170) Jul 18, 2018
packages [SwipeableDrawer] Add `SwipeAreaProps` property (#13592) Nov 15, 2018
pages [SwipeableDrawer] Add `SwipeAreaProps` property (#13592) Nov 15, 2018
static [core] Misc of improvements (#13381) Oct 25, 2018
test @material-ui/styles (#13503) Nov 12, 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 @material-ui/styles (#13503) Nov 12, 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 [Fab] Extract from Button as new component (#13573) Nov 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 @material-ui/styles (#13503) Nov 12, 2018 [CHANGELOG] Update for v3.5.1 Nov 12, 2018 Create Aug 9, 2017 [docs] Update (#13478) Nov 1, 2018 [docs] Fix some issue with i18n (#13342) Oct 25, 2018
LICENSE Initial commit Aug 18, 2014 [docs] Misc of fixes (#13555) Nov 8, 2018 [docs] More transparency around the release strategy (#12752) Sep 3, 2018 Update (#9702) Jan 2, 2018
babel.config.js @material-ui/styles (#13503) Nov 12, 2018
crowdin.yml @material-ui/styles (#13503) Nov 12, 2018
docker-compose.yml [core] Prune dead dependencies (#10963) Apr 8, 2018
lerna.json @material-ui/styles (#13503) Nov 12, 2018
next.config.js [core] Upgrade Babel 6 to Babel 7 (#10964) May 8, 2018
package.json [CHANGELOG] Update for v3.5.1 Nov 12, 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 @material-ui/styles (#13503) Nov 12, 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.