Creating a GitHub Pages site
You can create a GitHub Pages site in a new or existing repository.
GitHub Pages is available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see "GitHub's products."
In this article
Creating a repository for your site
If your site is an independent project, you can create a new repository to store your site's source code. If your site is associated with an existing project, you can add the source code for your site to a
gh-pages branch or a
docs folder on the
master branch in that project's repository. For example, if you're creating a site to publish documentation for a project that's already on GitHub, you may want to store the source code for the site in the same repository as the project.
If you want to create a site in an existing repository, skip to the "Creating your site" section.
Warning: GitHub Pages sites are publicly available on the internet, even if their repositories are private. If you have sensitive data in your site's repository, you may want to remove it before publishing.
In the upper-right corner of any page, use the drop-down menu, and select New repository.
Use the Owner drop-down menu, and select the account you want to own the repository.
Type a name for your repository and an optional description. If you're creating a user or organization site, your repository must be named
<organization>.github.io. For more information, see "About GitHub Pages."
Choose to make the repository either public or private. Public repositories are visible to the public, while private repositories are only accessible to you, and people you share them with. For more information, see "Setting repository visibility."
Select Initialize this repository with a README.
Click Create repository.
Creating your site
Before you can create your site, you must have a repository for your site on GitHub. If you're not creating your site in an existing repository, see "Creating a repository for your site."
On GitHub, navigate to your site's repository.
If you're creating a project site, decide which publishing source you want to use. If you're creating a user or organization site, you must store your site's source code on the
masterbranch. For more information, see "About GitHub Pages."
If your chosen publishing source already exists, navigate to the publishing source. If your chosen publishing source doesn't exist, create the publishing source.
In the root of the publishing source, create a new file called
index.mdthat contains the content you want to display on the main page of your site.
If you're using a non-default publishing source for a project site, configure your publishing source. For more information, see "Configuring a publishing source for your GitHub Pages site."
Under your repository name, click Settings.
To see your published site, under "GitHub Pages", click your site's URL.
Note: It can take up to 20 minutes for changes to your site to publish after you push the changes to GitHub. If your don't see your changes reflected in your browser after an hour, see "About Jekyll build errors for GitHub Pages sites."
Note: If your site's source files are located in the default publishing source—
master for user and organization sites or
gh-pages for project sites—but your site has not published automatically, make sure someone with admin permissions and a verified email address has pushed to the default publishing source.
You can add more pages to your site by creating more new files. Each file will be available on your site in the same directory structure as your publishing source. For example, if the publishing source for your project site is the
gh-pages branch, and you create a new file called
/about/contact-us.md on the
gh-pages branch, the file will be available at
You can also add a theme to customize your site’s look and feel. For more information, see "Adding a theme to your GitHub Pages site with the theme chooser."
To customize your site even more, you can use Jekyll, a static site generator with built-in support for GitHub Pages. For more information, see "About GitHub Pages and Jekyll."