Introduction
shadcn/ui is a set of beautifully-designed, accessible components and a code distribution platform. Works with your favorite frameworks and AI models. Open Source. Open Code.
I'm sure you're well aware of the problems of typical component libraries: you install a package from NuGet, configure your project, and then use the components in your app.
This approach works until you need to modify the source code of your system to fit the requirements of your app.
For example, you may need to expose the internal state of a component, or you need finer control over the styling.
Often, you end up wrapping library components, writing workarounds to override styles, or mixing components from different libraries with incompatible APIs.
ShadcnBlazor solves this by copying component source code directly into your project—you own the code. There's no black box: components live in your codebase, so you can read, modify, and extend them however you need. Components are built with Tailwind CSS v4 and semantic CSS variables for theming. They're accessible, customizable, and designed to fit naturally into Blazor apps without fighting the framework.
Installation
First, make sure you have the shadcnblazor CLI tool installed. If you don't have it yet, you can install it globally using the command provided below:
From New Project
new command to scaffold a Blazor project from a template. Specify --wasm for WebAssembly standalone or --server for Blazor Server with global interactivity.
-o or --out to specify an output directory. By default, the project is created in ./{proj}.
From Existing Project
component add. Setup (Shared folder, CSS/JS assets, TailwindMerge) runs automatically on first add.