How to Make Your Own Blog for Absolutely Free
A no-BS guide to getting your words on the internet without spending a single rupee
So you want to start a blog.
Maybe you've been thinking about it for months. Maybe you have a thousand ideas bouncing around in your head. Maybe you're just tired of posting your hot takes on Instagram where they disappear after 24 hours like they never existed.
Whatever the reason — good news. You can have a real, actual blog on the internet today. For free. Without knowing how to code. Without paying for hosting. Without doing anything complicated.
Here's how.
You → Blog. Simple.
First, let's talk about your options
There are roughly a million ways to start a blog. Most of them either cost money, require technical skills, or both. But a few of them are genuinely, actually, no-strings-attached free. Here are the best ones:
- GitHub Pages — Free forever, your own URL, no ads. Requires very basic setup (we'll cover this).
- Substack — Super easy, built-in audience, free tier is generous. Great for newsletters too.
- Beehiiv — Similar to Substack, very polished, free plan available.
- Medium — Write and publish instantly. Free forever. Huge built-in audience.
- WordPress.com — The classic. Free subdomain like yourname.wordpress.com.
Each of these has trade-offs. Let me break them down honestly.
For this guide, I'm going to walk you through GitHub Pages — because it's the one that gives you the most control, costs absolutely nothing, and once it's set up, it's set up forever.
But if that sounds too techy, I'll also show you the 2-minute Substack option at the end.
You don't need to. I promise. You'll be copy-pasting a few things, but that's it. If you can write a WhatsApp message, you can do this.
Option 1: GitHub Pages (Free Forever, Your Own URL)
GitHub Pages gives you a free website at yourname.github.io. No ads. No expiry. No credit card. It's used by millions of developers worldwide and it's not going anywhere.
Here's how to set it up in about 15 minutes:
Create a GitHub account
Go to github.com and sign up. It's free. Use any email you want.
Create a special repository
Once logged in, click the + button → New repository. Name it exactly: yourusername.github.io (replace "yourusername" with your actual GitHub username). Set it to Public. Click Create.
syedkhush, the repo must be named syedkhush.github.io. Otherwise it won't work.
Create your first page
In the repository, click Add file → Create new file. Name it index.html. Paste this starter code:
<!DOCTYPE html>
<html>
<head>
<title>My Blog</title>
<style>
body { font-family: Georgia, serif; max-width: 680px;
margin: 60px auto; padding: 0 20px; font-size: 18px; }
h1 { font-size: 36px; }
</style>
</head>
<body>
<h1>Hello World</h1>
<p>My blog is live!</p>
</body>
</html>
Scroll down, click Commit changes.
Wait 2 minutes, then visit your site
GitHub takes about 2 minutes to deploy. Then go to https://yourusername.github.io and your blog is live. On the internet. Forever. For free.
How to write new blog posts
Every new post is just a new HTML file. Create a file called my-first-post.html, write your post inside it, commit it, and it's live at yourusername.github.io/my-first-post.html.
Here's a simple template for each post:
<!DOCTYPE html>
<html>
<head>
<title>My Post Title — My Blog</title>
<style>
body { font-family: Georgia, serif; max-width: 680px;
margin: 60px auto; padding: 0 20px; font-size: 18px;
line-height: 1.8; color: #1a1a1a; }
h1 { font-size: 32px; line-height: 1.2; }
.meta { color: #888; font-size: 14px; font-family: Arial; margin: 8px 0 30px; }
a { color: #1a5db5; }
</style>
</head>
<body>
<p><a href="index.html">← Back to home</a></p>
<h1>My Post Title</h1>
<p class="meta">May 23, 2026 · by Your Name</p>
<p>Write your post here. Just keep adding paragraphs.</p>
<p>Each paragraph is a <p> tag. That's literally all you need.</p>
</body>
</html>
You don't have to write HTML directly on GitHub. You can write your posts in any text editor (even Notepad), save as .html files, and drag-and-drop them into your GitHub repository. GitHub has a file upload button right in the browser.
Option 2: Substack (2 minutes, zero setup)
If GitHub feels like too much, Substack is the easiest blogging platform on the planet. You sign up, pick a name, and start writing. That's it.
Go to substack.com
Click "Start writing". Enter your email. Done. You have a blog.
Pick your publication name
This becomes your URL: yourname.substack.com. Choose wisely — you can change it later but it's annoying.
Write your first post
Click New Post. Write. Click Publish. Your post is live. Substack also lets people subscribe via email, so you can build a newsletter at the same time.
What should you write about?
This is the real question, isn't it.
Here's the honest answer: write about what you find yourself explaining to people over and over again. Write about what you wish someone had explained to you when you were figuring something out. Write about what makes you angry, what makes you laugh, what keeps you up at night.
The topic matters less than you think. The writing matters more.
So start writing. Put it on the internet. Tell one friend. See what happens.
That's it. That's the whole thing.
You → Laptop → Internet. The whole pipeline.
Quick recap
- GitHub Pages — Most control, free forever, URL:
yourname.github.io. Takes 15 min to set up. - Substack — Easiest setup, built-in newsletter, URL:
yourname.substack.com. Takes 2 min. - Medium — Huge audience, zero setup, but you don't own it.
- Write about what you know. Start before you're ready. Publish anyway.
Good luck. The internet is waiting.