ProductBrand
Join us
Foundations
  • Introduction
  • Colors
  • Typography
  • Icons
  • Illustrations
  • Logos
  • Shadows
Components
  • Accordion
  • Alert Dialog
  • Avatar
  • Badge
  • Button
  • Calendar
  • Card
  • Chart
  • Checkbox
  • Collapsible
  • Combobox
  • Context Menu
  • Date Picker
  • Dialog
  • Drawer
  • Dropdown Menu
  • Fluid Avatar
  • Hover Scroll Text
  • Input
  • Kbd
  • Popover
  • Progress Bar
  • Radio Group
  • Scroll Area
  • Select
  • Selectors
  • Separator
  • Separator Dot
  • Shimmer Text
  • Skeleton
  • Slider
  • Switch
  • Tabs
  • Textarea
  • Toast
  • Tooltip
Compositions
  • Empty State
  • File Attachment
  • Floating Bar
  • Input Banner
  • Markdown Editor
  • Media Controls
  • Product Feature Banner
  • Panels
  • Sidebar
  • Reasoning Trace
  • Pagination
  • Data Table
  • Breadcrumb
  • Thread Outline
Inline
  • Overview
  • Stat Tile
  • Metric Row
  • Comparison Table
  • Chart Card
  • Trend Tile
  • Cite
  • Custom
  • Agent skill

Badge

Badges highlight small pieces of information like statuses or counts.

Examples

Verified

Icon only

Restyling the icon slot

FailedFailed

Constrained width

GAP Rogo ISI team permissionsGAP Rogo ISI team permissions

Overview

Use Badge to label statuses, counts, or short tags inline with other content. It's a non-interactive <span> by default. Reach for Button instead if it needs to be clickable.

tsx
import { Badge } from "@rogo-technologies/ui/badge";

<Badge variant="brand">New</Badge>;

Usage

Variants

brand for primary emphasis, outline for secondary information, muted for subtle labels.

tsx
<Badge variant="brand">Brand</Badge>
<Badge variant="outline">Outline</Badge>
<Badge variant="muted">Muted</Badge>

Sizes

tsx
<Badge size="xxs">xxs</Badge>
<Badge size="lg">lg</Badge>

Rounded

Pill shape, useful for counts or short tags.

tsx
<Badge rounded>12</Badge>

With icons

tsx
import { IconCircleCheck, IconStar } from "@rogo-technologies/ui/icons";

<Badge prefix={<IconCircleCheck />}>Verified</Badge>
<Badge suffix={<IconStar />}>Featured</Badge>

Icon only

tsx
<Badge iconOnly>
  <IconStar />
</Badge>

Restyling the icon slot

prefix, suffix, and iconOnly render into a slot marked with data-badge-slot. Target that when you need to resize or restyle the icon, not [&>span], which also matches the text label and would squash it.

tsx
<Badge prefix={<IconCircleCheck />} className="[&>[data-badge-slot]]:size-4">
  Larger icon
</Badge>

Constrained width

Cap the badge with max-w-* and a text label truncates with an ellipsis on its own. Don't put truncate on the badge itself. The badge is a flex row, so text-overflow there has nothing to act on and the label gets clipped on both edges instead. Pair the cap with a title so the full value stays readable on hover.

tsx
<Badge className="max-w-[12rem]" title={groupName}>
  {groupName}
</Badge>

API

PropTypeDefaultDescription
variant"brand" | "outline" | "muted""brand"Visual style of the badge.
size"xxs" | "xs" | "sm" | "md" | "lg""md"Size of the badge.
roundedbooleanfalseRenders the badge with fully rounded corners (pill shape).
iconOnlybooleanfalseRenders a square badge for icon-only use.
prefixReactNode-Element to render before the label.
suffixReactNode-Element to render after the label.
renderReactElement | Function-Renders the badge as a different element.

Additionally, the Badge accepts all standard HTML <span> attributes.

Guidelines

Do

  • Use brand to draw attention to a single status (e.g. "New", "Beta")
  • Use outline or muted for neutral metadata that doesn't compete with primary content
  • Keep labels short: one or two words, or a number
  • Use iconOnly for status indicators where the icon is self-explanatory

Don't

  • Don't use a Badge for an interactive element. Use a Button instead
  • Don't stack many brand badges next to each other, since emphasis stops working when everything is emphasized
  • Don't put long sentences in a Badge, since the layout assumes single-line, short content
PreviousAvatar
NextButton
Made in NYC© 2026 Rogo Technologies Inc.

Design at Rogo

We’re redesigning an entire industry. Come design it with us.

See open roles

Design at Rogo

  • How we workThe mission of design at Rogo, and the open roles
  • About RogoThe company and the product