shadcn.io is an independent project built on shadcn/ui
The badge is a circle with the number 3 on the primary fill. One digit is all this demo shows.
Use it for unread messages, a cart count, or pending tasks. A pressable count fits a Button better. In Vue, Ark UI keeps one digit in a circle at this size.
Installation
Anatomy

Usage
<Badge :pill="true" size="lg">3</Badge>FAQ
How does the number become a circle in Vue?
pill sets rounded-full, and size="lg" adds h-6.5 and min-w-6.5, so one digit has a matching height and minimum width. A longer number widens past that minimum.
Which variant is this count?
No variant is set, so the count uses the default fill. secondary, outline and destructive are the other looks in this set. info, success and warning are available too.
How do I make the number make sense to a screen reader?
A bare number does not say what is counted. Put the noun in the badge, such as 3 unread, or set aria-label to 3 unread messages.
How do I make the circle smaller?
size also takes sm, which sets h-5 and min-w-5. Keep pill so the ends stay round.
Is the count a button?
No. The count is the text of a span. Place the badge next to the thing it counts. A control that does something is a Button.
API Reference
Badge
Sets pill and size="lg". The rest is on the Badge page.


