There are two basic types of GitHub Pages: User/Organization Pages and Project Pages. They are nearly identical, but there are a few important differences between them.

GitHub Pages created after June 15, 2016 and using domains are served over HTTPS. For more information, see "Securing your GitHub Pages site with HTTPS."

Tip: GitHub Pages sites shouldn't be used for sensitive transactions like sending passwords or credit card numbers.

Note that Pages are always publicly accessible when published, even if their repository is private.

Type of GitHub Pages site Pages default domain & host location on GitHub Location of the source files for building your Pages site
User Pages site master
Organization Pages site master
Project Pages site owned by a user account master, gh-pages, or a /docs folder on master
Project Pages site owned by an organization master, gh-pages, or a /docs folder on master

To learn how custom domains for GitHub Pages sites redirect, see this custom domain redirects chart.

User & Organization Pages

User & Organization Pages live in a special repository dedicated to GitHub Pages files. You will need to name this repository with the account name.

  • You must use the naming scheme.
  • Content from the master branch will be used to build and publish your GitHub Pages site.

You can only use your own account name for a User or Organization Page repository. A repository like joe/ will not build a User Pages site.

When User Pages are built, they are available at http(s)://<username>

Building your User & Organization Pages

User Pages can be built by any user account with a verified email address. They can also use deploy keys to automate the process.

Organization Pages can be built by any member with push access to the repository and a verified email address. To automate builds, you can set up a machine user as a member of your organization. Deploy keys aren't supported for Organization Pages.

Project Pages

Unlike User and Organization Pages, Project Pages are kept in the same repository as their project. Both personal accounts and organizations can create Project Pages. The URL for a personal account's Project Page will be 'http(s)://<username><projectname>' , while an organization's URL will be 'http(s)://<orgname><projectname>' . The steps for creating Project Pages are the same for both.

Project Pages are similar to User and Organization Pages, with a few slight differences:

  • You can build and publish Project Pages sites from the master or gh-pages branch. You can also publish your site from a /docs folder on your master branch. For more information, see "Configuring a publishing source for GitHub Pages."

  • If you are not using a custom domain, the Project Pages sites are served under a subpath of the User Pages site:

  • If you are using a custom domain on User and Organization Pages sites, the custom domain will replace in the URL for all Project Pages sites hosted under that account. Project Pages sites that use a custom domain are also available at for personal accounts, and for organizations.
  • Custom 404s will only work if a custom domain is used. Otherwise, the User Page 404 is used.

Warning: If the URL for your Pages site contains a username or organization name that begins or ends in a dash, or contains consecutive dashes, then people browsing with Linux will receive a server error when they visit the site. To fix this, change your GitHub username to remove non-alphanumeric characters. For instructions on how to do this, see "Changing your GitHub username."