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.

Both types of Pages are served over HTTP, not HTTPS. You shouldn't use them 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 Publishing branch
User Pages site master
Organization Pages site master
Project Pages site owned by a user account gh-pages
Project Pages site owned by an organization gh-pages

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:

  • The gh-pages branch is used to build and publish Project Pages sites.

  • If no custom domain is used, the Project Pages sites are served under a subpath of the User Pages site:

  • A custom domain on User and Organization Pages sites applies the same domain redirect to 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."