How to get a free domain name

SatindarSatindar
3 min read

Many people want to host their projects or portfolio’s but don’t want to pay for a domain name. This guide will show you how you can get a domain name for free.

Use free subdomain providers like .is-a.dev

Providers like .is-a.dev are unique in a way that they are recognized as TLDs(Top Level Domain) as they are listed on the PSL(Public Suffix List). This means that other websites will not treat them as a subdomain but rather as a normal domain. Here are they steps to obtain an is-a.dev domain.

Step 1: Get a GitHub account

is-a.dev processes domain requests through GitHub, so you will need a GitHub account to get a domain. You can follow this guide.

Step 2: Submit a PR to the is-a.dev GitHub Repo

  1. Open the is-a.dev GitHub Repo

  2. Click on Fork

  3. Click on Create fork

  4. Click on Create new file

  5. Name the file as domains/[yoursubdomain].json. For example, if I want my website to be https://satindar31.is-a.dev I will name my file domains/satindar31.json

  6. Paste this as a base to design the file.

     {
       "description": "Give a short description of your website (optional)",
       "repo": "Link to your website's repository (optional)",
       "owner": {
         "username": "your GitHub username. Example Satindar31 (required)",
         "email": "your email. Example satindar@satindar-is.me"
       },
       "record": {
         "available record types are CNAME A AAAA URL MX TXT": "record value"
       }
     }
    
  7. Fill in the details.

  8. Your hosting provider will give you what you need to put in the record field.

    Record values for some providers:

    1. GitHub pages

         "record": {
           "CNAME": "your github pages website without https://. Example satindar31.github.io"
         }
      
    2. Hashnode (after configuration on the Hashnode website)

         "record": {
           "CNAME": "hashnode.network"
         }
      
    3. Netlify (after configuration on the Netlify website)

           "record": {
               "A": [
                   "75.2.60.5"
               ]
           }
      

      Verify the IP is the same on the Netlify website too. If not, then replace the IP from the one shown to you by Netlify.

      💡
      is-a.dev does not support Vercel for now.
  9. Click on Commit changes…

  10. Click Commit changes

  11. Click on Contribute and then on Open Pull Request

  12. Give your Pull request a title like Create file for yourdomain.is-a.dev

  13. Check these boxed by putting a x between the square brackets

  14. Put a screenshot of your website at the end.

  15. Click on Create pull request

  16. Now wait for a maintainer to review and accept your pull request or to request changes from you.

  17. After your pull request has been accepted your website will be available from your new is-a.dev domain in a few hours.

  18. You now have a subdomain that is recognized as a normal domain name everywhere.


Summary

In this guide, you learnt how to obtain a free subdomain from providers like .is-a.dev, which are recognized as normal domain names. The process involves creating a GitHub account, submitting a Pull Request (PR) to the is-a.dev GitHub repository with a JSON file containing your domain configuration, and waiting for approval. Follow the detailed steps for configuring records with different hosting providers like GitHub Pages, Hashnode, or Netlify, and get your website running on a new is-a.dev domain within a few hours.

2
Subscribe to my newsletter

Read articles from Satindar directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Satindar
Satindar