Introduction

CupertinoUI is a set of shadcn/ui components that look and feel like macOS 27. Same names, same props, native-looking results.

What is CupertinoUI?

CupertinoUI is a shadcn/ui registry. Like shadcn/ui, it is not a package you install from npm: the CLI copies the source of each component into your project, where you own it and can change anything.

The components keep shadcn’s names and APIs, so a <Button variant="secondary"> or a <DropdownMenu> works exactly as you expect. What changes is the look: controls, menus, windows, sidebars and toolbars follow macOS 27, including its Liquid Glass toolbar capsules, pill-shaped switch knobs and rounded menu highlights.

How it was made

Every value lives in one CSS file, macos.css. Colors, text styles and control sizes are what macOS 27 reports through AppKit, and window chrome, materials and shadows were measured from screenshots of macOS 27 at one pixel per point: the desktop demo rebuilds a real desktop with these components and is compared with the original. Design Sources lists the source of every value.

Fonts
SF Pro can’t be redistributed, so the theme uses the system font stack. On a Mac or iPhone that resolves to SF Pro; elsewhere you get the closest system font.

What’s included

  • 77 components: controls such as buttons, pop-up buttons, switches and sliders; menus, alerts and popovers; and Mac-specific pieces like windows, toolbars, sidebars, grouped forms and list views.
  • Blocks: complete windows ready to drop into a page. Sign In, Preferences, Save, Reminders and Feedback are free. Finder, System Settings, Mail and Notes come with CupertinoUI Pro.
  • A theme with light and dark appearances and the macOS accent colors.

FAQ

Can I use CupertinoUI next to regular shadcn/ui components?

Yes. The theme maps shadcn’s tokens (--primary, --border, --radius and so on) to macOS values, so stock shadcn components blend in. The sidebar is called MacSidebar so it doesn’t collide with shadcn’s Sidebar.

Does it work outside Next.js?

The components are plain React with Tailwind CSS v4 and Base UI. Any framework the shadcn CLI supports works; adjust the path of macos.css to your project.

Is this affiliated with Apple?

No. CupertinoUI is an independent project styled after Apple’s public design resources.

Ready? Start with Installation.