Step by step guide to publish index.html on GitHub Pages for free
Want to toss a single HTML file onto the internet and call it a day This is the crash course that spares you the tears. GitHub Pages will host static sites for free and the process is annoyingly easy if you follow the steps and do not panic.
Make a repository
Sign in to GitHub and create a new repository. Give it a sensible name so your future self does not curse your past self. Public repositories work for free hosting. Private repositories might need a paid plan to publish, so check the fine print before you get attached.
Add an index.html file
Create a simple index.html at the repository root or on the branch you plan to publish from. From your project folder the common commands are
git init
git add .
git commit -m "Initial commit"
git branch -M main
# create the repo on GitHub then push with git push -u origin main
Keep your HTML minimal to start. If it loads locally it will usually load on Pages as well.
Choose a publishing branch
GitHub Pages can serve from the main branch root or from a gh-pages branch for project sites. Pick the workflow that fits your project. Keep the site files on that branch to avoid the classic 404 surprise party.
Enable Pages in settings
Open your repository Settings and locate the Pages section. Select the branch you want to publish from and save. GitHub will build and publish your site after a short wait. No wizardry required just a click and patience.
Visit your published site
Wait a minute for DNS and cache updates then visit the URL. For user and organization sites the pattern is
username.github.io
For project sites use
username.github.io/REPO
If the page is not live check that index.html exists on the publishing branch and that the repository visibility matches your plan.
Extras that make you look professional
- Add a 404.html so visitors see something nicer than a sad default page
- Include a small robots.txt to control crawler behavior
- Add a CNAME file if you plan to use a custom domain
Troubleshooting and quick tips
If GitHub shows a build error check the Pages section or the Actions tab for messages. If DNS seems wrong clear caches and wait a bit. For tiny edits the web editor is fine, for real work push from your machine like a civilized human.
That is the essentials wrapped in mild sarcasm. Follow these steps and your static HTML site should be live without selling a kidney for hosting. Welcome to simple web publishing with slightly less drama.