Setting repository visibility

You can choose who can view your repository.

About repository visibility changes

Organization owners can restrict the ability to change repository visibility to organization owners only. For more information, see "Restricting repository visibility changes in your organization."

If you're a member of an enterprise with managed users, your repositories owned by your user account can only be private, and repositories in your enterprise's organizations can only be private or internal.

We recommend reviewing the following caveats before you change the visibility of a repository.

Making a repository private

  • GitHub will detach public forks of the public repository and put them into a new network. Public forks are not made private.
  • If you change a repository's visibility from internal to private, GitHub will remove forks that belong to any user without access to the newly private repository. The visibility of any forks will also change to private. For more information, see "What happens to forks when a repository is deleted or changes visibility?"
  • If you're using GitHub Free for user accounts or organizations, some features won't be available in the repository after you change the visibility to private. For more information, see "GitHub's products."
  • Any published GitHub Pages site will be automatically unpublished. If you added a custom domain to the GitHub Pages site, you should remove or update your DNS records before making the repository private, to avoid the risk of a domain takeover. For more information, see "Managing a custom domain for your GitHub Pages site."
  • GitHub will no longer include the repository in the GitHub Archive Program. For more information, see "About archiving content and data on GitHub."
  • GitHub Advanced Security features, such as code scanning, will stop working unless the repository is owned by an organization that is part of an enterprise with a license for Advanced Security and sufficient spare seats. For more information, see "About GitHub Advanced Security."

Making a repository internal

Note: Internal repositories are available on GitHub Enterprise Cloud for organizations that are owned by an enterprise account and GitHub Enterprise Server 2.20+. For more information, see "GitHub's products and "About enterprise accounts" in the GitHub Enterprise Cloud documentation.

Making a repository public

  • GitHub will detach private forks and turn them into a standalone private repository. For more information, see "What happens to forks when a repository is deleted or changes visibility?"
  • If you're converting your private repository to a public repository as part of a move toward creating an open source project, see the Open Source Guides for helpful tips and guidelines. You can also take a free course on managing an open source project with GitHub Learning Lab. Once your repository is public, you can also view your repository's community profile to see whether your project meets best practices for supporting contributors. For more information, see "Viewing your community profile."
  • The repository will automatically gain access to GitHub Advanced Security features.

For information about improving repository security, see "Securing your repository."

Changing a repository's visibility

  1. On GitHub.com, navigate to the main page of the repository.

  2. Under your repository name, click Settings. Repository settings button

  3. Under "Danger Zone", to the right of to "Change repository visibility", click Change visibility. Change visibility button

  4. Select a visibility.

    Dialog of options for repository visibility

  5. To verify that you're changing the correct repository's visibility, type the name of the repository you want to change the visibility of.

  6. Click I understand, change repository visibility.

    Confirm change of repository visibility button

Further reading

Did this doc help you?

Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

Or, learn how to contribute.