Tools

Free GitHub Pages Tools

Tools for custom domains, static publishing, launch checks, and GitHub Pages website maintenance.

Available tools

GitHub Pages Tools you can use now

Github Pages

COOP/COEP/CORP Header Builder

Build Cross-Origin isolation headers for SharedArrayBuffer, WebAssembly threads, and cross-origin security. Choose from presets with debugging checklists.

Open tool

Github Pages

CORS Header Generator

Generate CORS HTTP headers for any origin, method, and credential configuration. Output in raw HTTP, Nginx, Apache, Express, or Cloudflare Workers format.

Open tool

Github Pages

HTTP Header Parser & Explainer

Paste raw HTTP response headers and get a grouped, plain-English explanation of each header. Includes security advisories for missing security headers.

Open tool

Github Pages

Redirect Map Converter

Convert a CSV redirect map to Netlify _redirects, netlify.toml, Vercel vercel.json, Apache .htaccess, or Nginx config. Validate duplicates and redirect chains.

Open tool

Github Pages

security.txt Generator & Validator

Generate and validate security.txt files per RFC 9116. Specify your contact, expiration, and optional fields, then get hosting guidance for GitHub Pages, Netlify, and Vercel.

Open tool

Github Pages

VAPID Key Generator

Generate a VAPID key pair for Web Push notifications using the browser's Web Crypto API. Output ready-to-use keys for Node web-push, Firebase, and environment variables.

Open tool

Github Pages

Zstandard Compression Header Helper

Generate server configuration for Zstandard (zstd) compression with Content-Encoding headers, Accept-Encoding negotiation, and fallback chains for Nginx, Apache, Cloudflare, and Netlify.

Open tool

What this collection helps with

GitHub Pages is simple once it is set up, but its domain and publishing rules are unforgiving. A CNAME file in the wrong folder, an outdated custom domain setting, or a missing build artifact can turn a correct website into a 404. These helpers focus on the checks that matter before and after deployment.

Best for

  • Preparing custom domains for GitHub Pages.
  • Checking static output before pushing a release.
  • Keeping CNAME, sitemap, robots.txt, and generated files in the published folder.

Common use cases

  • Create valid CNAME file content for a custom domain.
  • Separate DNS notes from GitHub Pages repository settings.
  • Review launch details before enabling HTTPS and sharing the URL.

Task guide

Use GitHub Pages tools when you set up a new site, move an existing site to a custom domain, or troubleshoot a deployment that is not serving correctly. Start by confirming your site repository settings: the publishing source branch and folder. Use the CNAME helper to prepare a custom domain file and verify your DNS configuration before enabling HTTPS. Add a 404 HTML page for single-page applications that handle client-side routing. Finish with the SEO checklist to verify that your generated output includes essential files like robots.txt, sitemap.xml, and proper metadata.

Publishing checklist

  • Confirm the CNAME file exists in the root of your published output, not your project source root, and matches your custom domain exactly.
  • Verify that the GitHub Pages publishing source setting points to the correct branch and folder, such as main /root or gh-pages /docs.
  • Check DNS records for your custom domain: a CNAME record for www and either ALIAS or A records for the apex domain.
  • Test the site URL after HTTPS is provisioned, as GitHub Pages can take several minutes to issue a certificate.
  • Enable HTTPS enforcement only after confirming the site loads correctly over both HTTP and HTTPS.

FAQ

Questions about github pages tools

Why does my CNAME disappear after every deploy?

The CNAME file must be part of your published output. If your build tool generates a dist folder and GitHub Pages serves from that folder, the CNAME file must be created or copied into dist during the build. A CNAME file outside the published folder is ignored and disappears on re-deploy.

Should I use A records or CNAME records for my apex domain?

For the apex domain such as example.com, GitHub Pages recommends ALIAS or ANAME records because apex domains cannot use standard CNAME records per DNS standards. The alternative is to redirect the apex to a www subdomain and use a CNAME record on the www subdomain.

Why does GitHub Pages show a 404 after a successful push?

Common causes include publishing from the wrong branch or folder, a missing index.html in the published root, delayed Pages deployment queue time, or a custom domain that does not resolve to the correct GitHub Pages IP address.

Can I use GitHub Pages with a private repository?

Yes, but the published site is public even if the repository is private. GitHub Pages serves site content publicly regardless of repository visibility.

Do I need a separate CNAME for every subdomain?

If you host multiple sites from separate repositories under subdomains of the same apex domain, each repository needs its own CNAME file with the matching subdomain. One CNAME file cannot cover multiple subdomains.