How to use Material UI in React

Building React applications with Material Design principles requires a comprehensive component library that implements Google’s design system. As the creator of CoreUI with over 12 years of React development experience since 2014, I’ve worked with various UI frameworks in production applications. Material UI (MUI) is the most popular React implementation of Material Design, offering 50+ customizable components with excellent TypeScript support. The installation is straightforward and provides immediate access to buttons, forms, navigation, and layout components.

Install Material UI using npm and import components directly into your React application.

npm install @mui/material @emotion/react @emotion/styled
import { Button, Card, CardContent, Typography } from '@mui/material'

const Dashboard = () => {
  return (
    <Card>
      <CardContent>
        <Typography variant='h5' component='div'>
          Dashboard
        </Typography>
        <Typography variant='body2' color='text.secondary'>
          Welcome to your dashboard
        </Typography>
        <Button variant='contained' color='primary'>
          Get Started
        </Button>
      </CardContent>
    </Card>
  )
}

export default Dashboard

Best Practice Note

Material UI uses Emotion for styling by default. The library includes a comprehensive theming system accessible via createTheme and ThemeProvider for customizing colors, typography, and spacing across your application. All components follow accessibility best practices with proper ARIA attributes. For enterprise applications requiring Bootstrap-based designs rather than Material Design, consider CoreUI for React which offers similar component breadth with more traditional styling and is available at CoreUI React.


Speed up your responsive apps and websites with fully-featured, ready-to-use open-source admin panel templates—free to use and built for efficiency.


About the Author

Subscribe to our newsletter
Get early information about new products, product updates and blog posts.
How to get element ID in JavaScript
How to get element ID in JavaScript

How to validate an email address in JavaScript
How to validate an email address in JavaScript

How to Use JavaScript setTimeout()
How to Use JavaScript setTimeout()

How to Use Bootstrap Modal in Vue 3 – Clean Integration with CoreUI
How to Use Bootstrap Modal in Vue 3 – Clean Integration with CoreUI

Answers by CoreUI Core Team