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';
You can learn about the difference by reading this guide on minimizing bundle size.

Component name

The name MuiBadge can be used when providing default props or style overrides in the theme.

Props

Props of the BadgeUnstyled component are also available.

NameTypeDefaultDescription
anchorOrigin{ horizontal: 'left'
| 'right', vertical: 'bottom'
| 'top' }
{ vertical: 'top', horizontal: 'right', }
The anchor of the badge.
badgeContentnode
The content rendered within the badge.
childrennode
The badge will be added relative to this node.
classesobject
Override or extend the styles applied to the component. See CSS API below for more details.
color'default'
| 'primary'
| 'secondary'
| 'error'
| 'info'
| 'success'
| 'warning'
| string
'default'
The color of the component. It supports both default and custom theme colors, which can be added as shown in the palette customization guide.
componentelementType
The component used for the root node. Either a string to use a HTML element or a component.
components{ Badge?: elementType, Root?: elementType }{}
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.
componentsProps{ badge?: func
| object, root?: func
| object }
{}
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.
invisibleboolfalse
If true, the badge is invisible.
maxnumber99
Max count to show.
overlap'circular'
| 'rectangular'
'rectangular'
Wrapped shape the badge should overlap.
showZeroboolfalse
Controls whether the badge is hidden when badgeContent is zero.
slotProps{ badge?: func
| object, root?: func
| object }
{}
The props used for each slot inside the Badge.
slots{ badge?: elementType, root?: elementType }{}
The components used for each slot inside the Badge. Either a string to use a HTML element or a component.
sxArray<func
| object
| bool>
| func
| object
The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.
variant'dot'
| 'standard'
| string
'standard'
The variant to use.

The ref is forwarded to the root element.

Inheritance

While not explicitly documented above, the props of the BadgeUnstyled component are also available on Badge. You can take advantage of this to target nested components.

CSS

Rule nameGlobal classDescription
root.MuiBadge-rootClass name applied to the root element.
badge.MuiBadge-badgeClass name applied to the badge `span` element.
dot.MuiBadge-dotClass name applied to the badge `span` element if variant="dot".
standard.MuiBadge-standardClass name applied to the badge `span` element if variant="standard".
anchorOriginTopRight.MuiBadge-anchorOriginTopRightClass name applied to the badge `span` element if anchorOrigin={{ 'top', 'right' }}.
anchorOriginBottomRight.MuiBadge-anchorOriginBottomRightClass name applied to the badge `span` element if anchorOrigin={{ 'bottom', 'right' }}.
anchorOriginTopLeft.MuiBadge-anchorOriginTopLeftClass name applied to the badge `span` element if anchorOrigin={{ 'top', 'left' }}.
anchorOriginBottomLeft.MuiBadge-anchorOriginBottomLeftClass name applied to the badge `span` element if anchorOrigin={{ 'bottom', 'left' }}.
invisible.MuiBadge-invisibleState class applied to the badge `span` element if invisible={true}.
colorPrimary.MuiBadge-colorPrimaryStyles applied to the badge `span` element if color="primary".
colorSecondary.MuiBadge-colorSecondaryStyles applied to the badge `span` element if color="secondary".
colorError.MuiBadge-colorErrorStyles applied to the badge `span` element if color="error".
colorInfo.MuiBadge-colorInfoStyles applied to the badge `span` element if color="info".
colorSuccess.MuiBadge-colorSuccessStyles applied to the badge `span` element if color="success".
colorWarning.MuiBadge-colorWarningStyles applied to the badge `span` element if color="warning".
anchorOriginTopRightRectangular.MuiBadge-anchorOriginTopRightRectangularClass name applied to the badge `span` element if anchorOrigin={{ 'top', 'right' }} overlap="rectangular".
anchorOriginBottomRightRectangular.MuiBadge-anchorOriginBottomRightRectangularClass name applied to the badge `span` element if anchorOrigin={{ 'bottom', 'right' }} overlap="rectangular".
anchorOriginTopLeftRectangular.MuiBadge-anchorOriginTopLeftRectangularClass name applied to the badge `span` element if anchorOrigin={{ 'top', 'left' }} overlap="rectangular".
anchorOriginBottomLeftRectangular.MuiBadge-anchorOriginBottomLeftRectangularClass name applied to the badge `span` element if anchorOrigin={{ 'bottom', 'left' }} overlap="rectangular".
anchorOriginTopRightCircular.MuiBadge-anchorOriginTopRightCircularClass name applied to the badge `span` element if anchorOrigin={{ 'top', 'right' }} overlap="circular".
anchorOriginBottomRightCircular.MuiBadge-anchorOriginBottomRightCircularClass name applied to the badge `span` element if anchorOrigin={{ 'bottom', 'right' }} overlap="circular".
anchorOriginTopLeftCircular.MuiBadge-anchorOriginTopLeftCircularClass name applied to the badge `span` element if anchorOrigin={{ 'top', 'left' }} overlap="circular".
anchorOriginBottomLeftCircular.MuiBadge-anchorOriginBottomLeftCircularClass name applied to the badge `span` element if anchorOrigin={{ 'bottom', 'left' }} overlap="circular".
overlapRectangular.MuiBadge-overlapRectangularClass name applied to the badge `span` element if overlap="rectangular".
overlapCircular.MuiBadge-overlapCircularClass name applied to the badge `span` element if overlap="circular".

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