Technically
AI Reference
Your dictionary for AI terms like LLM and RLHF
Company Breakdowns
What technical products actually do and why the companies that make them are valuable
Learning Tracks
In-depth, networked guides to learning specific concepts
Posts Archive
All Technically posts on software concepts since the dawn of time
Terms Universe
The dictionary of software terms you've always wanted

Explore learning tracks

AI, it's not that ComplicatedAnalyzing Software CompaniesBuilding Software ProductsWorking with Data Teams
Loading...
I'm feeling luckyPricing
Log In

What's HTML?

A great way to prank your friends (and build websites)

Last updated Mar 23, 2026web-apps
Justin Gage
Justin Gage
Read within learning track:Building Software Products

You’ve probably heard of HTML, the programming language that’s responsible for all of those tabs you have open in your browser. HTML is the structure of every webpage; it’s like the floorplan for an apartment or the outline for a blog post. But did you know that it can also give you the power to see into the future?

Loading image...

No, unfortunately not really. So how did I do this? In this post I’ll walk you through what HTML is, how it works and what it looks like, and most importantly, how you, too, can get the WSJ homepage to say whatever you want (no design tools required).

The TL;DR#

HTML is a programming language that developers use to build web pages.

  • Every webpage is made up of 3 elements: HTML, CSS, and JavaScript
  • HTML is the structure of the page: the text, the shapes, the ordering
  • HTML is written in almost-human-readable elements called tags, of which there are many
  • You can easily edit HTML directly in your browser. Which can be funny

Let’s get started with the basics.

Terms Mentioned

HTML

HTTP

JavaScript

Server

IP address

CSS

Render

The basics of web pages: HTML, CSS, and JavaScript#

Every URL that you load in your browser is made up of 3 things: HTML, CSS, and JavaScript.

HTML is all about order, shapes, and text – the structural elements of the webpage. HTML can’t pick what color your button is (you need CSS for this), or tell it to slowly fade out when someone hovers over it (you need CSS or JS for this). It’s like the architectural blueprint for the web page. It’s the starting point: you figure out how you want your page to be structured, then you worry about how it looks and how users interact with it.

Loading image...

The way I like to think about the relationship between HTML, CSS, and JavaScript is sort of like building a house, for those fabricators among us.

  • The HTML is the structural elements of the house. The foundation, the floors, the walls. All the stuff that gets built first.
  • The CSS is the aesthetic elements of the house. The paint on the wall, the moldings, the type of siding and roof shingles. All the stuff that goes on top of the structural elements.
  • The JavaScript is the interactive elements of the house. The doors that open, the plumbing, the electrical, the window shades that go up and down. All the stuff that you use.

Let’s take a look at some HTML in practice, which should make everything a little more concrete (😏).

HTML 101#

Imagine the most basic possible web page:

Loading image...

Not much imagination required. Here’s the HTML that builds this thing:

<html>
<title>A basic webpage</title>
<h1>This is a webpage.</h1>
<p>Not much more to say about it</p>
</html>

This stuff is, in some sense, very human readable. You can see that there’s a title (this is what shows up in your browser tab). There’s an <h1> which means heading. That’s the big text. And there’s a <p> which means paragraph. That’s the small text. All of this is contained within the <html> section.

All of these elements you’re seeing – everything between the <> – __are __called tags. You can see that each tag has a start and an end – kind of like quotes. Tags are also nested, which means that every tag (aside for the first one) is inside of another tag. For developers, the nuances of that nesting (what’s inside what) determines how the web page ends up looking and what order things appear in.

Tags also have data that you can attach to them. If you wanted to add a hyperlink to our webpage text, here’s what you’d do:

<p>Check out the <a href="https://technically.dev/">Technically website</a></p>

When you want to add a link to something in HTML, you use the <a> tag. That href= is data you’re attaching to the tag; in this case, a URL. If you so desire, you can make that link open up in a new browser tab by adding:

target="_blank"

HTML has 140+ of these built in tags that mean something specific to your browser. Some are basic, like paragraphs and links. Others are wacky, like <aside>, <ruby>, or <portal>.

No web pages you’ll actually use are this simple, of course. HTML can get incredibly complex, long, and obscure. Here’s a snapshot of the HTML that actually makes up the real WSJ homepage:

Loading image...

And this is just the top level; there’s way more under the hood.

What’s going on in my browser?#

OK Justin, nice, I get how HTML works. But this doesn’t explain how you changed the WSJ homepage to suit your…perverse preferences.

Continue reading with an all-access subscription

Continue reading with all-access

In this post

  • What’s going on in my browser?
  • Now try it yourself

More in this track

The top 5 things PMs should know about engineering

Engineering and code basics that can make you a better PM to work with.

What's code?

Code is step by step directions, but for computers.

$15/month

30-day money-back guarantee

Or use
Up Next
Whats CSS?

Making the internet look pretty since 1996.

What's React

The most popular way to build interactive web apps.

What's a web app?

How the apps you access in your browser actually work.

Content
  • All Posts
  • Learning Tracks
  • AI Reference
  • Companies
  • Terms Universe
Company
  • Pricing
  • Sponsorships
  • Contribute
  • Contact
Connect
SubscribeSubstackYouTubeXLinkedInInstagram📞Call for advice
Legal
  • Privacy Policy
  • Terms of Service

© 2026 Technically.