/clerk-nextjs-app-quickstart

The official companion repo for Clerk's Next.js Quickstart using the app router

Primary LanguageTypeScript

Clerk Logo for light background

Clerk and Next.js App Router Quickstart

Downloads 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.

After following the quickstart you'll have learned how to:

  • Install @clerk/nextjs
  • Setup your environment keys
  • Wrap your Next.js app in <ClerkProvider />
  • Limit access to authenticated users using Next.js middleware
  • Embed the <UserButton />

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/clerkinc/clerk-nextjs-app-quickstart

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. npm install the required dependencies.

  5. 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?

If you have found an issue with the quickstart, please create an issue.

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

Want to leave feedback?

Feel free to create an issue with the feedback label. Our team will take a look at it and get back to you as soon as we can!

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!