---
name: "@brut-ui"
slug: "brut-ui"
description: "Production-minded neo-brutalist shadcn components with three configurable flavours, strengths, and radius modes."
category: "Charts/data viz"
tags: ["auth", "buttons", "cards", "charts", "dashboard", "forms", "loaders", "media", "navigation", "overlays", "retro", "tables"]
framework: "react"
license: "MIT"
author: "devkit-labs"
website: "https://www.brut-ui.site"
github: "https://github.com/devkit-labs/brut-ui"
registry: "https://www.brut-ui.site/r/registry.json"
pro: false
pro_url: null
github_stars: 8
component_count: 59
generated_at: "2026-09-05T09:50:59.044Z"
---

# @brut-ui

Production-minded neo-brutalist shadcn components with three configurable flavours, strengths, and radius modes.

## Links

- Website: https://www.brut-ui.site
- GitHub: https://github.com/devkit-labs/brut-ui
- Registry JSON: https://www.brut-ui.site/r/registry.json
- Directory page: https://sh4dcn.vercel.app/registry/brut-ui
- This file: https://sh4dcn.vercel.app/md/brut-ui.md

## Install

```sh
# add the whole registry (shadcn CLI)
npx shadcn@latest add https://www.brut-ui.site/r/registry.json
pnpm dlx shadcn@latest add https://www.brut-ui.site/r/registry.json
bunx shadcn@latest add https://www.brut-ui.site/r/registry.json
# clone the source repo
git clone https://github.com/devkit-labs/brut-ui.git
# fetch the raw registry index
curl -s https://www.brut-ui.site/r/registry.json
```

## Components (59)

| name | type | description | install |
| --- | --- | --- | --- |
| base | registry:base | Project-wide neo-brutalist tokens, flavours, strength levels, radii, focus states, and interaction utilities. | `npx shadcn@latest add https://www.brut-ui.site/r/base.json` |
| accordion | registry:ui | The BRUT/UI Accordion component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/accordion.json` |
| alert | registry:ui | A structured alert that never relies on color alone. | `npx shadcn@latest add https://www.brut-ui.site/r/alert.json` |
| alert-dialog | registry:ui | The BRUT/UI Alert Dialog component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/alert-dialog.json` |
| aspect-ratio | registry:ui | The BRUT/UI Aspect Ratio component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/aspect-ratio.json` |
| attachment | registry:ui | The BRUT/UI Attachment component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/attachment.json` |
| avatar | registry:ui | The BRUT/UI Avatar component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/avatar.json` |
| badge | registry:ui | A compact uppercase status marker. | `npx shadcn@latest add https://www.brut-ui.site/r/badge.json` |
| breadcrumb | registry:ui | The BRUT/UI Breadcrumb component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/breadcrumb.json` |
| bubble | registry:ui | The BRUT/UI Bubble component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/bubble.json` |
| button | registry:ui | A tactile neo-brutalist button with the standard shadcn API. | `npx shadcn@latest add https://www.brut-ui.site/r/button.json` |
| button-group | registry:ui | The BRUT/UI Button Group component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/button-group.json` |
| calendar | registry:ui | The BRUT/UI Calendar component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/calendar.json` |
| card | registry:ui | A weighted panel with stronger elevation than controls. | `npx shadcn@latest add https://www.brut-ui.site/r/card.json` |
| carousel | registry:ui | The BRUT/UI Carousel component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/carousel.json` |
| chart | registry:ui | The BRUT/UI Chart component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/chart.json` |
| checkbox | registry:ui | An accessible checkbox with clear checked and disabled states. | `npx shadcn@latest add https://www.brut-ui.site/r/checkbox.json` |
| collapsible | registry:ui | The BRUT/UI Collapsible component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/collapsible.json` |
| combobox | registry:ui | The BRUT/UI Combobox component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/combobox.json` |
| command | registry:ui | The BRUT/UI Command component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/command.json` |
| context-menu | registry:ui | The BRUT/UI Context Menu component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/context-menu.json` |
| dialog | registry:ui | A strongly elevated modal that preserves Base UI focus and keyboard behavior. | `npx shadcn@latest add https://www.brut-ui.site/r/dialog.json` |
| drawer | registry:ui | The BRUT/UI Drawer component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/drawer.json` |
| dropdown-menu | registry:ui | The BRUT/UI Dropdown Menu component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/dropdown-menu.json` |
| empty | registry:ui | The BRUT/UI Empty component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/empty.json` |
| field | registry:ui | The BRUT/UI Field component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/field.json` |
| hover-card | registry:ui | The BRUT/UI Hover Card component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/hover-card.json` |
| input | registry:ui | A high-contrast input with visible focus and invalid states. | `npx shadcn@latest add https://www.brut-ui.site/r/input.json` |
| input-group | registry:ui | The BRUT/UI Input Group component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/input-group.json` |
| input-otp | registry:ui | The BRUT/UI Input Otp component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/input-otp.json` |
| item | registry:ui | The BRUT/UI Item component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/item.json` |
| kbd | registry:ui | The BRUT/UI Kbd component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/kbd.json` |
| label | registry:ui | A bold accessible form label. | `npx shadcn@latest add https://www.brut-ui.site/r/label.json` |
| marker | registry:ui | The BRUT/UI Marker component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/marker.json` |
| menubar | registry:ui | The BRUT/UI Menubar component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/menubar.json` |
| native-select | registry:ui | The BRUT/UI Native Select component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/native-select.json` |
| navigation-menu | registry:ui | The BRUT/UI Navigation Menu component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/navigation-menu.json` |
| pagination | registry:ui | The BRUT/UI Pagination component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/pagination.json` |
| popover | registry:ui | A compact neo-brutalist overlay with Base UI positioning and focus behavior. | `npx shadcn@latest add https://www.brut-ui.site/r/popover.json` |
| progress | registry:ui | A compact, high-contrast progress indicator. | `npx shadcn@latest add https://www.brut-ui.site/r/progress.json` |
| questionnaire | registry:ui | The BRUT/UI Questionnaire component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/questionnaire.json` |
| radio-group | registry:ui | The BRUT/UI Radio Group component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/radio-group.json` |
| resizable | registry:ui | The BRUT/UI Resizable component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/resizable.json` |
| scroll-area | registry:ui | The BRUT/UI Scroll Area component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/scroll-area.json` |
| select | registry:ui | A tactile neo-brutalist select with accessible keyboard navigation. | `npx shadcn@latest add https://www.brut-ui.site/r/select.json` |
| separator | registry:ui | A structural separator keyed to the active strength level. | `npx shadcn@latest add https://www.brut-ui.site/r/separator.json` |
| sheet | registry:ui | The BRUT/UI Sheet component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/sheet.json` |
| sidebar | registry:ui | The BRUT/UI Sidebar component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/sidebar.json` |
| skeleton | registry:ui | The BRUT/UI Skeleton component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/skeleton.json` |
| slider | registry:ui | The BRUT/UI Slider component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/slider.json` |
| spinner | registry:ui | The BRUT/UI Spinner component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/spinner.json` |
| switch | registry:ui | A chunky binary control with unmistakable state. | `npx shadcn@latest add https://www.brut-ui.site/r/switch.json` |
| table | registry:ui | The BRUT/UI Table component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/table.json` |
| tabs | registry:ui | The BRUT/UI Tabs component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/tabs.json` |
| textarea | registry:ui | A grounded neo-brutalist multiline input. | `npx shadcn@latest add https://www.brut-ui.site/r/textarea.json` |
| toast | registry:ui | The BRUT/UI Toast component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/toast.json` |
| toggle | registry:ui | The BRUT/UI Toggle component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/toggle.json` |
| toggle-group | registry:ui | The BRUT/UI Toggle Group component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/toggle-group.json` |
| tooltip | registry:ui | The BRUT/UI Tooltip component with the current shadcn behavior and API. | `npx shadcn@latest add https://www.brut-ui.site/r/tooltip.json` |

## For AI agents

```text
You are adding components from @brut-ui to a shadcn-compatible project.
1. Read this file (https://sh4dcn.vercel.app/md/brut-ui.md) for the component list.
2. Fetch the machine-readable index: https://www.brut-ui.site/r/registry.json
3. Install a single component with its install command from the table above.
4. Full structured record: https://sh4dcn.vercel.app/json (library slug: brut-ui).
```
