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||
|Organization Pages site||
|Project Pages site owned by a user account||
|Project Pages site owned by an organization||
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
- Content from the
masterbranch 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/bob.github.io will not build a User Pages site.
When User Pages are built, they are available at
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.
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
, while an organization's URL will be
. 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:
gh-pagesbranch 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
username.github.io/projectnamefor personal accounts, and
- 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."