1
Sponsor

Registry

Learn how to use the emailcn registry with the shadcn CLI.

The emailcn registry ships components, blocks, themes, and font helpers in the shadcn registry format, in three styles: react-email, mjml-react, and jsx-email. Every item has the same name in every style — the style you configure decides which implementation you get.

Setup

Add a registries entry for this site, pointing at the style you want. See the shadcn registry documentation for all components.json fields and behaviors.

{
  "registries": {
    "@emailcn": "https://emailcn.vercel.app/r/react-email/{name}.json"
  }
}

Swap react-email for mjml-react or jsx-email to use those styles:

{
  "registries": {
    "@emailcn": "https://emailcn.vercel.app/r/jsx-email/{name}.json"
  }
}

You can replace @emailcn with another namespace; it only needs to match what you pass to shadcn add.

Usage

Item names are identical across styles, with no prefix:

$ pnpm dlx shadcn@latest add @emailcn/buttons

Themes are theme-<id>:

$ pnpm dlx shadcn@latest add @emailcn/theme-stripe

Blocks are block-<id>:

$ pnpm dlx shadcn@latest add @emailcn/block-onboarding-default

Fonts (React Email and JSX Email styles) — e.g. default-fonts, tech-fonts:

$ pnpm dlx shadcn@latest add @emailcn/default-fonts

Without a registry alias, use the full per-style URL:

$ pnpm dlx shadcn@latest add https://emailcn.vercel.app/r/react-email/buttons.json

Each style also serves its full index at https://emailcn.vercel.app/r/<style>/registry.json.