A badge is a compact UI element providing brief, descriptive information about an element and its surrounding context. It is terse, ideally one word.

Preview

Usage

Do

  • To flag and draw awareness to a specific element or feature of focus. For example, something is unique about that separates it from other like content.
  • As a notification system with minimal footprint.

Don’t

  • To indicate that interaction by the user is required.

Best Practices

  • While the color variant used should not be the sole indicator of information, choose color patterns that users can quickly scan and identify its intention.
  • Avoid long values, favoring a brief scannable word.

Accessibility

  • Since a Badge may often reflect a value within an implied label, ensure a label is announced. For example, via aria-label or aria-labeledby.

Kind

Label

Count

Type

Type Kind: Label Kind: Count Usage
Default Label 1 Default general purpose callout when no implicit semantic meaning applies.
Info Label 2 Used to convey general information that isn’t critical or requires action on the user's part.
Success Label 3 Accompanying a successful or otherwise positive action or message
Warning Label 4 When a users attention is needed, or action may be required.
Critical Label 5 To communicate conditions deemed critical, negative, or dangerous. For example, sensitive state (e.g. recording), must be resolved, or something has failed.
Bulletin Label 6 Used to provide temporary feedback to specific items in the interface, like live activity, notifications, and unread counts.
Ai Label N/A To call out Dialpad Ai features.

Outlined

Subtle

At the moment, only the bulletin type has a subtle variant.

Icon

Decorative

Decorative badges label and classify items for quick recognition.

Do

  • Use for categories of items with a limited number of options (eg. call categories, AI moments).

Don’t

  • Use for categories of items with an unlimited or unknown number of options (eg. user-defined contact labels, RTA cards, contact centers).
  • Use for single items that are not part of a larger group.
  • Use for decoration only, to bring attention to part of the UI by using colors.
  • Use with kind=count, nor with any type that is not default.
  • Use in combination with an icon.
  • Change the customize the Badge's background color text style,
  • Extend the decorative slot color beyond what Dialtone provides.

Best Practices

  • Favor lighter shades over darker ones.
  • Use each color hue before using the next available shade.

Examples

Label

Count

Vue API

Slots

Name
Description
default

Slot for badge content, defaults to text prop

leftIcon

Slot for left icon, icon-size slot prop defaults to '200'

rightIcon

Slot for right icon, icon-size slot prop defaults to '200'

Props

Name
Description
Default
decoration

Decoration for the badge. This can be only used with kind: label and type: default with no left and right icons

Type: string
Values: defaultblack-400black-500black-900red-200red-300red-400purple-200purple-300purple-400purple-500blue-200blue-300blue-400green-300green-400green-500gold-300gold-400gold-500magenta-200magenta-300magenta-400
undefined
iconSize

The size of the left and right icons.

Type: string
Values: 100200300400500600700800
'200'
kind

The kind of badge which determines the styling

Type: string
Values: labelcount
'label'
labelClass

Used to customize the label container

Type: string|array|object
''
outlined

Outlines the badge with a border

Type: boolean
false
subtle

Shows a subtle appearance for the badge Currently only affects the badge when type is bulletin.

Type: boolean
false
text

Text for the badge content

Type: string
''
type

Color for the badge background

Type: string
Values: defaultinfosuccesswarningcriticalbulletinai
'default'

Classes

Class
Applies to
Description
Badge documentation last updated Thursday, June 11, 2026