/material-ui

MUI Core (formerly Material-UI) is the React UI library you always wanted. Follow your own design system, or start with Material Design.

Primary LanguageJavaScriptMIT LicenseMIT

MUI logo

MUI Core

MUI Core contains foundational React UI component libraries for shipping new features faster.

  • Material UI is a comprehensive library of components that features our implementation of Google's Material Design system.

  • MUI Base is our library of "unstyled" components and low-level hooks. With Base, you gain complete control over your app's CSS and accessibility features.

  • MUI System is a collection of CSS utilities to help you rapidly lay out custom designs.

Stable channel v5

license npm latest package npm next package npm downloads CircleCI Coverage Status Follow on Twitter Renovate status Average time to resolve an issue Crowdin Open Collective backers and sponsors

Installation

Material UI

Material UI is available as an npm package.

// with npm
npm install @mui/material @emotion/react @emotion/styled

// with yarn
yarn add @mui/material @emotion/react @emotion/styled
Older versions

Note: @next only points to pre-releases. Use @latest for the latest stable release.

MUI Base

MUI Base is available as an npm package.

// with npm
npm install @mui/base

// with yarn
yarn add @mui/base

Note: MUI Base is still in alpha. We are adding new components regularly and you're welcome to contribute!

MUI System

MUI System is available as an npm package.

// with npm
npm install @mui/system @emotion/react @emotion/styled

// with yarn
yarn add @mui/system @emotion/react @emotion/styled

Or if you want to use styled-components as a styling engine:

// with npm
npm install @mui/system @mui/styled-engine-sc styled-components

// with yarn
yarn add @mui/system @mui/styled-engine-sc styled-components

Visit our styled-engine guide for more information about how to configure styled-components as the style engine.

Sponsors

Diamond 💎

octopus doit-intl zesty.io

Diamond Sponsors are those who have pledged $1,500/month or more to MUI.

Gold 🏆

via OpenCollective or via Patreon

tidelift.com bit.dev text-em-all.com laststance.io online-aussie-casino.com sumatosoft.com megafamous.com

Gold Sponsors are those who have pledged $500/month or more to MUI.

More backers

See the full list of our backers.

Getting started with Material UI

Here is an example of a basic app using Material UI's Button component:

import * as React from 'react';
import ReactDOM from 'react-dom';
import Button from '@mui/material/Button';

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

In the interactive demo below, try changing the code and see how it affects the output. (Hint: change variant to "outlined" and color to "secondary". For more options, see the Button component page in our docs.)

Edit Button

Questions

For how-to questions that don't involve making changes to the code base, please use Stack Overflow instead of GitHub issues. Use the "mui" tag on Stack Overflow to make it easier for the community to find your question.

Examples

Our documentation features a collection of example projects using Material UI.

Documentation

Premium themes

You can find complete templates and themes in the MUI Store.

Contributing

Read the contributing guide to learn about our development process, how to propose bug fixes and improvements, and how to build and test your changes.

Contributing to MUI Core is about more than just issues and pull requests! There are many other ways to support MUI beyond contributing to the code base.

Changelog

The changelog is regularly updated to reflect what's changed in each new release.

Roadmap

Future plans and high-priority features and enhancements can be found in our roadmap.

License

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

Sponsoring services

These great services sponsor MUI's core infrastructure:

GitHub

GitHub lets us host the Git repository and coordinate contributions.

Netlify

Netlify lets us distribute the documentation.

Crowdin

Crowdin lets us translate the documentation.

BrowserStack

BrowserStack lets us test in real browsers.

CodeCov

CodeCov lets us monitor test coverage.