En informatique, un élément HTML (appelé également « balise HTML » ou tag en anglais) est un élément de base utilisé pour définir la structure d'un document écrit en HTML. Il est constitué d'une suite de caractères textuels définissant le nom de l'élément ainsi que ses éventuels attributs. Jusqu'à la version HTML4, la structure d'un document HTML s'inspire de la méthode de modélisation SGML, conçue pour structurer les documents bureautiques classiques. La version 4 de la définition de type de document (DTD) définit 91 éléments HTML.
La version HTML5 ne s'appuie pas sur SGML et ne définit pas de DTD.
Le langage HTML est utilisé dans la création de sites web, couplé à d'autres langages comme le CSS.
Les éléments HTML permettent de définir des en-têtes, des paragraphes, des liens hypertextes, des listes, des séquences audio, des séquences vidéo, etc. Ils peuvent définir le début d'une zone (on parle alors de balise HTML "ouvrante") ou une fin de zone (il s'agit alors de balise HTML "fermante"). Une balise HTML ouvrante est constituée par un signe « < », suivi par le nom de la balise, par les éventuels attributs sous la forme attribut=valeur, et par un signe « > » (exemple : ). Une balise HTML fermante est constituée par un signe « < », suivi par un signe « / », puis par le nom de la balise, et par un signe « > » (exemple : ). Une balise peut être à la fois ouvrante et fermante lorsqu'elle n'a pas de contenu : dans ce cas, elle est constituée par un signe « < », suivi par le nom de la balise, par les éventuels attributs sous la forme attribut=valeur, par un signe « / » et par un signe « > » (exemple : ).
Les éléments HTML sont répartis en deux catégories : bloc (block) ou texte (inline).
Ce sont des structures qui contiennent d'autres blocs, des éléments de catégorie texte, ou seulement du texte. En général, ils sont affichés comme des blocs et séparés des autres blocs par des espaces traduits par des tabulations tels que les titres de section, les paragraphes, les listes, les tableaux et autres.