tutorials / html / hosting


tutorial html basic

So far we’ve been running everything locally, which means that only we can see our files. We can’t share a link to our website, because our website only exists on our computer.

To be able to share a link to our files, we need to host them somewhere.

One common thing people want is a custom domain name: YourNameHere.com for example. This is easier than you might expect: you just have to register the domain you want at a domain name registrar (a website that keeps track of who owns what domain name). This usually takes about 10 minutes and costs about 10 dollars per year.

This page covers a few examples of registrars we can use and places we can host our files.


Namecheap is a domain registrar with a reputation for supporting internet freedom and neutrality. You can go here to search for an unclaimed domain name, and then step through the checkout process to claim it.

Namecheap also offers hosting, so you can also use it to host your files. This will cost an extra 10 dollars per year or so, depending on which plan you pick from this page. This will give you a webpage where you can upload files, and then the domain you picked out will point to those files.

If you’re looking for the simple solution, this is the way to go.

Github Pages

GitHub Pages is a webhost that turns a GitHub repository into a webpage. This is an awesome way to organize your files, especially if you want them to be open source. But it can be a little bit overkill if you just want to host a simple webpage. On the other hand, it’s free!

GitHub Pages is not a domain registrar, so by default you’ll have a URL that looks like this: YourNameHere.github.io/YourWebsiteNameHere. However, you can register your domain at a registrar like Namecheap and then point it at your GitHub Pages site by following these directions.

You can use GitHub Pages to host regular files, or you can use Jekyll to turn markdown into HTML. (If you have no idea what I’m talking about, that’s okay, you can ignore this part!)

If you don’t mind (or even prefer) your webpage being open source, then this is the way to go. It’s actually what I use! For HappyCoding.io, I used Namecheap as a registrar to get my domain name, and I use GitHub Pages to host my files, and Jekyll to turn markdown files into HTML.


Amazon offers a ton of services, which people call the Amazon cloud. You can use a few of these services to register a domain name and host your files.

Amazon Route 53 is another domain registrar. It’s a little more expensive and more complicated than Namecheap (imho), but it might make sense to use this if you’re also planning on using other Amazon services. You can follow the directions here to register a domain using Amazon Route 53.

Amazon S3 is a webhost that allows you to store files, including .html files that can be used as webpages. This page has a guide on setting up hosting using Amazon S3 (see the Example Walkthroughs at the bottom.)

Here is a quick start guide that walks you through creating a webpage using Amazon Route 53 and Amazon S3.

You can get a free trial for all of the above, but after that the cost depends on how much traffic your website gets. Unless you suddenly go viral, in my experience the cost is less than ten dollars per month.

If you’re planning on diving into more advanced things like database and server programming, then Amazon might be for you.

Other Options

There are a ton of other options. Try Googling “domain registrar” or “web hosting” for a ton of results.

You might also consider simpler options. For example, if your end goal is creating a blog, you might just use Tumblr or Medium instead of creating your own website. If your end goal is creating a photography website, you might just use Flickr or SmugMug. If you want to create a portfolio of your games and apps, then check out Game Jolt and itch.io. Don’t reinvent the wheel if you don’t have to!

But if your goal is to host your own files, then one of the above options should work!