Skip to content

shadcn.io is an independent project built on shadcn/ui

Free

Badge with Link (Outline) for Solid

An outline badge whose label Badge is a link that underlines on hover. The address in the file is #link.

UI library: Ark UI

The word Badge is a bordered link with no fill. Hovering underlines it. The href in this file is #link.

It fits a tag that opens a filtered view without a heavy fill. A toggle filter belongs on a Button. In Solid, Ark UI turns the badge into a link.

Preview

Preview width

Installation

MCP · Pro
Make your AI a shadcn expert
Your agent installs components, builds pages and restyles your app from one prompt, in Claude Code, Cursor or VS Code.
Part of Pro

Anatomy

Badge anatomy: root, icon, text

Usage

<Badge asChild={props => <a {...props()} href="#link">Badge</a>} class="hover:underline" variant="outline" />

FAQ

What does variant outline change on the link?

variant="outline" keeps the border-border edge and text-foreground on the link. Hover adds the variant's background, and this file adds hover:underline.

Can I reach the link from the keyboard?

Yes. It is an a with an href, so Tab focuses it and Enter follows it. Screen readers announce a link.

Should a toggle filter be this badge?

No. This pattern goes to another page. An on and off filter is a Button or a toggle.

Why doesn't the link text wrap?

The badge is whitespace-nowrap, so the label stays one line. Keep it to a word or two.

Can this link use another variant?

Yes. Set variant on the same Badge. The values are default, secondary, outline, ghost, link, destructive, info, success and warning.

API Reference

Badge

Sets asChild and props. The rest is on the Badge page.