Link Preview

Overlays
Local guide ↗ import { LinkPreview } from "bits-ui"

Profile hover card

A linked avatar reveals identity, location, repository, and star statistics on hover

Built by

Article preview

Short open and longer close delays make a text-link preview easy to approach

The migration guide explains why before touching a large component tree.

Link Preview is intentionally pointer-only: it ignores touch, and keyboard users follow the link without receiving the preview. Never put vital or actionable information in the card. Use openDelay and closeDelay on Root; Floating UI positions Content, while ContentStatic opts out of that positioning entirely.

LinkPreview.Portal renders into document.body by default to avoid clipping and stacking-context problems. Floating content exposes a focus trap plus cancellable open/close focus hooks, but the intended hover-card pattern does not move focus into the preview. Escape and outside pointer-down close the floating layer by default; their behavior props and callbacks live on LinkPreview.Content.