Learning and Writing HTML

An introduction to the HyperText Markup Language with a curated list of resources that will be helpful when learning and writing it.


HyperText Markup Language (HTML) describes the structure of a web page. The structure of a page includes:

  • Each and every one of the visible elements (e.g., paragraphs of text, images, videos, etc.) and invisible elements (e.g., meta information) that make up the document
  • The hierarchical relationship between elements in the document

Writing semantic HTML is always preferable. HTML is semantic when the elements that are used to represent the content reinforce the meaning of that content.

Learning Resources

Here is a list of recommended resources for learning and writing the HyperText Markup Language.


These books do an excellent job of covering both the basic and more advanced HTML topics.

Courses and Tutorials


Helpful tools for you to use as you are writing HTML.

Code Editors

HTML can be written in any standard text editor. Using one of these more sophisticated code editors can save you time and frustration.

  • Atom – a hackable editor from GitHub
  • Brackets – a modern, open source editor that understands web design
  • Sublime Text – a sophisticated editor for code, markup, and prose
  • Visual Studio Code – a streamlined editor with support for development operations like debugging, task running, and version control

Validation is the process of checking whether or not a given document follows the rules of a language.

Reference Material

Helpful materials to understand how to properly use specific HTML elements, tags, and attributes.