Badge

Badge is a small status indicator for another element.

Usage#

import { Badge } from 'primereact/badge';
<Badge>Badge</Badge>

Examples#

Basic#

Badge
import { Badge } from 'primereact/badge';
 
export default function BasicDemo() {
    return (
        <div className="card flex justify-center">
            <Badge>Badge</Badge>
        </div>
    );
}

Severity#

The severity property defines the visual style of a badge.

DefaultSecondarySuccessInfoWarningDangerContrast
import { Badge } from 'primereact/badge';
 
export default function SeverityDemo() {
    return (
        <div className="card flex flex-wrap justify-center gap-2">
            <Badge>Default</Badge>
            <Badge severity="secondary">Secondary</Badge>
            <Badge severity="success">Success</Badge>
            <Badge severity="info">Info</Badge>
            <Badge severity="warn">Warning</Badge>
            <Badge severity="danger">Danger</Badge>
            <Badge severity="contrast">Contrast</Badge>
        </div>
    );
}

Size#

Use the size property to change the size of a badge.

SmallDefaultLargeXLarge
import { Badge } from 'primereact/badge';
 
export default function SizeDemo() {
    return (
        <div className="card flex flex-wrap items-center justify-center gap-2">
            <Badge size="small">Small</Badge>
            <Badge>Default</Badge>
            <Badge size="large">Large</Badge>
            <Badge size="xlarge">XLarge</Badge>
        </div>
    );
}

Overlay#

A badge can be added to any element by encapsulating the content with the Badge.Overlay component.

2
4
import { Badge } from 'primereact/badge';
 
export default function BasicDemo() {
    return (
        <div className="card flex flex-wrap justify-center gap-6">
            <Badge.Overlay>
                <i className="pi pi-bell" style={{ fontSize: '2rem' }} />
                <Badge shape="circle">2</Badge>
            </Badge.Overlay>
            <Badge.Overlay>
                <i className="pi pi-calendar" style={{ fontSize: '2rem' }} />
                <Badge shape="circle" severity="danger">
                    4
                </Badge>
            </Badge.Overlay>
            <Badge.Overlay>
                <i className="pi pi-envelope" style={{ fontSize: '2rem' }} />
                <Badge shape="circle"></Badge>
            </Badge.Overlay>
        </div>
    );
}

Button#

Buttons have built-in support for badges to display a badge inline.

import { Badge } from 'primereact/badge';
import { Button } from 'primereact/button';
 
export default function ButtonDemo() {
    return (
        <div className="card flex justify-center flex-wrap gap-4">
            <Button type="button">
                Emails
                <Badge severity="secondary" shape="circle">
                    8
                </Badge>
            </Button>
 
            <Button type="button" variant="outlined">
                <i className="pi pi-users" />
                Messages
                <Badge severity="contrast" shape="circle">
                    2
                </Badge>
            </Button>
 
            <Badge.Overlay>
                <Button type="button" variant="outlined">
                    <i className="pi pi-bell" />
                </Button>
                <Badge severity="info" className="animate-pulse" />
            </Badge.Overlay>
        </div>
    );
}

Accessibility#

Screen Reader#

Badge does not include any roles and attributes by default, any attribute is passed to the root element so aria roles and attributes can be added if required. If the badges are dynamic, aria-live may be utilized as well. In case badges need to be tabbable, tabindex can be added to implement custom key handlers.

Keyboard Support#

Component does not include any interactive elements.