What is JS.ORG?
JS.ORG is a service that gives JavaScript projects a free *.js.org subdomain, typically pointed at a site hosted on GitHub Pages. It has been run for the JavaScript community since 2015. You qualify if your page has "reasonable content with a clear connection to JavaScript" — a personal portfolio or an unrelated project won't pass. The subdomain is free, but you keep full responsibility for the content you publish.
What you actually get
A short, recognizable URL instead of the default GitHub Pages address. For a repo served at http://foo.github.io/bar, you can claim either foo.js.org or bar.js.org, since the subdomain can match your GitHub username or your repository name.
The trade-off is that JS.ORG only supplies the name and the DNS routing. Hosting, content, and legal responsibility stay with you as the repository owner.
How to get a subdomain
The process is four steps, all built around an existing GitHub Pages site:
- Set up your GitHub Page. Log in to GitHub and publish a page following GitHub's instructions, with real JavaScript-related content already in place.
- Pick your subdomain. Choose either your username or your repo name, based on your existing GitHub Pages URL. The JS.ORG wiki covers the naming details.
- Add a
CNAMEfile. Put a file namedCNAMEin your repo — in thegh-pagesbranch for project pages — containing a single line with your chosen domain, e.g.foo.js.orgwith no quotes. GitHub's "Custom URLs" help section covers problems here. - Open a pull request. Submit a PR to the JS.ORG GitHub repository adding your subdomain to the list of existing domains.
Your new URL should go live within 24 hours. Watch your pull request during that window — JS.ORG may flag a naming conflict or ask you a question before merging.
Things that commonly go wrong
- No content yet. Applying before your page has substantive JavaScript-related content is the most likely reason to be turned down.
- Wrong branch. For project pages, the
CNAMEfile belongs ingh-pages, not the default branch. - Formatting in
CNAME. A stray quote, extra line, or trailing path will break the custom domain mapping. - Name collisions. If someone already holds the subdomain you want, expect a back-and-forth on the pull request.
Who should use it
JS.ORG fits JavaScript developers who already have a GitHub Pages site and want a cleaner, more memorable address for it — a library docs page, a project demo, or a personal JS-focused site. It's a poor fit if your content isn't clearly about JavaScript, if you need custom hosting outside GitHub Pages, or if you want a provider to handle content liability for you.