fab uifab ui

Badge

Displays a badge or a component that looks like a badge.

BadgeSecondaryDestructiveOutline
Verified89920+
import { Badge } from '@/components/ui/badge';
import { BadgeCheckIcon } from 'lucide-react';

export function BadgeDemo() {
  return (
    <div className='flex flex-col items-center gap-2'>
      <div className='flex w-full flex-wrap gap-2'>
        <Badge>Badge</Badge>
        <Badge variant='secondary'>Secondary</Badge>
        <Badge variant='destructive'>Destructive</Badge>
        <Badge variant='outline'>Outline</Badge>
      </div>
      <div className='flex w-full flex-wrap gap-2'>
        <Badge
          variant='secondary'
          className='bg-blue-500 text-white dark:bg-blue-600'
        >
          <BadgeCheckIcon />
          Verified
        </Badge>
        <Badge className='h-5 min-w-5 rounded-full px-1 font-mono tabular-nums'>
          8
        </Badge>
        <Badge
          className='h-5 min-w-5 rounded-full px-1 font-mono tabular-nums'
          variant='destructive'
        >
          99
        </Badge>
        <Badge
          className='h-5 min-w-5 rounded-full px-1 font-mono tabular-nums'
          variant='outline'
        >
          20+
        </Badge>
      </div>
    </div>
  );
}

Installation

pnpm dlx shadcn@latest add @fab-ui/badge

Usage

import { Badge } from "@/components/ui/badge"
<Badge variant="default | outline | secondary | destructive">Badge</Badge>

You can use the render prop to make another component look like a badge. Here's an example of a link that looks like a badge.

import Link from "next/link"
 
import { Badge } from "@/components/ui/badge"
 
export function BadgeLink() {
  return <Badge render={<Link href='/' />}>Badge</Badge>;
}