Projects

Last updated:

|Edit this page

A project is a silo of data within PostHog. All data belongs to a single project and all queries are project-specific.

Every project has its own distinct write-only token, which you can use to initialize your integration of choice, as well as to connect to our API. You can always regenerate this token, but keep in mind that the old one will be immediately revoked.

Every new organization (including the one created for you on account creation) comes with a fresh project named "Default Project". You can rename or delete it as you see fit.

To switch between projects, navigate to project settings, or create new projects, use the project switcher in the middle of the top bar. You can also quickly go to the current project's settings from the sidebar.

How to organize projects

For most companies, we recommend creating three projects:

  1. Local Development - when you're running the app on your own device
  2. Staging - when you're running your app on a staging server
  3. Production - for all your production data (e.g. your live website/app)

We are working on a new feature called 'Environments' that will make this easier. It's currently in alpha and only available to PostHog Cloud users. If you'd like to try it out, you can opt in to the early access program. See "Feature previews" in the PostHog settings for more.

This way you can test out analytics in development and staging environments, while keeping that test data separate from production.

We also strongly recommend keeping your apps and marketing website on the same production project. This way you can track the user journey holistically (e.g. how many blog readers convert to paid product users) and see all the relevant events for a person in one place.

It's best to use separate projects for:

  • Apps that are entirely separate products with unlinked authentication systems
  • Admin apps that aren't customer-facing products
  • Internal websites and services

Moving projects between organizations

You can move a project from one organization to another through project settings. However, there are a few requirements to keep in mind:

  • You need to be an owner or admin of the originating organization to transfer a project
  • You need to be a member of the target organization
  • The originating organization must have at least two projects before you can move one
  • Since free organizations are limited to one project, you may need to temporarily upgrade your plan and add billing details to create a second project
  • After the move is complete, you can downgrade the original organization back to the free plan if desired

Moving a project will mean all original organization members will lose access (including via things like API keys) unless they also are part of the target organization.

Questions? Ask Max AI.

It's easier than reading through 620 docs articles.

Community questions

Was this page useful?

Next article

Hog

We want you to have the power to transform and export your data in real time, without the headache of maintaining your own service to get it done. Enter Hog: the language that drives our realtime destinations . We’ve written Hog destination templates for dozens of services. But you can also write destinations yourself. Here’s how it works. Note: Hog shouldn't be confused with HogQL, the former name of our SQL-like query language used inside PostHog. If you're looking to query data in PostHog…

Read next article