Skip to main content

Overview

The HTML Tags Checker supports a comprehensive list of HTML5 elements, categorized into three main types: block elements, inline elements, and void (self-closing) elements. Understanding these categories is essential for proper HTML validation.

Element Categories

Block elements establish the document structure. They typically start on a new line and expand to the available width of their container.

Key Characteristics

  • Generate line breaks before and after
  • Respect margin, padding, and border on all sides
  • Expand to the width of the parent container (unless explicitly sized)
  • Can contain both block and inline elements (with exceptions)

Complete List

<address>, <article>, <aside>, <blockquote>, <canvas>, <dd>, <div>, <dl>, <dt>,
<fieldset>, <figcaption>, <figure>, <footer>, <form>, <h1>, <h2>, <h3>, <h4>,
<h5>, <h6>, <header>, <hr>, <li>, <main>, <nav>, <noscript>, <ol>, <p>, <pre>,
<section>, <table>, <tfoot>, <ul>, <video>, <picture>, <audio>, <details>, <dialog>, <summary>
Inline elements flow within text without creating line breaks and only take the space they need.

Key Characteristics

  • Do not create line breaks before or after
  • Mainly respect horizontal margin and padding
  • Width/height typically have no effect (except cases like inline-block)
  • Should not contain block elements (rare HTML5 exceptions exist)

Complete List

<a>, <abbr>, <acronym>, <b>, <bdo>, <big>, <br>, <button>, <cite>, <code>,
<dfn>, <em>, <i>, <img>, <input>, <kbd>, <label>, <map>, <object>, <output>,
<q>, <s>, <samp>, <select>, <small>, <span>, <strong>, <sub>, <sup>, <textarea>,
<time>, <tt>, <u>, <var>, <source>, <track>
Void elements don’t have closing tags and cannot contain any content.

Key Characteristics

  • Do not use closing tags (e.g., <img> not <img></img>)
  • XHTML self-closing syntax (<img />) is optional, not required in HTML5
  • Cannot contain child elements or text content

Complete List

<area>, <base>, <br>, <col>, <embed>, <hr>, <img>, <input>, <keygen>, <link>,
<meta>, <param>, <source>, <track>, <wbr>

Elements by Functional Group

Content Grouping

ElementTypeDescription
<div>BlockGeneric container for flow content
<p>BlockParagraph (inline content only)
<pre>BlockPreformatted text (preserves whitespace)
<blockquote>BlockBlock quotation
<hr>VoidThematic break / horizontal rule

Text-Level Semantics

ElementTypeDescription
<a>InlineHyperlink anchor
<span>InlineGeneric inline container
<strong>InlineStrong importance
<em>InlineEmphasis
<code>InlineCode fragment
<abbr>InlineAbbreviation
<cite>InlineCitation
<kbd>InlineKeyboard input
<samp>InlineSample output
<var>InlineVariable
<time>InlineTime/date
<b>InlineBring attention to
<i>InlineAlternate voice
<u>InlineUnarticulated annotation
<s>InlineStrikethrough
<small>InlineSide comment / small print
<sub>InlineSubscript
<sup>InlineSuperscript
<q>InlineInline quotation
<dfn>InlineDefinition term

Document Structure

ElementTypeDescription
<header>BlockHeader section
<footer>BlockFooter section
<main>BlockMain content
<nav>BlockNavigation section
<section>BlockGeneric section
<article>BlockSelf-contained composition
<aside>BlockTangentially related content
<address>BlockContact information

Headings

ElementTypeDescription
<h1>BlockHeading level 1 (highest)
<h2>BlockHeading level 2
<h3>BlockHeading level 3
<h4>BlockHeading level 4
<h5>BlockHeading level 5
<h6>BlockHeading level 6 (lowest)

Lists

ElementTypeDescription
<ul>BlockUnordered list
<ol>BlockOrdered list
<li>BlockList item
<dl>BlockDescription list
<dt>BlockDescription term
<dd>BlockDescription details

Tables

ElementTypeDescription
<table>BlockTable
<thead>BlockTable head
<tbody>BlockTable body
<tfoot>BlockTable foot
<tr>BlockTable row
<th>BlockTable header cell
<td>BlockTable data cell
<caption>BlockTable caption
<colgroup>BlockColumn group
<col>VoidColumn

Forms

ElementTypeDescription
<form>BlockForm container
<fieldset>BlockGroup of form controls
<legend>InlineCaption for fieldset
<label>InlineLabel for form control
<input>VoidInput control
<button>InlineButton
<select>InlineSelection list
<option>InlineOption in select
<optgroup>InlineOption group
<textarea>InlineMulti-line text input
<output>InlineCalculation result
<datalist>InlinePredefined options for input

Media

ElementTypeDescription
<img>VoidImage
<video>BlockVideo player
<audio>BlockAudio player
<source>VoidMedia source
<track>VoidText track for media
<picture>BlockResponsive image container
<canvas>BlockGraphics canvas
<embed>VoidExternal content
<object>InlineExternal object
<map>InlineImage map
<area>VoidImage map area

Interactive Elements

ElementTypeDescription
<details>BlockDisclosure widget
<summary>BlockSummary for details
<dialog>BlockDialog box

Embedded Content

ElementTypeDescription
<figure>BlockSelf-contained content
<figcaption>BlockCaption for figure

Metadata & Scripting

ElementTypeDescription
<noscript>BlockFallback for no script
<base>VoidBase URL for relative URLs
<link>VoidExternal resource link
<meta>VoidMetadata

Special Elements

ElementTypeDescription
<br>VoidLine break
<wbr>VoidWord break opportunity
<param>VoidObject parameter
<keygen>VoidKey-pair generator (deprecated)

Advanced Content Categories

HTML5 defines several content categories that determine which elements can be used where:
  • Flow content: Most elements used in the body
  • Phrasing content: Text and text-level markup (similar to inline)
  • Heading content: Headings (<h1> through <h6>)
  • Sectioning content: Defines scope of headings and footers
  • Interactive content: Content specifically for user interaction
For detailed information about which elements can contain which, see the Nesting Rules reference.

Build docs developers (and LLMs) love