NewReUI Pro is now available! Get 20% off with early bird pricing.View pricing
Overview
  • Introduction
  • Get Started
  • License Setup
  • Styling
  • MCP
  • Registry
  • Roadmap
  • Changelog
  • llms.txt
  • v1 Docs
Components
  • Alert
  • Autocomplete
  • Badge
  • Data GridVirtualization and row pinning support added
  • Date Selector
  • File Upload
  • Filters
  • Frame
  • Shadcn Icon Stack
  • Kanban
  • Number Field
  • Phone Input
  • Rating
  • Scrollspy
  • Sortable
  • Stepper
  • Timeline
  • Tree

Application

  • Authentication
  • Card
  • Chart
  • Data Grid
  • Dialog
  • Browse all

eCommerce

  • Shopping Cart
  • Category Card
  • Checkout
  • Comparison
  • Coupon
  • Browse all

Marketing

  • Blog
  • Comparison Table
  • Contact
  • Content Section
  • CTA
  • Browse all

SaaS

  • Analytics
  • Billing
  • Dashboard
  • Integrations
  • Notifications
  • Browse all

Fintech

  • Accounts
  • Transactions
  • Transfer
  • Cards
  • Investments
  • Browse all

Dev Tools

  • API Console
  • CI/CD
  • Code Editor
  • Debug Panel
  • Documentation
  • Browse all

AI & LLM

  • AI Playground
  • AI Settings
  • Chat Interface
  • Embeddings
  • Evaluation
  • Browse all

Data Visualization

  • Charts
  • Dashboards
  • Heatmaps
  • Maps
  • Metrics
  • Browse all

Resources

  • Components
  • Blocks
  • Docs
  • Help & Contact
  • Pricing
  • RoadmapSoon
  • AffiliateSoon

Legal

  • Privacy Policy
  • Terms & Conditions
  • Licensing
  • Cookies

© 2026 ReUI. All rights reserved.

ComponentsBlocksIconsTemplatesDocsPricing
X
LoginGet All-access
2.5k

Shadcn Badge

PreviousNext

Custom Shadcn Badge for React and Tailwind CSS. Badges are used to highlight items, notify users, or display statuses.

Base UIRadix UI

Installation

pnpm dlx shadcn@latest add @reui/badge

More Shadcn Badge Components

Browse 25 production-ready Shadcn Badge components for dashboards, forms, and product UI. These examples use Base UI primitives from @base-ui/react and stay fully compatible with Shadcn Create so radius, color, and typography match your configured theme.

Browse all 25 Shadcn Badge components for copy-ready layouts, dashboards, and forms built with Tailwind CSS in the ReUI library.

AutocompleteData Grid

On This Page

InstallationUsageExamplesSecondaryDestructiveSuccessInfoWarningOutlinePrimary OutlineDestructive OutlineInfo OutlineSuccess OutlineWarning OutlinePrimary LightDestructive LightSuccess LightInfo LightWarning LightSizeFull RadiusWith IconWith Icon ButtonWith DotWith LinkAPI ReferenceProps

Usage

import { Badge } from "@/components/reui/badge"
<Badge>Badge</Badge>

Examples

Secondary

Destructive

Success

Info

Warning

Outline

Primary Outline

Destructive Outline

Info Outline

Success Outline

Warning Outline

Primary Light

Destructive Light

Success Light

Info Light

Warning Light

Size

Full Radius

With Icon

With Icon Button

With Dot

With Link

API Reference

This component follows the same API design as the Badge Component from shadcn/ui. The key difference is that it uses extended color tokens such as --success, --info, --warning and --invert for badge variants instead of utility classes.

This approach enables consistent, reusable state variants across the project without relying on custom Tailwind color utilities.

<Badge variant="success-light" size="sm">
  Success
</Badge>
<Badge variant="outline" radius="full">
  Pill
</Badge>

Props

PropType
variant"default" | "secondary" | "destructive" | "outline" | "info" | "success" | "warning" | "invert"
variant (Outline)"primary-outline" | "warning-outline" | "success-outline" | "info-outline" | "destructive-outline" | "invert-outline"
variant (Light)"primary-light" | "warning-light" | "success-light" | "info-light" | "destructive-light" | "invert-light"
size"default" | "xs" | "sm" | "lg" | "xl"
radius"default" (active style radius) | "full" (rounded-full)
import { Badge } from "@/components/reui/badge"

export function Pattern() {
  return <Badge>Badge</Badge>
}
import { Badge } from "@/components/reui/badge"

export function Pattern() {
  return <Badge variant="secondary">Badge</Badge>
}
import { Badge } from "@/components/reui/badge"

export function Pattern() {
  return <Badge variant="destructive">Badge</Badge>
}
import { Badge } from "@/components/reui/badge"

export function Pattern() {
  return <Badge variant="success">Badge</Badge>
}
import { Badge } from "@/components/reui/badge"

export function Pattern() {
  return <Badge variant="info">Badge</Badge>
}
import { Badge } from "@/components/reui/badge"

export function Pattern() {
  return <Badge variant="warning">Badge</Badge>
}
import { Badge } from "@/components/reui/badge"

export function Pattern() {
  return <Badge variant="outline">Badge</Badge>
}
import { Badge } from "@/components/reui/badge"

export function Pattern() {
  return <Badge variant="primary-outline">Badge</Badge>
}
import { Badge } from "@/components/reui/badge"

export function Pattern() {
  return <Badge variant="destructive-outline">Badge</Badge>
}
import { Badge } from "@/components/reui/badge"

export function Pattern() {
  return <Badge variant="info-outline">Badge</Badge>
}
import { Badge } from "@/components/reui/badge"

export function Pattern() {
  return <Badge variant="success-outline">Badge</Badge>
}
import { Badge } from "@/components/reui/badge"

export function Pattern() {
  return <Badge variant="warning-outline">Badge</Badge>
}
import { Badge } from "@/components/reui/badge"

export function Pattern() {
  return <Badge variant="primary-light">Badge</Badge>
}
import { Badge } from "@/components/reui/badge"

export function Pattern() {
  return <Badge variant="destructive-light">Badge</Badge>
}
import { Badge } from "@/components/reui/badge"

export function Pattern() {
  return <Badge variant="success-light">Badge</Badge>
}
import { Badge } from "@/components/reui/badge"

export function Pattern() {
  return <Badge variant="info-light">Badge</Badge>
}
import { Badge } from "@/components/reui/badge"

export function Pattern() {
  return <Badge variant="warning-light">Badge</Badge>
}
import { Badge } from "@/components/reui/badge"

export function Pattern() {
  return (
    <div className="flex items-center gap-2.5">
      <Badge size="sm">Small</Badge>
      <Badge size="default">Default</Badge>
      <Badge size="lg">Large</Badge>
    </div>
  )
}
import { Badge } from "@/components/reui/badge"

export function Pattern() {
  return (
    <div className="flex flex-col items-center justify-center gap-6">
      <div className="flex items-center gap-2.5">
        <Badge size="sm" radius="full">
          3
        </Badge>
        <Badge size="default" radius="full">
          3
        </Badge>
        <Badge size="lg" radius="full">
          3
        </Badge>
      </div>
      <div className="flex items-center gap-2.5">
        <Badge size="sm" radius="full">
          New
        </Badge>
        <Badge radius="full">New</Badge>
        <Badge size="lg" radius="full">
          New
        </Badge>
      </div>
      <div className="flex items-center gap-2.5">
        <Badge size="sm" radius="full" variant="outline">
          New
        </Badge>
        <Badge radius="full" variant="secondary">
          New
        </Badge>
        <Badge size="lg" radius="full" variant="success-light">
          New
        </Badge>
      </div>
    </div>
  )
}
import { Badge } from "@/components/reui/badge"
import { CheckIcon } from 'lucide-react'

export function Pattern() {
  return (
    <Badge variant="outline">
      <CheckIcon />
      Badge
    </Badge>
  )
}
import { Badge } from "@/components/reui/badge"

import { Button } from "@/components/ui/button"
import { XIcon } from 'lucide-react'

export function Pattern() {
  return (
    <Badge variant="outline" className="gap-0.5">
      Badge
      <Button
        variant="ghost"
        size="icon"
        className="size-3 hover:bg-transparent"
      >
        <XIcon />
      </Button>
    </Badge>
  )
}
import { Badge } from "@/components/reui/badge"

export function Pattern() {
  return (
    <Badge variant="info-light">
      <span className="ms-0.25 size-1.25 rounded-full! bg-[currentColor]" />{" "}
      Badge
    </Badge>
  )
}
import { Badge } from "@/components/reui/badge"

export function Pattern() {
  return (
    <Badge variant="outline" render={<a href="#" />}>
      Badge
    </Badge>
  )
}