Skip to content

Badge API

API reference docs for the React Badge component. Learn about the props, CSS, and other APIs of this exported module.

Demos

For examples and details on the usage of this React component, visit the component demo pages:

Import

import Badge from '@mui/material/Badge';
// or
import { Badge } from '@mui/material';
Learn about the difference by reading this guide on minimizing bundle size.

Props

Props of the native component are also available.

anchorOrigin

The anchor of the badge.

Type:

{ horizontal: 'left' | 'right', vertical: 'bottom' | 'top' }

Default:

{ vertical: 'top', horizontal: 'right', }
badgeContent

The content rendered within the badge.

Type:

node
children

The badge will be added relative to this node.

Type:

node
classes

Override or extend the styles applied to the component.

Type:

object
color

The color of the component. It supports both default and custom theme colors, which can be added as shown in the palette customization guide.

Type:

'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' | string

Default:

'default'
component

The component used for the root node. Either a string to use a HTML element or a component.

Type:

elementType
components

The components used for each slot inside.
This prop is an alias for the slots prop. It's recommended to use the slots prop instead.

Type:

{ Badge?: elementType, Root?: elementType }

Default:

{}
componentsProps

The extra props for the slot components. You can override the existing props or add new ones.
This prop is an alias for the slotProps prop. It's recommended to use the slotProps prop instead, as componentsProps will be deprecated in the future.

Type:

{ badge?: func | object, root?: func | object }

Default:

{}
invisible

If true, the badge is invisible.

Type:

bool

Default:

false
max

Max count to show.

Type:

number

Default:

99
overlap

Wrapped shape the badge should overlap.

Type:

'circular' | 'rectangular'

Default:

'rectangular'
showZero

Controls whether the badge is hidden when badgeContent is zero.

Type:

bool

Default:

false
slotProps

The props used for each slot inside the Badge.

Type:

{ badge?: func | object, root?: func | object }

Default:

{}
slots

The components used for each slot inside the Badge. Either a string to use a HTML element or a component.

Type:

{ badge?: elementType, root?: elementType }

Default:

{}
sx

The system prop that allows defining system overrides as well as additional CSS styles.

Type:

Array<func | object | bool> | func | object
variant

The variant to use.

Type:

'dot' | 'standard' | string

Default:

'standard'

The ref is forwarded to the root element.

Theme default props

You can use MuiBadge to change the default props of this component with the theme.

CSS

The following class names are useful for styling with CSS (the state classes are marked).
To learn more, visit the component customization page.

.MuiBadge-rootroot

Styles applied to the root element.

.MuiBadge-badgebadge

Styles applied to the badge span element.

.MuiBadge-dotdot

Styles applied to the badge span element if variant="dot".

.MuiBadge-standardstandard

Styles applied to the badge span element if variant="standard".

.MuiBadge-anchorOriginTopRightanchorOriginTopRight

Styles applied to the badge span element if anchorOrigin={{ 'top', 'right' }}.

.MuiBadge-anchorOriginBottomRightanchorOriginBottomRight

Styles applied to the badge span element if anchorOrigin={{ 'bottom', 'right' }}.

.MuiBadge-anchorOriginTopLeftanchorOriginTopLeft

Styles applied to the badge span element if anchorOrigin={{ 'top', 'left' }}.

.MuiBadge-anchorOriginBottomLeftanchorOriginBottomLeft

Styles applied to the badge span element if anchorOrigin={{ 'bottom', 'left' }}.

.MuiBadge-invisibleinvisible

State class applied to the badge span element if invisible={true}.

.MuiBadge-colorPrimarycolorPrimary

Styles applied to the badge span element if color="primary".

.MuiBadge-colorSecondarycolorSecondary

Styles applied to the badge span element if color="secondary".

.MuiBadge-colorErrorcolorError

Styles applied to the badge span element if color="error".

.MuiBadge-colorInfocolorInfo

Styles applied to the badge span element if color="info".

.MuiBadge-colorSuccesscolorSuccess

Styles applied to the badge span element if color="success".

.MuiBadge-colorWarningcolorWarning

Styles applied to the badge span element if color="warning".

.MuiBadge-anchorOriginTopRightRectangularanchorOriginTopRightRectangular

Styles applied to the badge span element if anchorOrigin={{ 'top', 'right' }} overlap="rectangular".

.MuiBadge-anchorOriginBottomRightRectangularanchorOriginBottomRightRectangular

Styles applied to the badge span element if anchorOrigin={{ 'bottom', 'right' }} overlap="rectangular".

.MuiBadge-anchorOriginTopLeftRectangularanchorOriginTopLeftRectangular

Styles applied to the badge span element if anchorOrigin={{ 'top', 'left' }} overlap="rectangular".

.MuiBadge-anchorOriginBottomLeftRectangularanchorOriginBottomLeftRectangular

Styles applied to the badge span element if anchorOrigin={{ 'bottom', 'left' }} overlap="rectangular".

.MuiBadge-anchorOriginTopRightCircularanchorOriginTopRightCircular

Styles applied to the badge span element if anchorOrigin={{ 'top', 'right' }} overlap="circular".

.MuiBadge-anchorOriginBottomRightCircularanchorOriginBottomRightCircular

Styles applied to the badge span element if anchorOrigin={{ 'bottom', 'right' }} overlap="circular".

.MuiBadge-anchorOriginTopLeftCircularanchorOriginTopLeftCircular

Styles applied to the badge span element if anchorOrigin={{ 'top', 'left' }} overlap="circular".

.MuiBadge-anchorOriginBottomLeftCircularanchorOriginBottomLeftCircular

Styles applied to the badge span element if anchorOrigin={{ 'bottom', 'left' }} overlap="circular".

.MuiBadge-overlapRectangularoverlapRectangular

Styles applied to the badge span element if overlap="rectangular".

.MuiBadge-overlapCircularoverlapCircular

Styles applied to the badge span element if overlap="circular".

You can override the style of the component using one of these customization options: