Button
Displays a button or a component that looks like a button.
Every card runs the real component. 106 are free under MIT, 36 come with Blank Pro.
Displays a button or a component that looks like a button.
Joins related buttons into one segmented control.
A date field for picking single dates, ranges and multiples.
A control for a single on/off choice, with an indeterminate state.
A compact, selectable tag with an optional avatar and a dismiss button.
A popover with a saturation area, hue slider, hex/RGB/HSL input, presets and an eyedropper where the browser has one.
An input that filters a list and lets the user pick from it.
Copies text to the clipboard and confirms it with an icon morph, a tooltip and a live-region announcement.
Labels, descriptions and errors for any form control.
A dropzone with a file list, previews, upload progress, removal and accept/size/count validation.
react-hook-form bindings for the field primitives.
A single-line text field.
A drag-and-drop file field with previews, built on the native file input.
Attaches icons, text and buttons to an input.
A field for one-time codes, one character per slot.
A currency amount field that accepts only digits and a capped decimal.
An accessible label for a form control.
A searchable multi-select built on cmdk, with badges in the field, grouped options, a create row and a selection limit.
The platform select element, styled to match the system.
A number field with decrement and increment buttons, clamped to a range.
A set of options where exactly one can be selected.
A star rating with radio-group semantics, optional half values and a read-only mode.
A trigger and listbox for choosing one option.
A control for picking a value, or a range, from an interval.
A sign-in button carrying a provider's mark.
A control that toggles a setting on or off immediately.
A text field that turns entries into removable tags: Enter or comma adds, Backspace removes, paste splits.
A multi-line text field.
A segmented time field: hours, minutes, optional seconds and AM/PM, each a keyboard-steppable spin button.
A two-state button that stays pressed.
A set of toggles that act as one control.
A modal that interrupts the user and asks for confirmation.
A searchable command palette.
A menu opened by right-clicking an element.
A window overlaid on the page, holding focus until dismissed.
A panel that slides in from an edge of the screen.
A menu of actions opened by a trigger.
A card that previews content when a link is hovered.
A horizontal bar of application menus.
A floating panel anchored to a trigger.
A dialog that slides in from the side of the screen.
A short hint shown on hover or focus.
Shows where the current page sits in the hierarchy.
A site navigation menu with expandable panels.
Navigation between pages of a result set.
A collapsible application sidebar with its own layout primitives.
Numbered steps for a multi-part flow, horizontal or vertical, with completed, active, loading and disabled states.
Panels of content shown one at a time.
A vertically stacked set of headings that each reveal a section of content.
Constrains its content to a fixed width-to-height ratio.
An image with a text fallback, for representing a user.
A small label for status, counts and categories.
Ranked horizontal bars with a label and a formatted value on each row.
A raised surface that groups related content and actions.
A horizontally scrollable set of slides with previous and next controls.
Recharts primitives wired to the system's theme and tooltip.
A code panel with tabs, line numbers, highlighted lines and a copy button.
Shows and hides a section of content.
A TanStack Table v9 grid on Blank's Table: sortable column headers with menus, debounced global search, column visibility, shift-click range selection, pagination, a density toggle, and skeleton, empty and no-results states.
A surface that springs open in place to reveal more content.
An accessible file and folder tree with arrow-key navigation, type-ahead, selection and animated folders.
A row that pairs media, text and actions.
A drag-and-drop board of sortable columns and cards: pointer, touch and keyboard sensors, screen reader announcements that name cards and columns, Escape restores a cancelled move, and a lifted overlay copy. Controlled through a map of columns to items.
Renders a keyboard key or a chord.
A dashboard stat card with a value, a trend and a sparkline.
An install command with package-manager tabs and a copy button.
A data table with header, body and footer sections.
A vertical or horizontal sequence of dated events with indicators, titles and content.
An uptime strip of status blocks with tooltips and keyboard navigation.
A short, prominent message about the state of the page.
A page-level announcement strip with actions and a dismiss button.
A placeholder for a view with nothing in it yet.
Shows completion of a task.
A placeholder shown while content loads.
Toast notifications.
An indeterminate loading indicator.
Sets text direction for every component below it.
Panels the user can resize by dragging a handle.
A scrollable region with a styled scrollbar.
A line that separates content, horizontally or vertically.
A bento visual: a context menu of inbox actions with a collaborator's cursor moving through it.
A bento visual: an app tile, a timer that runs to the decision time and a status pill that lands when it stops.
A bento visual: a cascade of checks that tick one by one on view, the latest lifting off the stack.
A bento visual: an editor window with line numbers where a query types into the find field and a highlight scans down to the match.
A bento visual: a command palette lit from above. The query types itself, the actions settle in and the selection follows hover.
A bento visual: a success toast that drops in with a drawn check, over a row of stats that count up.
A bento visual: a workspace search that types its query, settles people and companies under their groups and lights the matching row.
A bento visual: a speedometer whose needle sweeps to a value over a tick ring, with a readout that counts up. Ink by default; follows the card's --bento-light when set.
The Blank bento system: a six-column grid and a lit card with a visual stage, light and copy.
A bento visual: a big number counting up in a framed display, with a pill over it and rails out to two lamps.
A bento visual: a system health panel with counting numbers, bars filling over a hatched track and a live status pill.
A bento visual: a central AI node wired to capability chips by lines that draw themselves in.
A bento visual: a notification inbox with counted tabs running off the card, where new notifications land on top while it is on screen.
A bento visual: a list of integrations where one connects, its button running from Connect to Connected and lights up.
A bento visual: one large round icon on concentric rings with a light that runs around its rim.
A bento visual: a hub with up to five payment methods wired into it and payments pulsing along the wires.
A bento visual: a URL, a passing check and a terminal command joined by a line that draws itself, with the command typing out last.
A bento visual: a daily planner board whose top card lifts off its slot and tilts in depth, with status badges, assignees and progress.
A bento visual: a plan picker built on Radio Group whose selection travels to the chosen plan and lights it up.
A bento visual: a team list hanging from a lit edge, with a pill counting who is online and live status dots.
A bento visual: an AI prompt box with its mode menu open and a cursor choosing a mode, over a soft bloom of light.
A bento visual: a term track that fills stop by stop to a check, the chosen term and a note hanging off it.
A bento visual: a shield with a lock that snaps shut as data runs in from two wired nodes.
A bento visual: a template picker where the hovered option lifts toward the cursor, with a window peeking out behind.
A bento visual: trigger, condition and action nodes on a rail, with a marker that runs down and lifts each node in turn.
A highlight that slides behind the active or hovered item: tabs, menus, segmented controls.
A curved path between two elements with a beam of light running along it.
Fades content in from a blur and a small offset, on mount or on scroll.
A dot grid for section backgrounds, with an optional slow pulse.
A pill that springs between size presets (default, compact, large, tall or your own) with a content view per size that blurs in once the surface has room, controlled or uncontrolled.
A button that morphs into a floating panel and back.
A menu whose submenus open in place: panels glide with a blur, the height follows, nested panels can filter.
A static SVG grid for section backgrounds, with optional highlighted cells.
An endless horizontal or vertical strip of content with edge fade, reverse, pause on hover, an off-screen pause and a reduced-motion pause.
A compact dock that unfolds into a panel on the same surface.
A card that grows into a dialog with a shared layout animation (image, title and subtitle travel with it) on Radix Dialog for focus trap, Escape, outside click, scroll lock and focus return.
A static SVG film-grain overlay for flat fills and gradients.
Counts up to a number on a spring, with tabular digits.
A blur that ramps up toward the edge of a scrolling container.
A hairline that fills as the page or a container scrolls.
Text that brightens word by word or letter by letter as it scrolls through view: in flow or pinned, against the window or any scroll container, with a fade or blur-to-focus effect and a static fallback for reduced motion.
Muted text with a highlight sweeping across it.
Reveals text by word, character or line with ten motion presets.
Rotates through texts with staggered per-character, per-word or per-line animation: six presets, custom keyframes, a controllable index and a ref with next, previous, jumpTo, pause and play. Pauses offscreen, in background tabs and on hover.
A pill above a hero headline: an optional tag, a title and an arrow, rendered as a link with asChild.
A before/after comparison with a draggable divider, arrow-key control and a vertical option.
A plain feature: an icon, a title and a line of copy, on a raised card or straight on the page.
A pill navbar that hides on scroll down, returns on scroll up, tightens past the fold and glides an active pill between links.
A video thumbnail with a play button that opens an accessible dialog player: morphs out of the poster or enters with one of eight animations, plays embeds or video files, and shows the poster until the player is ready.
A cover image that scrubs through a gallery as the pointer moves across it.
A plan card with a price, a feature list and a call to action.
A storefront card for a product: media, price, badges and actions.
A board card for a task with priority, labels, assignees and meta.
A Pixel-style handset drawn in CSS with a punch-hole camera and right-side buttons, at true proportions at any width.
Browser chrome around a screenshot or a live page, for product visuals.
Editor chrome with switchable file tabs and numbered lines, with no syntax-highlighting dependency.
The hero composition: a MacBook with an iPhone standing in front of one corner, each taking its own screen content.
A tablet drawn in CSS with even bezels, in portrait or landscape through the orientation prop.
A modern iPhone drawn in CSS: titanium rim, even bezels, Dynamic Island and side buttons, at true proportions at any width.
An open laptop drawn in CSS (lid, hinge and base) around a 16:10 screen for screenshots or live UI.
macOS Safari window chrome (traffic lights, address field with lock and host, optional tab strip) around a viewport for screenshots, video or live UI.
Terminal chrome with a title bar, prompt-led command lines, coloured output lines and an optional typing animation.