Skip to main content

Badge

Basic

Basic example of a badge.

New

const BasicComponent = () => {
return <Badge>New</Badge>;
};

No border radius

Example of a badge without border radius.

Sale

const NoBorderRadiusComponent = () => {
return (
<Badge borderRadius={"$0"}>
Sale
</Badge>
);
};

With Icon

You can add icons to the left, right or both sides of a badge. Use the IconLeftComponent and IconRightComponent props

Featured

Top Rated

Pro Member

const WithIconComponent = () => {
return (
<HStack gap="$4" flexWrap="wrap">
{/* With left icon */}
<Badge>
<Badge.LeftIcon>
<Sparkles />
</Badge.LeftIcon>
Featured
</Badge>

{/* With right icon */}
<Badge>
Top Rated
<Badge.RightIcon>
<ThumbsUp />
</Badge.RightIcon>
</Badge>

{/* With icons on both sides */}
<Badge>
<Badge.LeftIcon>
<Crown />
</Badge.LeftIcon>
Pro Member
<Badge.RightIcon>
<Star />
</Badge.RightIcon>
</Badge>
</HStack>
);
};

With Custom Icon Element

You can also pass your custom react elements as icons for further customization.

Premium

Exclusive

VIP Member

const WithCustomIconElementComponent = () => {
return (
<HStack gap="$4" flexWrap="wrap">
{/* With left icon element */}
<Badge>
<Badge.LeftIcon>
<Star size={24} color="$red.500" />
</Badge.LeftIcon>
Premium
</Badge>

{/* With right icon element */}
<Badge>
Exclusive
<Badge.RightIcon>
<Star size={24} color="$red.500" />
</Badge.RightIcon>
</Badge>

{/* With icon elements on both sides */}
<Badge>
<Badge.LeftIcon>
<User size={24} color="$red.500" />
</Badge.LeftIcon>
VIP Member
<Badge.RightIcon>
<Star size={24} color="$red.500" />
</Badge.RightIcon>
</Badge>
</HStack>
);
};

Size

You can change the size of a badge using the size prop. The default size is md.

Best Seller

Editor's Choice

const SizeComponent = () => {
return (
<HStack gap="$4">
{/* Small badge */}
<Badge size="sm">
<Badge.LeftIcon>
<TrendingUp />
</Badge.LeftIcon>
Best Seller
</Badge>

{/* Medium badge */}
<Badge size="md">
Editor's Choice
<Badge.RightIcon>
<Award />
</Badge.RightIcon>
</Badge>
</HStack>
);
};

Custom

You can customize the badge with the backgroundColor, textColor and borderColor props.

Limited Edition

const CustomComponent = () => {
return (
<Badge
backgroundColor="$black"
textColor="$red.200"
borderColor="$red.200"
>
<Badge.LeftIcon>
<Gem />
</Badge.LeftIcon>
Limited Edition
</Badge>
);
};

Override Color Mode

Use the colorMode prop to override the color mode of the badge.

Verified

const OverrideColorModeComponent = () => {
return (
<Badge size="sm" colorMode="dark">
<Badge.LeftIcon>
<BadgeCheck />
</Badge.LeftIcon>
Verified
</Badge>
);
};

Override Accent Color

Use the accentColor prop to override the accent color of the badge.

Eco-Friendly

const OverrideAccentColorComponent = () => {
return (
<Badge size="sm" accentColor="emerald">
<Badge.LeftIcon>
<Leaf />
</Badge.LeftIcon>
Eco-Friendly
</Badge>
);
};

Override Color Mode and Accent Color

You can override both the color mode and accent color of the badge using the colorMode and accentColor props.

Organic

const OverrideColorModeAndAccentColorComponent = () => {
return (
<Badge size="sm" colorMode="dark" accentColor="emerald">
<Badge.LeftIcon>
<Sprout />
</Badge.LeftIcon>
Organic
</Badge>
);
};

Group Basic

Example of a basic badge group.

React

TypeScript

Node.js

GraphQL

AWS

Docker

PostgreSQL

Redis

Kubernetes

CI/CD

Agile

const GroupBasicComponent = () => {
return (
<Badge.Group>
<Badge>React</Badge>
<Badge>TypeScript</Badge>
<Badge>Node.js</Badge>
...
</Badge.Group>
);
};

Group With Max

You can use the max prop to limit the number of badges that are shown.

JavaScript

Python

Go

Rust

+ 7

const GroupWithMaxComponent = () => {
return (
<Badge.Group max={4}>
<Badge>JavaScript</Badge>
<Badge>Python</Badge>
<Badge>Go</Badge>
...
</Badge.Group>
);
};

Group With Icon

Each badge in a group can have its own icon. Use the IconLeftComponent and IconRightComponent props.

Premium

5.0 Rating

VIP Access

const GroupWithIconComponent = () => {
return (
<Badge.Group>
{/* With left icon */}
<Badge>
<Badge.LeftIcon>
<Crown />
</Badge.LeftIcon>
Premium
</Badge>

{/* With right icon */}
<Badge>
5.0 Rating
<Badge.RightIcon>
<Star />
</Badge.RightIcon>
</Badge>

{/* With icons on both sides */}
<Badge>
<Badge.LeftIcon>
<Gem />
</Badge.LeftIcon>
VIP Access
<Badge.RightIcon>
<Sparkles />
</Badge.RightIcon>
</Badge>
</Badge.Group>
);
};

Group Size

You can use the size prop to change the size of all badges in a group. The default size is md.

Hot Deal

Trending

Staff Pick

Award Winner

const GroupSizeComponent = () => {
return (
<VStack gap="$4">
<Badge.Group size="sm">
<Badge>
<Badge.LeftIcon>
<Flame />
</Badge.LeftIcon>
Hot Deal
</Badge>
<Badge>
<Badge.LeftIcon>
<TrendingUp />
</Badge.LeftIcon>
Trending
</Badge>
</Badge.Group>

<Badge.Group size="md">
<Badge>
<Badge.LeftIcon>
<Award />
</Badge.LeftIcon>
Staff Pick
</Badge>
<Badge>
<Badge.LeftIcon>
<Trophy />
</Badge.LeftIcon>
Award Winner
</Badge>
</Badge.Group>
</VStack>
);
};

Group Custom

You can use the backgroundColor, textColor and borderColor props to customize all badges in a group.

Flash Sale

50% Off

Last Chance

const GroupCustomComponent = () => {
return (
<Badge.Group
backgroundColor="$black"
textColor="$red.200"
borderColor="$red.200"
>
<Badge>
<Badge.LeftIcon>
<Zap />
</Badge.LeftIcon>
Flash Sale
</Badge>
<Badge>
<Badge.LeftIcon>
<Percent />
</Badge.LeftIcon>
50% Off
</Badge>
<Badge>
<Badge.LeftIcon>
<Clock />
</Badge.LeftIcon>
Last Chance
</Badge>
</Badge.Group>
);
};

Group Override Color Mode

Use the colorMode prop to override the color mode of all badges in a group.

In Stock

Free Shipping

2-Day Delivery

const GroupOverrideColorModeComponent = () => {
return (
<Badge.Group colorMode="dark">
<Badge>
<Badge.LeftIcon>
<Package />
</Badge.LeftIcon>
In Stock
</Badge>
<Badge>
<Badge.LeftIcon>
<Truck />
</Badge.LeftIcon>
Free Shipping
</Badge>
<Badge>
<Badge.LeftIcon>
<Timer />
</Badge.LeftIcon>
2-Day Delivery
</Badge>
</Badge.Group>
);
};

Group Override Accent Color

Use the accentColor prop to override the accent color of all badges in a group.

Sustainable

Carbon Neutral

Recycled

const GroupOverrideAccentColorComponent = () => {
return (
<Badge.Group accentColor="emerald">
<Badge>
<Badge.LeftIcon>
<Leaf />
</Badge.LeftIcon>
Sustainable
</Badge>
<Badge>
<Badge.LeftIcon>
<TreeDeciduous />
</Badge.LeftIcon>
Carbon Neutral
</Badge>
<Badge>
<Badge.LeftIcon>
<Recycle />
</Badge.LeftIcon>
Recycled
</Badge>
</Badge.Group>
);
};

Group Override Color Mode and Accent Color

You can override both the color mode and accent color of all badges in a group using the colorMode and accentColor props.

Vegan

Gluten-Free

Non-GMO

const GroupOverrideColorModeAndAccentColorComponent = () => {
return (
<Badge.Group colorMode="dark" accentColor="emerald">
<Badge>
<Badge.LeftIcon>
<Vegan />
</Badge.LeftIcon>
Vegan
</Badge>
<Badge>
<Badge.LeftIcon>
<WheatOff />
</Badge.LeftIcon>
Gluten-Free
</Badge>
<Badge>
<Badge.LeftIcon>
<ShieldCheck />
</Badge.LeftIcon>
Non-GMO
</Badge>
</Badge.Group>
);
};