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:

  1. 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.
  2. 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.
  3. Add a CNAME file. Put a file named CNAME in your repo — in the gh-pages branch for project pages — containing a single line with your chosen domain, e.g. foo.js.org with no quotes. GitHub's "Custom URLs" help section covers problems here.
  4. 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 CNAME file belongs in gh-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.

js.org
Dedicated to JavaScript and its awesome community since 2015