Skip to content
React components for faster and easier web development. Build your own design system, or start with Material Design.
JavaScript TypeScript
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci [ci] Ignore dependabot branches (#16893) Aug 5, 2019
.github [docs] Add a support page (#17437) Sep 19, 2019
docs [docs] Move and files from root (#17531) Sep 23, 2019
examples [examples] Add a Gatsby Theme example (#17411) Sep 14, 2019
modules [core] Replace warning with manual console.error (#17404) Sep 13, 2019
packages [MenuItem] Update size on desktop to match spec (#17332) Sep 23, 2019
scripts [core] Replace warning with manual console.error (#17404) Sep 13, 2019
test [Menu] Fix menu being focused instead of item when opening (#17506) Sep 23, 2019
.browserslistrc [core] Drop node 6 support (#14379) Feb 2, 2019
.codecov.yml [test] Increase the Codecov threshold (#14796) Mar 9, 2019
.editorconfig [docs] Change http to https part 2 (#16171) Jun 12, 2019
.eslintignore [icons] Update script to use latest json file (#17257) Sep 5, 2019
.eslintrc.js [core] Replace warning with manual console.error (#17404) Sep 13, 2019
.gitattributes Add gitattributes Dec 12, 2014
.gitignore [icons] Update script to use latest json file (#17257) Sep 5, 2019
.tidelift.yml [test] Tidelift - skip checking nomnom & os-locale (#13157) Oct 8, 2018
.yarnrc [ci] Use custom frozen lockfile check (#16677) Jul 22, 2019 [docs] Fix CHANGELOG format Sep 22, 2019 [docs] Use full text of the code of conduct (#16417) Jun 29, 2019 [docs] Move and files from root (#17531) Sep 23, 2019
LICENSE Initial commit Aug 18, 2014 [docs] Move and files from root (#17531) Sep 23, 2019 [docs] Add (#15804) May 25, 2019
azure-pipelines.yml [ci] Ignore dependabot branches (#16893) Aug 5, 2019
babel.config.js [benchmark] Fix not running (#16900) Aug 6, 2019
crowdin.yml [docs] Move and files from root (#17531) Sep 23, 2019
dangerfile.js [core] Replace warning with manual console.error (#17404) Sep 13, 2019
docker-compose.yml [core] Prune dead dependencies (#10963) Apr 8, 2018
lerna.json [core] Speed-up typechecking (#16413) Jun 29, 2019
package.json v4.4.3 Sep 22, 2019
prettier.config.js [core] Remove parser specification to fix JSON issue (#11763) Jun 7, 2018
tsconfig.json [docs] Revert upgrade to next 9 (#16755) Jul 26, 2019
tslint.json [core] Generate PropTypes from type definitions (#16642) Aug 5, 2019
yarn.lock [styles] Bump jss dependencies to 10.0.0 (#17536) Sep 23, 2019

Material-UI logo


React components that implement Google's Material Design.

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


Material-UI is available as an npm package.

Stable channel v4

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

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

v3.x (Migration from v3 to v4)

v0.x (Migration to v1)

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 tidelift bitsrc blokt

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.

Premium Themes

You can find complete templates & themes in our premium themes section.


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 roadmap file.


Material-UI is an open source project that depends on contributions from the community. How we govern ourselves, how decisions are made, and how someone could engage with the project is described in the governance.


Material-UI is only made possible thanks to these great services that sponsor our core infrastructure:

GitHub allows us to host the Git repository.

CircleCI allows us to run the test suite.

Netlify allows us to distribute the documentation.

CrowdIn allows us to translate the documentation.

BrowserStack allows us to test in real browsers.

CodeCov allows us to monitor the test coverage.


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


To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.

You can’t perform that action at this time.