Skip to content

A modern auth and user management starter template, built for the Next.js App Router and powered by Clerk

Notifications You must be signed in to change notification settings

clerk/nextjs-auth-starter-template

Repository files navigation


Next.js Clerk auth starter template

Discord Twitter

Clerk Hero Image

Introduction

Clerk is a developer-first authentication and user management solution. It provides pre-built React components and hooks for sign-in, sign-up, user profile, and organization management. Clerk is designed to be easy to use and customize, and can be dropped into any React or Next.js application.

This template allows you to get started with Clerk and Next.js (App Router) in a matter of minutes, and demonstrates features of Clerk such as:

  • Fully functional auth flow with sign-in, sign-up, and a protected page
  • Customized Clerk components with Tailwind CSS
  • Hooks for accessing user data and authentication state
  • Organizations for multi-tenant applications

Demo

A hosted demo of this example is available at https://clerk-nextjs-app-router.vercel.app/

Deploy

Easily deploy the template to Vercel with the button below. You will need to set the required environment variables in the Vercel dashboard.

Deploy with Vercel

Running the template

git clone https://github.com/clerk/clerk-nextjs-demo-app-router

To run the example locally, you need to:

  1. Sign up for a Clerk account at https://clerk.com.
  2. Go to the Clerk dashboard and create an application.
  3. Set the required Clerk environment variables as shown in the example env file.
  4. Go to "Organization Settings" in your sidebar and enable Organizations
  5. npm install the required dependencies.
  6. npm run dev to launch the development server.

Learn more

To learn more about Clerk and Next.js, check out the following resources:

Found an issue or have feedback?

If you have found an issue with this repo or have feedback, please join our Discord and create a new thread inside of our support channel.

If it's a quick fix, such as a misspelled word or a broken link, feel free to skip creating a thread. Go ahead and create a pull request with the solution. 🚀

Connect with us

You can discuss ideas, ask questions, and meet others from the community in our Discord.

If you prefer, you can also find support through our Twitter, or you can email us!