Write your first tags, then see what happens when one is missing and how browsers react to mistakes.
Your very first tagTry itA tag has an opening <h1> and a closing </h1>. Your text lives in between.
Add a paragraphExercise<p> is for normal text. Every paragraph starts on its own line in the browser.
The runaway boldDebugEvery opening tag needs a closing tag. Forget one and the browser guesses, usually wrong.
Make one word boldExerciseNesting means a tag inside another tag. Close the inner one first, then the outer one.
Secret notesExerciseComments are notes for humans. Browsers skip right over them.
Quick checkQuizTags come in pairs, they can nest, and browsers guess when you forget one.
2. Text & Structure
Headings, bold, italic and lists. The building blocks of every article and menu.
Big to smallTry itUse one <h1> for the page title and the smaller levels for sections inside it.
Important and stressedExercise<strong> means important and <em> means stressed. Browsers show them bold and italic, and screen readers change their voice.
Lines and breaksExercise<br> and <hr> have no closing tag. Tags like that are called void tags.
A bulleted listExercise<ul> is the list and <li> is each item. Items always go inside a list tag.
A numbered listExerciseUse <ol> when order matters and <ul> when it does not. The <li> items stay the same.
The list that is not a listDebugList items need a list around them. If something has no bullets, check the parent tag.
Quick checkQuizHeadings, emphasis, breaks and lists cover most of the text you will ever write.
3. Links & Images
Connect pages together and add pictures. Plus what happens when a picture goes missing.
Your first linkExercise<a href="...">text</a>: the text is what people click, and href is where it takes them.
A little menuExerciseTags nest: links live inside list items, which live inside a list. Real pages are made of nesting.
Open in a new tabExerciseA tag can have several attributes. target="_blank" opens a new tab, and rel="noopener" keeps the new page from controlling yours.
Add a pictureExercise<img src="..." alt="...">. Always write a real alt: screen readers read it aloud, and it shows when the picture cannot load.
The missing pictureDebugalt is the safety net for every image: broken file, slow connection, or a visitor who cannot see.
Quick checkQuizLinks and images are made of attributes: extra information inside the opening tag.
4. Page Anatomy
What every real page is made of: head, body, title and friendly structural tags.
The page skeletonExercise<head> is for information about the page. <body> is for everything visitors see.
Name your pageExerciseAlways give a page a <title>. Visitors see it on the tab, and it is the blue link in search results.
Say what each part isExerciseTags with a meaning are called semantic. Use them for the big parts of a page, and <div> only when nothing fits.
div and spanExerciseclass gives a tag a name to style later. <div> groups blocks; <span> groups words inside a line.
Quick checkQuizA page = doctype + html + head + body. Semantic tags describe the parts inside the body.
5. Forms & Inputs
Text boxes, buttons, checkboxes and dropdowns. Let visitors type things in.
A box and its labelExerciseA label's for must equal the input's id. Then clicking the label focuses the box, and screen readers know what it is for.
Input typesExerciseOne tag, many behaviors: type decides. Phones even show the right keyboard for email.
Send itExercise<button type="submit"> sends the form. Later, a server (or JavaScript) receives what people typed.
Dropdowns and big boxesExercise<select> lets people pick one of your options. <textarea> is for long text and has a closing tag.
The label that does nothingDebugAlways connect a label with for and id. It is a small detail that makes forms usable for everyone.
Quick checkQuizForms are labels + inputs + a button. Connect labels with for and id.
6. Project: All About Me
Put it all together and build your own personal profile page from scratch.
Stage 1: the headerExerciseStart a page with the big parts. Then fill each part in.
Stage 2: about youExerciseSemantic tags, a list and an image: a page that already looks like a profile.
Stage 3: contact and finishExerciseHeadings, lists, links, images, forms and a page structure: you now know the whole HTML toolbox.
7. HTML exam
Ten questions about everything in this course. Pass with 8 right answers.
The HTML examExamTags, structure, links, images, lists and forms: you can build the skeleton of any page.
8. Final project
Build a complete web page of your own, from scratch, and send it for review.
Your own web pageFinal projectHeader, main and footer, headings, paragraphs, images, lists and links: a whole page, built by you.
How the course works
You learn by doing: each lesson explains one idea, then you write real code in the editor and see the result right away. The first lesson is free to try without an account; sign up to save your progress and continue.
Try it
Change working code and see the result immediately.
Exercise
Complete a task. A checklist confirms each requirement as you type.
Debug
Fix code that is broken on purpose, and learn why it failed.