HTML stands for HyperText Markup Language. It is the standard language used to create and structure content on the web. Every webpage you visit — from Google to Wikipedia — is built on HTML at its core.
HTML is not a programming language. It is a markup language: it uses tags to annotate and describe the meaning of content, telling the browser how to display text, images, links, and other elements.
A brief history
1991 — Tim Berners-Lee publishes the first HTML spec (18 tags)
1995 — HTML 2.0: first formal standard
1997 — HTML 4.01: widespread adoption
2014 — HTML5 becomes the W3C standard (current)
Today — HTML is a "living standard" maintained by WHATWG
Your First HTML File
Try it yourself! Edit the code on the left and click Run (or press Ctrl+Enter) to see it rendered live on the right.
Live Playground — Your First HTML Page
Updated
HTML Editor
Browser Preview
💡 Tip: Ctrl+Enter to run · Edit the code and see live output · Click Reset to restore original
Anatomy of an HTML Tag
HTML is built from elements. Most elements have an opening tag, content, and a closing tag:
<pclass="intro">Hello!</p>
p
Tag name
class
Attribute
"intro"
Value
Hello!
Content
Self-closing (void) elements
Some elements have no content and don't need a closing tag. Try them below:
Live Playground — Void Elements
Updated
HTML Editor
Browser Preview
💡 These are "void" elements — no closing tag needed!
🎯 Exercise 1.1
In the playground above, modify the code: add a heading with your name, a paragraph describing yourself, and at least one more void element. Hit Run to see your changes!
Lecture 02 · Foundations
Document Structure
Beginner~45 minRequires: Lecture 01
The HTML Boilerplate
Every valid HTML5 document follows the same fundamental structure. Try editing the boilerplate below:
Live Playground — HTML5 Boilerplate
Updated
HTML Editor
Browser Preview
💡 Notice the <style> tag — try changing the color value!
Block vs Inline Elements
HTML elements fall into two display categories. The playground below demonstrates both clearly:
Live Playground — Block vs Inline
Updated
HTML Editor
Browser Preview
💡 Orange border = block element · Blue border = inline element
🎯 Exercise 2.1
In the boilerplate playground above, change the <title> to your name, and add a linked stylesheet using <link rel="stylesheet" href="style.css"> in the head. What changes in the preview?
Lecture 03 · Foundations
Text & Typography
Beginner~50 minRequires: Lecture 02
Headings
HTML provides six heading levels. Play with all of them below:
Live Playground — Headings & Typography
Updated
HTML Editor
Browser Preview
💡 Try removing <strong> and using <b> instead — visually the same but semantically different!
✅ Semantic vs Presentational
Prefer <strong> over <b> and <em> over <i>. Semantic tags convey meaning, not just appearance — crucial for screen readers and SEO.
🎯 Exercise 3.1 — Article Page
Use the playground above to create a mini blog post. Add an <h1> title, 2 paragraphs with <strong> and <em>, and a <blockquote>.
Lecture 04 · Foundations
Links & Navigation
Beginner~45 minRequires: Lecture 03
The Anchor Tag
The <a> element creates hyperlinks. Try all the different link types below:
Live Playground — Links & Navigation
Updated
HTML Editor
Browser Preview
💡 The "Jump to Section 2" link scrolls within the preview iframe!
⚠️ Security: rel="noopener noreferrer"
Always add rel="noopener noreferrer" when using target="_blank". Without it, the opened page can access your page via window.opener — a security risk.
🎯 Exercise 4.1 — Navigation Menu
Build a styled navigation bar in the playground. Add 4 links, a mailto link, and a section that an anchor jumps to. Try adding basic CSS with <style> to make it look like a real nav bar!
Lecture 05 · Foundations
Images & Media
Beginner~50 minRequires: Lecture 04
The <img> Element
Images are embedded with the self-closing <img> tag. The alt attribute is required for accessibility. Try different image URLs below:
Live Playground — Images & Media
Updated
HTML Editor
Browser Preview
💡 Change the number after ?random= to get a different image. Try ?random=42
🎯 Exercise 5.1 — Image Gallery
In the playground, build a mini gallery with 4 images using <figure> and <figcaption>. Use https://picsum.photos/200/150?random=N (change N for each). Try adding CSS to display them side by side!
Lecture 06 · Core Concepts
Lists & Tables
Beginner~45 minRequires: Lecture 05
All Three List Types
Live Playground — Lists
Updated
HTML Editor
Browser Preview
💡 Try changing the ol type attribute: <ol type="A"> or <ol type="i">
Tables
Use tables for tabular data — never for page layout.
Live Playground — Tables
Updated
HTML Editor
Browser Preview
💡 Try adding a new row for April. Notice how colspan="2" spans columns!
Lecture 07 · Core Concepts
Forms & Inputs
Intermediate~65 minRequires: Lecture 06
Building a Complete Form
Forms are how users interact with websites. Try filling out this form — it uses only HTML5 validation!
Live Playground — Forms & Inputs
Updated
HTML Editor
Browser Preview
💡 Click "Send Message" without filling required fields to see HTML5 validation!
Lecture 08 · Core Concepts
Semantic HTML
Intermediate~55 minRequires: Lecture 07
Semantic vs Non-Semantic
See the difference in the playground below — the layout looks identical but the meaning is completely different:
Live Playground — Semantic HTML5 Layout
Updated
HTML Editor
Browser Preview
💡 Try replacing <header> with <div> — looks the same but loses meaning for screen readers!
Lecture 09 · Advanced
HTML5 APIs & Features
Intermediate~60 minRequires: Lecture 08
Interactive HTML5 Components
Modern HTML5 comes with powerful built-in interactive elements — no JavaScript needed for many of them:
Live Playground — HTML5 APIs & Features
Updated
HTML Editor
Browser Preview
💡 Click the FAQ items, open the modal, and type into the datalist input!
Lecture 10 · Advanced
Accessibility (a11y)
Intermediate~60 minRequires: Lecture 09
Why Accessibility Matters
Over 1 billion people worldwide have some form of disability. Let's see accessible vs inaccessible patterns side by side:
Live Playground — Accessibility
Updated
HTML Editor
Browser Preview
💡 Use Tab key to navigate — notice how the accessible button has a visible focus ring!
Lecture 11 · Advanced
SEO & Meta Tags
Intermediate~50 minRequires: Lecture 10
SEO Meta Tags in Action
Meta tags live in the <head> — they're invisible to users but critical for search engines and social sharing. See how they work:
Live Playground — SEO Head & Social Cards
Updated
HTML Editor
Browser Preview
💡 Change the og:description and og:title meta tags — the cards below update when you hit Run!
Lecture 12 · Capstone
Capstone Project: Personal Portfolio
Advanced~90 minRequires: All Lectures
Congratulations on reaching the final lecture! Build a fully semantic, accessible, SEO-optimised personal portfolio — all in the live playground below. This applies every concept from the course.
ℹ️ Your Sandbox
The playground below is fully unlocked — edit everything. Try adding your real name, projects, and skills. This is your HTML Mastery graduation project!
Live Playground — 🎓 Capstone Portfolio
Updated
HTML Editor — Edit Everything!
Browser Preview
🎓 This is your complete portfolio! Change "Jane Smith" to your name, add your real projects, and make it yours!
🚀 What's Next?
You've completed the HTML curriculum! Your natural next steps: