Material UI
React
web development
UI components
front-end development
JavaScript
design systems

How to Use Material UI for Your React Projects

Deepak Tewatia
August 30, 2025
3 min read

Introduction

Material UI is a popular library that helps you build attractive React applications. It comes with ready-to-use components, meaning you can create beautiful designs without having to write everything from scratch. In this guide, we will cover how to install Material UI, use its features, and customize your designs to fit your specific needs. Let’s get started!

Installing Material UI

Installing Material UI is straightforward. You need a React application set up first. If you haven't done that yet, you can easily set one up using Create React App. Here’s how you can do it:

npx create-react-app my-app
cd my-app

Once your React app is ready, you can install Material UI. Open your terminal and run the following command:

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

This command installs the core Material UI library along with some styling dependencies. Now you're all set to use Material UI in your project!

Using Material UI Components

Material UI offers a wide range of components that you can use to build your user interface. These components include buttons, forms, cards, and more. Here’s how you can use a simple Button component in your application:

import React from 'react';
import Button from '@mui/material/Button';

function App() {
  return (
    <div>
      <Button variant="contained" color="primary">
        Click Me
      </Button>
    </div>
  );
}

export default App;

In this example, we import the Button component from Material UI and use it in our App function. The variant and color props determine the style of the button. Try changing the variant to text or outlined to see how it looks.

Customizing Your Components

Customization is where Material UI shines. You can easily change the look of the components to fit your brand or style. One way to customize a component is by using the sx prop. This prop allows you to apply custom styles directly. Here's an example:

import React from 'react';
import Button from '@mui/material/Button';

function App() {
  return (
    <div>
      <Button 
        variant="contained" 
        sx={{ backgroundColor: 'purple', color: 'white', '&:hover': { backgroundColor: 'darkviolet' } }}
      >
        Custom Button
      </Button>
    </div>
  );
}

export default App;

In this example, we use the sx prop to set a custom background color and change the hover effect. This makes it easy to create a button that fits your theme.

Creating a Layout

Material UI also provides a Grid system that helps you create responsive layouts. Here’s a simple example of how to create a layout using the Grid component:

import React from 'react';
import { Grid } from '@mui/material';

function App() {
  return (
    <Grid container spacing={2}>
      <Grid item xs={12} sm={6}>
        <div style={{ backgroundColor: 'lightblue', padding: '20px' }}>Left Side</div>
      </Grid>
      <Grid item xs={12} sm={6}>
        <div style={{ backgroundColor: 'lightgreen', padding: '20px' }}>Right Side</div>
      </Grid>
    </Grid>
  );
}

export default App;

The Grid component is a powerful tool for building layouts. In this case, we have two sections that will stack on small screens and sit side by side on larger screens. The spacing prop controls the space between the grid items.

Conclusion

Material UI is a fantastic way to speed up your development process. With ready-to-use components, customization options, and a responsive grid system, you can create beautiful and functional web applications with ease. Whether you're building a simple interface or a complex application, Material UI gives you the tools you need.

Now that you have the basics, go ahead and explore more of what Material UI has to offer. Check out the official documentation for more details on components and customization options. Happy coding!