Convert Figma logo to code with AI

creativetimofficial logomaterial-dashboard

Material Dashboard - Open Source Bootstrap 5 Material Design Admin

10,993
4,211
10,993
11

Top Related Projects

Material UI: Comprehensive React component library that implements Google's Material Design. Free forever.

39,623

🐉 Vue Component Framework

An enterprise-class UI design language and React UI library

A utility-first CSS framework for rapid UI development.

37,442

⚡️ Simple, Modular & Accessible UI Components for your React Applications

20,620

A React-based UI toolkit for the web

Quick Overview

Material Dashboard is a free Bootstrap 4 admin dashboard template created by Creative Tim. It offers a clean, modern design with a variety of components and plugins, making it suitable for building responsive admin panels, project management systems, or any web application that requires a sleek dashboard interface.

Pros

  • Beautiful and modern design based on Material Design principles
  • Responsive layout that works well on various screen sizes
  • Includes a variety of pre-built components and pages
  • Regular updates and good documentation

Cons

  • Limited customization options without modifying the source code
  • Some users report issues with responsiveness on certain devices
  • Steeper learning curve for developers not familiar with Bootstrap 4
  • Free version has limited features compared to the PRO version

Code Examples

  1. Creating a simple card component:
<div class="card">
  <div class="card-header card-header-primary">
    <h4 class="card-title">Card Title</h4>
    <p class="card-category">Card Subtitle</p>
  </div>
  <div class="card-body">
    <p>This is the card content.</p>
  </div>
</div>
  1. Adding a notification:
md.showNotification('top', 'right', 'This is a notification message');
  1. Creating a custom chart using Chart.js:
var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx, {
    type: 'bar',
    data: {
        labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],
        datasets: [{
            label: '# of Votes',
            data: [12, 19, 3, 5, 2, 3],
            backgroundColor: 'rgba(255, 99, 132, 0.2)',
            borderColor: 'rgba(255, 99, 132, 1)',
            borderWidth: 1
        }]
    },
    options: {
        scales: {
            y: {
                beginAtZero: true
            }
        }
    }
});

Getting Started

  1. Download the latest release from the GitHub repository.
  2. Extract the files and place them in your project directory.
  3. Include the necessary CSS and JS files in your HTML:
<!-- CSS Files -->
<link rel="stylesheet" href="assets/css/material-dashboard.min.css">

<!-- JS Files -->
<script src="assets/js/core/jquery.min.js"></script>
<script src="assets/js/core/popper.min.js"></script>
<script src="assets/js/core/bootstrap-material-design.min.js"></script>
<script src="assets/js/plugins/perfect-scrollbar.jquery.min.js"></script>
<script src="assets/js/material-dashboard.min.js"></script>
  1. Start using the components and layouts provided in the documentation.

Competitor Comparisons

Material UI: Comprehensive React component library that implements Google's Material Design. Free forever.

Pros of Material-UI

  • More comprehensive component library with a wider range of UI elements
  • Stronger community support and more frequent updates
  • Better TypeScript integration and type definitions

Cons of Material-UI

  • Steeper learning curve due to its extensive API and customization options
  • Larger bundle size, which may impact initial load times for smaller projects

Code Comparison

Material-UI:

import { Button, TextField } from '@mui/material';

<Button variant="contained" color="primary">
  Submit
</Button>
<TextField label="Username" variant="outlined" />

Material Dashboard:

import { Button, Input } from "components";

<Button color="primary">Submit</Button>
<Input type="text" placeholder="Username" />

Material-UI offers more built-in variants and props for components, while Material Dashboard provides a simpler API with fewer options out-of-the-box. Material-UI's approach allows for more granular control but may require more configuration, whereas Material Dashboard aims for a more streamlined development experience with pre-styled components.

39,623

🐉 Vue Component Framework

Pros of Vuetify

  • More comprehensive UI component library with a wider range of pre-built components
  • Better documentation and community support
  • Regular updates and active development

Cons of Vuetify

  • Steeper learning curve due to its extensive feature set
  • Larger bundle size, which may impact initial load times
  • More opinionated design system, potentially limiting customization flexibility

Code Comparison

Material Dashboard:

<div class="card">
  <div class="card-header card-header-primary">
    <h4 class="card-title">Dashboard</h4>
  </div>
  <div class="card-body">
    <!-- Content here -->
  </div>
</div>

Vuetify:

<v-card>
  <v-card-title class="primary white--text">
    <h3>Dashboard</h3>
  </v-card-title>
  <v-card-text>
    <!-- Content here -->
  </v-card-text>
</v-card>

Both repositories offer Material Design-based UI components for web applications. Material Dashboard provides a ready-to-use admin dashboard template, while Vuetify is a more extensive Vue.js UI library. Vuetify offers greater flexibility and a wider range of components, but may require more setup and configuration. Material Dashboard is more focused on providing a complete dashboard solution out of the box, potentially sacrificing some customization options.

An enterprise-class UI design language and React UI library

Pros of Ant Design

  • More comprehensive UI component library with a wider range of components
  • Stronger community support and more frequent updates
  • Better internationalization and accessibility features

Cons of Ant Design

  • Steeper learning curve due to its extensive API and customization options
  • Larger bundle size, which may impact initial load times for smaller projects

Code Comparison

Ant Design button example:

import { Button } from 'antd';

const MyComponent = () => (
  <Button type="primary">Primary Button</Button>
);

Material Dashboard button example:

import Button from '@material-ui/core/Button';

const MyComponent = () => (
  <Button color="primary">Primary Button</Button>
);

Both libraries offer similar component APIs, but Ant Design generally provides more customization options and props for each component.

Summary

Ant Design is a more comprehensive and feature-rich UI library compared to Material Dashboard. It offers a wider range of components, better community support, and more advanced features like internationalization. However, this comes at the cost of a steeper learning curve and potentially larger bundle sizes. Material Dashboard, on the other hand, provides a simpler, more streamlined approach that may be easier for beginners or smaller projects to adopt. The choice between the two depends on the specific needs of your project and your team's familiarity with each library.

A utility-first CSS framework for rapid UI development.

Pros of Tailwind CSS

  • Highly customizable and flexible, allowing for rapid UI development
  • Utility-first approach promotes consistency and reduces CSS bloat
  • Large and active community with extensive documentation and resources

Cons of Tailwind CSS

  • Steeper learning curve for developers used to traditional CSS frameworks
  • Can lead to longer class names and potentially cluttered HTML
  • Requires additional setup and configuration compared to pre-built dashboards

Code Comparison

Material Dashboard:

<div class="card">
  <div class="card-header p-3 pt-2">
    <div class="icon icon-lg icon-shape bg-gradient-dark shadow-dark text-center border-radius-xl mt-n4 position-absolute">
      <i class="material-icons opacity-10">weekend</i>
    </div>
    <div class="text-end pt-1">
      <p class="text-sm mb-0 text-capitalize">Bookings</p>
      <h4 class="mb-0">281</h4>
    </div>
  </div>
</div>

Tailwind CSS:

<div class="bg-white rounded-lg shadow-md p-6">
  <div class="flex items-center justify-between">
    <div class="bg-gray-800 text-white p-3 rounded-full">
      <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path></svg>
    </div>
    <div class="text-right">
      <p class="text-sm text-gray-600">Bookings</p>
      <h4 class="text-2xl font-bold">281</h4>
    </div>
  </div>
</div>
37,442

⚡️ Simple, Modular & Accessible UI Components for your React Applications

Pros of Chakra UI

  • More flexible and customizable component system
  • Better accessibility features out-of-the-box
  • Larger and more active community support

Cons of Chakra UI

  • Steeper learning curve for beginners
  • Less opinionated design, requiring more effort to achieve a cohesive look

Code Comparison

Material Dashboard:

<Card>
  <CardHeader color="primary">
    <h4 className={classes.cardTitleWhite}>Employee Stats</h4>
  </CardHeader>
  <CardBody>
    <Table tableHeaderColor="warning" tableHead={["ID", "Name", "Salary"]} tableData={[...]} />
  </CardBody>
</Card>

Chakra UI:

<Box borderWidth="1px" borderRadius="lg" overflow="hidden">
  <Box p="6">
    <Heading size="xl" mb="4">Employee Stats</Heading>
    <Table variant="simple">
      <Thead>
        <Tr>{["ID", "Name", "Salary"].map(header => <Th key={header}>{header}</Th>)}</Tr>
      </Thead>
      <Tbody>{...}</Tbody>
    </Table>
  </Box>
</Box>

Both repositories offer component-based UI libraries for React applications. Material Dashboard provides a more opinionated design system based on Material Design principles, while Chakra UI offers greater flexibility and customization options. The code comparison shows that Chakra UI requires more explicit styling but allows for easier customization, whereas Material Dashboard provides pre-styled components that adhere to Material Design guidelines.

20,620

A React-based UI toolkit for the web

Pros of Blueprint

  • Extensive component library with a wide range of UI elements
  • Strong TypeScript support and type definitions
  • Comprehensive documentation and examples

Cons of Blueprint

  • Steeper learning curve due to its complexity
  • Less visually appealing out-of-the-box compared to Material Dashboard
  • Requires more customization to achieve a modern, polished look

Code Comparison

Blueprint example:

import { Button, Intent } from "@blueprintjs/core";

<Button intent={Intent.PRIMARY} text="Submit" />

Material Dashboard example:

import { Button } from "@material-ui/core";

<Button color="primary" variant="contained">
  Submit
</Button>

Summary

Blueprint offers a more extensive component library and better TypeScript support, making it suitable for large-scale applications. However, it requires more effort to customize and style. Material Dashboard provides a more visually appealing design out-of-the-box and is easier to get started with, but may have limitations for complex applications. The choice between the two depends on project requirements, team expertise, and desired aesthetics.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Material Dashboard 2 Tweet Discord

version GitHub issues open GitHub issues closed

Image

Material Dashboard is a free Material Bootstrap Admin with a fresh, new design inspired by Google's Material Design. We are very excited to introduce our take on the material concepts through an easy to use and beautiful set of components. Material Dashboard was built over the popular Bootstrap framework and it comes with a couple of third-party plugins redesigned to fit in with the rest of the elements.

Material Dashboard makes use of light, surface and movement. The general layout resembles sheets of paper following multiple different layers, so that the depth and order is obvious. The navigation stays mainly on the left sidebar and the content is on the right inside the main panel.

This product came as a result of users asking for a material dashboard after we released our successful Material Kit. We developed it based on your feedback and it is a powerful bootstrap admin dashboard, which allows you to build products like admin panels, content managements systems and CRMs.

Material Dashboard comes with 5 color filter choices for both the sidebar and the card headers (blue, green, orange, red and purple) and an option to have a background image on the sidebar.

Special thanks go to:

  • Robert McIntosh for the notification system.
  • Chartist for the wonderful charts. We are very excited to share this dashboard with you and we look forward to hearing your feedback!
  • Nepcha Analytics for the analytics tool. Nepcha is already integrated with Material Dashboard. You can use it to gain insights into your sources of traffic.

Table of Contents

Versions

Bootstrap 5Bootstrap 4Bootstrap 3Dark HTML
Material Dashboard  HTMLMaterial Dashboard  Bootstrap 4Material Dashboard  Bootstrap 3Material Dashboard Dark Edition
ReactTailwindVueAngular
Material Dashboard  ReactMaterial Tailwind Dashboard ReactVue Material DashboardMaterial Dashboard  Angular
VuetifyReact NativeNextjsNodejs
Material Dashboard  VuetifyReact NativeNextjs Material DashboardMaterial Dashboard React Nodejs
LaravelAsp.NETDjangoFlask
Material Dashboard LaravelAsp.NETMaterial Dashboard DjangoMaterial Dashboard Flask

Demo

View More.

Quick start

Deploy

:rocket: You can deploy your own version of the template to Genezio with one click:

Deploy to Genezio

Documentation

The documentation for the Material Dashboard is hosted at our website.

File Structure

Within the download you'll find the following directories and files:

material-dashboard
    ├── assets
    │   ├── css
    │   ├── fonts
    │   ├── img
    │   ├── js
    │   │   ├── core
    │   │   ├── plugins
    │   │   └── material-dashboard.js
    │   │   └── material-dashboard.js.map
    │   │   └── material-dashboard.min.js
    │   └── scss
    │       ├── material-dashboard
    │       └── material-dashboard.scss
    ├── docs
    │   ├── documentation.html
    ├── pages
    ├── CHANGELOG.md
    ├── gulpfile.js
    ├── package.json

Browser Support

At present, we officially aim to support the last two versions of the following browsers:

Resources

Reporting Issues

We use GitHub Issues as the official bug tracker for the Material Dashboard. Here are some advices for our users that want to report an issue:

  1. Make sure that you are using the latest version of the Material Dashboard. Check the CHANGELOG from your dashboard on our website.
  2. Providing us reproducible steps for the issue will shorten the time it takes for it to be fixed.
  3. Some issues may be browser specific, so specifying in what browser you encountered the issue might help.

Upgrade to Premium version

Are you looking for more components? Please check our Premium Version of Material Dashboard here

Technical Support or Questions

If you have questions or need help integrating the product please contact us instead of opening an issue.

Licensing

Useful Links

Social Media

Twitter: https://twitter.com/CreativeTim

Facebook: https://www.facebook.com/CreativeTim

Dribbble: https://dribbble.com/creativetim

TikTok: https://tiktok.com/@creative.tim

Instagram: https://instagram.com/creativetimofficial

NPM DownloadsLast 30 Days