Build a multi-theme switcher for shadcn/ui
Pick several shadcn/ui themes and install them all at once, with a ready-made theme picker, a hook and a no-flash script, using a single shadcn CLI command.
How it works
- 1
Choose the themes your users can pick from. The first one becomes the default.
- 2
Preview switching between them live, in light and dark mode.
- 3
Download one registry file and run npx shadcn add on it: every theme is scoped to a data-theme attribute in globals.css, and a picker, hook and no-flash script are added to your project.
FAQ
Does it work with dark mode?
Yes. Each theme ships light and dark values, and the dark class from next-themes combines with the data-theme attribute.
Can I theme just part of a page?
Yes. Put data-theme on any element and everything inside it uses that theme. That's handy for previews or multi-tenant branding.
How do I add more themes later?
Rebuild the file with the extra themes and run the command again, or copy another theme's variables into a new [data-theme] block.