Label at a glance
Badges attach short labels to content — a status, a count, a category — without breaking the reading flow.
Badges can be used to highlight important bits of information such as labels, notifications and status.
Badges attach short labels to content — a status, a count, a category — without breaking the reading flow.
Colour-coded tones communicate meaning quickly, so users can scan a list and immediately understand state.
Badges are deliberately small and quiet — they annotate content rather than compete with it.
Container
Content
Icon (optional)
Badge variants use colour to convey meaning at a glance. Each variant signals a different status or category.
The default tone for generic labels with no particular status weight. Use when the badge is purely informational, whether you need a stronger filled style or a quieter outlined style.
Controls whether the badge uses a filled or outlined style. Outlined gives the badge a lighter visual presence.
The default filled style uses a solid background. Use when badges need to read strongly at a glance across the full variant set.
Add a close button when the user should be able to remove the badge — for example, active filters or removable tags.
Use when the badge is informational only and should not be removed by the user.
Pair the badge with an icon when a visual cue helps users recognise meaning faster than the text alone.
Use when the text label is enough to convey the badge's meaning.
Component tokens are specific to each component. Use the table title as the prefix: padding-3-xs under sgds/badge means sgds/badge/padding-3-xs.
sgds/padding/3-xssgds/padding/nonesgds/padding/xssgds/border-color-mutedsgds/border-color-transparentsgds/border-radius/smsgds/border-width/1sgds/font-size/14sgds/font-weight/regularsgds/line-height/20sgds/color-fixed-darksgds/color-fixed-lightsgds/surface-fixed-lightsgds/primary/border-color/mutedsgds/primary/color/fixed-darksgds/primary/surface/defaultsgds/primary/surface/mutedsgds/success/border-color/mutedA short status or category label works best because users can read it at a glance.
Long badge text is harder to scan and starts behaving like regular content.
This component does not have a separate keyboard interaction table because:
Share them with us on
Report it on GitHub
The Singapore Government Design System was developed to empower teams in creating fast, accessible and mobile-friendly digital services.