shadimage
Clerk Shadcn UI
blocknextjs-quickstartsource: ok · hit

Clerk Next.js Quickstart (App Router)

A quickstart for Next.js App Router with Clerk authentication.

npx shadcn add "https://clerk.com/r/nextjs-quickstart.json"
free

No selection tags yet — empty means no evidence, not lack of support.

Dependencies

Bundle weight · light
@clerk/nextjs@clerk/uinext-themes

Registry dependencies

button@clerk/nextjs-clerk-provider@clerk/nextjs-middleware@clerk/nextjs-theme-provider@clerk/nextjs-header@clerk/nextjs-layout-with-header

Files3 · source cached 10/15/2026, 8:08:39 AM

nextjs/common/layout-with-header/layout-with-header.tsx
import { ClerkProvider } from '@/components/clerk-provider';
import { Header } from '@/components/header';
import { ThemeProvider } from '@/components/theme-provider';
import type { Metadata } from 'next';
import { Geist, Geist_Mono } from 'next/font/google';
import { cn } from '@/lib/utils';
import './globals.css';

const geist = Geist({
  variable: '--font-sans',
  subsets: ['latin'],
});

const geistMono = Geist_Mono({
  variable: '--font-mono',
  subsets: ['latin'],
});

export const metadata: Metadata = {
  title: 'Clerk Next.js Quickstart',
  description: 'Generated by create next app',
};

export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {
  return (
    <html
      lang='en'
      className={cn('h-full', geist.variable, geistMono.variable)}
      suppressHydrationWarning
    >
      <body className='flex min-h-full flex-col antialiased'>
        <ClerkProvider>
          <ThemeProvider
            attribute='class'
            defaultTheme='system'
            enableSystem
            disableTransitionOnChange
          >
            <Header />
            {children}
          </ThemeProvider>
        </ClerkProvider>
      </body>
    </html>
  );
}
nextjs/aio/sign-in-page/page.tsx
import { SignIn } from '@clerk/nextjs';

export default function SignInPage() {
  return (
    <div className='bg-muted flex w-full flex-1 items-center justify-center p-6 md:p-10'>
      <SignIn />
    </div>
  );
}
nextjs/aio/sign-up-page/page.tsx
import { SignUp } from '@clerk/nextjs';
import { ChartLine, Clock, ShieldCheck, Sparkles } from 'lucide-react';

export default function SignUpPage() {
  return (
    <div className='bg-muted grid flex-1 lg:grid-cols-2'>
      <div className='hidden flex-1 items-center justify-end p-6 md:p-10 lg:flex'>
        <ul className='max-w-sm space-y-8'>
          <li>
            <div className='flex items-center gap-2'>
              <Clock className='size-4' />
              <p className='font-semibold'>Save on development time</p>
            </div>
            <p className='text-muted-foreground mt-2 text-sm'>
              Add authentication and user management to your app with just a few lines of code.
            </p>
          </li>
          <li>
            <div className='flex items-center gap-2'>
              <ChartLine className='size-4' />
              <p className='font-semibold'>Increase engagement</p>
            </div>
            <p className='text-muted-foreground mt-2 text-sm'>
              Add intuitive UIs designed to decrease friction for your users.
            </p>
          </li>
          <li>
            <div className='flex items-center gap-2'>
              <ShieldCheck className='size-4' />
              <p className='font-semibold'>Protect your users</p>
            </div>
            <p className='text-muted-foreground mt-2 text-sm'>
              Enable features like two-step verification and enjoy automatic security updates.
            </p>
          </li>
          <li>
            <div className='flex items-center gap-2'>
              <Sparkles className='size-4' />
              <p className='font-semibold'>Match your brand</p>
            </div>
            <p className='text-muted-foreground mt-2 text-sm'>
              Theme our pre-built components, or integrate with our easy-to-use APIs.
            </p>
          </li>
        </ul>
      </div>
      <div className='flex flex-1 items-center justify-center p-6 md:p-10 lg:justify-start'>
        <SignUp />
      </div>
    </div>
  );
}

More from Clerk Shadcn UI

Browse all components in this library →