Learn HTML by writing it.
A free HTML course for people who have never written code before. Each lesson explains one thing. Then you write it yourself, and the page tells you whether you got it right.
Start learningOpen the playground
61 lessons · 10 modules · free, no sign-up
How every lesson works
Read one idea
A short explanation of a single concept, with a runnable example.
Write real code
Type into a syntax-highlighted editor or edit the page visually. The preview updates as you type.
Get checked
The checker tests your page and tells you exactly what is missing. Three levels of hints if you are stuck.
Build projects
Every module ends with a project. The course ends with four complete pages you can download.
The HTML course
Ten modules, from your first tag to complete, accessible web pages.

First Page
What HTML is, how a tag works and the skeleton every page sits on.
6 lessons
Text
Headings, paragraphs, emphasis, lists, quotes, code and the odd special character.
8 lessons
Links and Media
Links between pages, file paths, images, figures, audio, video, embeds.
8 lessons
Structure and Semantics
Generic boxes, page landmarks and what meaningful tags buy you.
5 lessons
Tables
Rows, cells, headers, captions, spanning, and when a table is wrong.
5 lessons
Forms
Inputs, labels, choices, buttons and browser-side validation.
7 lessons
Head and Metadata
Titles, character sets, the mobile viewport, SEO tags, icons, and links to CSS and JS.
5 lessons
Accessibility
Pages that work for everyone: alt text, structure, labels, the keyboard and ARIA.
7 lessons
A Touch of CSS
Enough CSS to make your HTML projects look finished.
6 lessons
Final Projects
Four complete pages that use everything you have learned.
4 lessonsWhat you get on every lesson page
Write code, or edit the page itself
- The code editor colours your tags, closes them for you and keeps the indentation tidy
- Switch on Visual edit and type straight onto the page; the code rewrites itself to match
- A problem list catches unclosed tags, missing alt text and repeated ids while you type
- Check the page at phone width, or download it as a real .html file
See what the browser sees
- The DOM tree shows how the browser read your code, and lights up each element as you hover it
- The Outline tab lists what a screen reader announces, from headings to form labels
- Put the cursor on any tag to get a one-line explanation
- Quizzes, spot-the-bug puzzles and a drag-and-drop exercise break up the reading
What is HTML?
HTML (HyperText Markup Language) (opens in a new tab) is the language every web page is written in. It labels content so the browser knows what each part is: a heading here, a paragraph there, a link, an image. CSS decides how those parts look, and JavaScript adds behavior. Both sit on top of HTML, so it is the first thing web developers learn.
You don't need math or programming logic to start. HTML is a markup language: you put tags such as <h1> and <p> around your content, open the file in a browser and look at the result. A few seconds pass between writing a line and seeing it on screen, which makes HTML a friendly first language. If you like to start visually, a WYSIWYG editor such as html6.com (opens in a new tab) shows the HTML behind formatted text. The What Is HTML guide covers the basics in more depth.
Why learn HTML?
With HTML you can build and publish your own pages, edit a blog or online shop template without fear of breaking it, write better emails and documentation, and work out what went wrong when a page breaks. Front-end development, web design and accessibility work all start here. Well-written HTML loads faster, works better with a screen reader and is easier for search engines to read. Google's SEO starter guide (opens in a new tab) makes the same point. You will keep using it long after you learn CSS and JavaScript.
Who this course is for
We wrote the course for people with no coding experience at all: students, career changers, designers, marketers, bloggers, or anyone who has wondered how a web page is put together. Every new term is defined before it is used, and the glossary explains 46 of them in plain words. Already know some HTML? Skip to the modules you need, such as forms, semantic HTML or accessibility, or test yourself with the challenges.
How the course works
Each lesson teaches one idea. You read a short explanation, run the example and then complete a task in the editor. The checker tests your code against a set of rules and points to the first thing that is missing. Stuck? Three hints go from a gentle nudge to almost the full answer. A short quiz at the end checks that the idea stuck. Every module ends with a project that pulls its lessons together, and in the last module you build four complete pages.
Outside the lessons there is a playground for free experimenting, a reference of 115 HTML elements with examples, a printable cheat sheet and longer guides. Finish the course and you can print a certificate of completion.
How long does it take to learn HTML?
About 10 to 11 hours of focused work, counting lessons and projects. At 30 minutes a day that is roughly three weeks. Most lessons take 5 to 10 minutes, so short sessions work fine, and your browser remembers exactly where you stopped. By the end you will be able to write complete, valid and accessible web pages on your own.

Guides
Longer reads for when a lesson leaves you with questions.

What is HTML, and what does a browser do with it?
HTML in plain English: what the letters stand for, how a browser turns tags into a page, what elements and attributes are, and a first page you can write in ten minutes.
9 min read
HTML vs CSS vs JavaScript, and what each one does
HTML vs CSS vs JavaScript with one quiz card built three times, a layer at a time, so you can see what each language adds. Plus a comparison table and which to learn first.
8 min read
How to make a website with HTML, from empty folder to live site
Build a two-page bakery website by hand: pick an editor, set up a folder, write index.html, add photos, links and one CSS file, test it on a phone and publish it for free.
10 min read
How long does it take to learn HTML? About six weeks, and here is the plan
How long does it take to learn HTML? One hour to a first page, two weeks for the basics, six weeks to be comfortable. A week-by-week plan with free lessons and projects.
9 min read
Semantic HTML explained with before-and-after examples
Semantic HTML with real examples: the landmark elements, article vs section, rewriting a page of div soup, and what meaningful tags do for accessibility and SEO. Checklist included.
9 min read
HTML for SEO, from the title tag to structured data
The HTML that affects search in 2026 and the parts that do not: title tags, meta descriptions, headings, links, alt text, canonical, Open Graph and JSON-LD, myths included.
10 min read
An HTML accessibility checklist for beginners (WCAG 2.2)
A WCAG 2.2 checklist for the parts of accessibility you control in HTML: lang, headings, alt text, labels, keyboard, focus, contrast and ARIA, plus a 5-minute keyboard test.
10 min read
20 HTML best practices for clean, valid code
Twenty rules we apply to every HTML file: doctype, lang, charset, semantic tags, alt text, labels, file names and W3C validation, each with a short code example.
9 min readFrequently asked questions
Is this HTML course really free?
Yes. Lessons, challenges, guides, the reference, the playground and the certificate cost nothing. There is no paid tier, no trial and no account to create. Progress is saved in your own browser, so you can close the tab and carry on later on the same device.
Can I learn HTML with no coding experience?
Yes. Most people start with HTML precisely because there is no programming logic to learn first. The course opens with what HTML is, explains every term before it uses it and checks your code automatically, so you always know whether you are on the right track.
What can I build after learning HTML?
Complete pages: a personal profile, a portfolio, a recipe or event page, a contact page with a form, documentation, even a small multi-page site. These are all static web pages (opens in a new tab), and plenty of hosts will serve them for free. Add some CSS (the course introduces it) and they look finished. HTML is also what you need before JavaScript or a front-end framework will make sense.
Do I need to install anything?
No. The lessons, the code editor, the live preview and the checker all run in your web browser. Later, when you build sites on your own computer, a plain text editor and a browser are enough, because any browser can open an HTML file directly.