This guide will help you get started with RetroUI.
RetroUI is a trusted registry for shadcn/ui components. Start building unique, playful interfaces with retro-brutalist design in minutes!
Add components directly from the RetroUI registry using the shadcn CLI:
pnpm dlx shadcn@latest add @retroui/buttonThis will automatically add the RetroUI registry to your components.json:
Copy { "registries": { "@retroui": "https://retroui.dev/r/{name}.json" } }
RetroUI uses bold, playful typography and vibrant colors. You can customize the fonts and colors to match your brand. Here's how to set it up:
We use Archivo Black for headings and Space Grotesk for body text:
Copy import { Archivo_Black, Space_Grotesk } from "next/font/google"; const archivoBlack = Archivo_Black({ subsets: ["latin"], weight: "400", variable: "--font-head", display: "swap", }); const space = Space_Grotesk({ subsets: ["latin"], weight: "400", variable: "--font-sans", display: "swap", }); export default function RootLayout({ children, }: { children: React.ReactNode; }) { return ( <html lang="en"> <body className={`${archivoBlack.variable} ${space.variable}`}> {children} </body> </html> ); }
Add this RetroUI theme to your global.css:
Copy @theme { --font-head: var(--font-head); --font-sans: var(--font-sans); --radius: var(--radius); --shadow-xs: 1px 1px 0 0 var(--border); --shadow-sm: 2px 2px 0 0 var(--border); --shadow: 3px 3px 0 0 var(--border); --shadow-md: 4px 4px 0 0 var(--border); --shadow-lg: 6px 6px 0 0 var(--border); --shadow-xl: 10px 10px 0 1px var(--border); --shadow-2xl: 16px 16px 0 1px var(--border); --color-background: var(--background); --color-foreground: var(--foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-primary-hover: var(--primary-hover); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-destructive-foreground: var(--destructive-foreground); --color-border: var(--border); } :root { --radius: 0; --background: #fff; --foreground: #000; --card: #fff; --card-foreground: #000; --primary: #ffdb33; --primary-hover: #ffcc00; --primary-foreground: #000; --secondary: #000; --secondary-foreground: #fff; --muted: #aeaeae; --muted-foreground: #5a5a5a; --accent: #fae583; --accent-foreground: #000; --destructive: #e63946; --destructive-foreground: #fff; --border: #000; --input: #fff; }
Looking for more color schemes? Check out our other /themes for a collection of pre-made RetroUI themes.
To install any component from RetroUI, use the following command:
pnpm dlx shadcn@latest add @retroui/[component]Examples:
Copy pnpm dlx shadcn@latest add @retroui/card # or pnpm dlx shadcn@latest add @retroui/input # or pnpm dlx shadcn@latest add @retroui/dialog
Preview components from the RetroUI registry before installing:
pnpm dlx shadcn@latest view @retrouiSearch for specific components across the registry:
pnpm dlx shadcn@latest search @retrouiSee the complete list of available components:
pnpm dlx shadcn@latest list @retrouiWorking in a monorepo? Specify the path to your workspace with the -c or --cwd option:
pnpm dlx shadcn@latest init -c ./apps/webOr when adding components:
pnpm dlx shadcn@latest add @retroui/button -c ./apps/webJoin our Community or reach out via Twitter/X or Email.
→ Discord Community
→ Twitter/X
→ Email
Last Updated: 30 May, 2025