# The HTML Guide

> HTML is the foundation of every web page. Learn tags, forms, images, media and accessibility with this curated guide to the best HTML tutorials.

Author: Flavio Copes | Published: 2026-07-14 | Canonical: https://flaviocopes.com/html/

HTML is the language of web pages. Every site you visit, no matter how complex, is HTML at its core.

It looks simple, and the basics are. But there's real depth in it: semantic tags, responsive images, forms, accessibility. Knowing HTML well makes everything you build on top of it better.

This page is your starting point for HTML on this site. I organized the best posts into a path you can follow, plus themed sections for when you need something specific.

## Where to start

Follow these in order if you're starting out:

1. [An introduction to HTML](https://flaviocopes.com/html-introduction/) covers what HTML is and how a page is structured
2. [HTML tags for text](https://flaviocopes.com/html-text-tags/) teaches paragraphs, headings and the tags you'll use most
3. [HTML container tags](https://flaviocopes.com/html-container-tags/) explains semantic structure: `header`, `main`, `article` and friends
4. [The HTML a tag (links)](https://flaviocopes.com/html-links/) covers links, the thing that makes the web a web
5. [The HTML img tag](https://flaviocopes.com/html-img-tag/) shows how to add images
6. [HTML forms](https://flaviocopes.com/html-forms/) is where pages start accepting input from users

## Images and media

Beyond the basic `img` tag, HTML gives you a lot of control over media:

- [Responsive images using srcset](https://flaviocopes.com/html-responsive-images-srcset/)
- [The HTML picture tag](https://flaviocopes.com/html-picture-tag/)
- [The HTML figure tag](https://flaviocopes.com/html-figure-tag/)
- [The HTML video tag](https://flaviocopes.com/html-video-tag/)
- [The HTML audio tag](https://flaviocopes.com/html-audio-tag/)
- [Hide a broken image in HTML when the file is missing](https://flaviocopes.com/html-remove-broken-image/)

## Links and navigation

A few link behaviors worth knowing:

- [What's the use of the hashtag # (number sign) in the links?](https://flaviocopes.com/html-hashtag-in-links/)
- [Force download links in HTML](https://flaviocopes.com/html-force-download-links/)
- [How to have an image show up when sharing links to your site](https://flaviocopes.com/html-open-graph/)

## Practical recipes

Small problems that come up all the time:

- [How to create a comment in HTML](https://flaviocopes.com/how-to-comment-html/)
- [HTML tables](https://flaviocopes.com/html-tables/)
- [The HTML iframe tag](https://flaviocopes.com/html-iframe-tag/)
- [How to make sure your input field can only upload images](https://flaviocopes.com/how-to-accept-only-images-input-file/)
- [Preserving white space and line breaks in a string in HTML](https://flaviocopes.com/html-preserve-white-space/)
- [How to change an HTML image URL in dark mode](https://flaviocopes.com/dark-mode-change-img-source/)
- [Changing the favicon in dark mode](https://flaviocopes.com/dark-mode-favicon/)

## Accessibility

Good HTML is accessible HTML. [Accessibility on the Web](https://flaviocopes.com/accessibility/) explains why it matters and how semantic markup gets you most of the way there.

## Go deeper

For the full picture in one place, download the free [HTML Handbook](https://flaviocopes.com/ebooks/html-handbook/). It covers the language from the basics to the details most tutorials skip.

Everything I wrote about HTML is in [the html tag](https://flaviocopes.com/tags/html/).
