HTML Reference
A free reference to HTML elements. Each page explains what a tag does in plain language, lists its attributes, answers common questions and gives you a live example you can edit right in the browser. Pick a tag below, or search for one. Prefer everything on one page? See the HTML cheat sheet.
62 tag pages · Last updated: October 3, 2026
No tags match that search yet. More pages are added every week.
Core elements
<div>The <div> tag is a generic block-level container used to group content for styling or scripting.
<span>The <span> tag is a generic inline container used to style or script part of a line of text.
<a>The <a> tag creates a hyperlink to another page, an in-page location, an email address, or a file.
<img>The <img> tag embeds an image using the src and alt attributes.
<table>The <table> tag defines a table of rows and columns for tabular data.
<form>The <form> tag groups interactive controls so their values can be submitted together.
<input>The <input> tag creates interactive form controls of many types, set via the type attribute.
<button>The <button> tag creates a clickable button whose type controls what it does in a form.
<ul> / <ol> / <li>How to build unordered and ordered lists in HTML using <ul>, <ol>, and <li>.
<video>The <video> tag embeds playable video content, optionally with multiple <source> formats.
Semantic & sectioning
<p>The <p> tag defines a paragraph of text, the standard way to structure body copy.
<h1>–<h6>The six HTML heading levels, from <h1> (most important) to <h6> (least important), and how to use them for document outline and accessibility.
<header>The <header> tag represents introductory content for its nearest ancestor, like a page's logo and nav or an article's title.
<footer>The <footer> tag represents closing content for its nearest ancestor, like copyright info or an article's author details.
<nav>The <nav> tag marks a section of major navigation links, such as a main menu or breadcrumb trail.
<main>The <main> tag marks the primary, unique content of a document, excluding repeated headers, footers, and navigation.
<section>The <section> tag groups a standalone thematic block of content, typically with its own heading.
<article>The <article> tag represents a self-contained piece of content that could be distributed or reused independently.
<aside>The <aside> tag marks content that's tangentially related to the surrounding content, like a sidebar or pull quote.
<hr>The <hr> tag draws a horizontal rule marking a thematic break between content.
<pre>The <pre> tag displays preformatted text with whitespace and line breaks preserved, in a monospace font.
<blockquote>The <blockquote> tag marks an extended quotation from another source, with an optional cite URL.
<address>The <address> tag marks contact information for the author or owner of an article or page.
<figure> / <figcaption>The <figure> tag groups self-contained content like an image or code listing, and <figcaption> gives it a caption.
<dl> / <dt> / <dd>How to build description lists in HTML using <dl>, <dt> and <dd> for name-value groups such as glossaries and metadata.
Inline text
<strong> / <em>The <strong> tag marks important text and <em> marks stress emphasis; both add meaning, not just bold or italic styling.
<b> / <i> / <u>What the <b>, <i> and <u> tags mean in modern HTML: attention, alternate voice and non-textual annotation.
<small> / <mark> / <s>The <small> tag marks fine print, <mark> highlights relevant text, and <s> strikes through content that is no longer accurate.
<br> / <wbr>The <br> tag inserts a line break that is part of the content, and <wbr> marks an optional break point in long words.
<code> / <var> / <samp> / <kbd>The <code>, <kbd>, <samp> and <var> tags mark computer code, keyboard input, program output and variables.
<sub> / <sup>The <sub> tag shows subscript text like H2O and <sup> shows superscript text like exponents and footnote markers.
<abbr>The <abbr> tag marks an abbreviation or acronym, with its full form in the title attribute.
<cite> / <q>The <cite> tag marks the title of a creative work, and <q> marks a short inline quotation with automatic quote marks.
<time>The <time> tag marks dates, times and durations, with a machine-readable value in the datetime attribute.
<data>The <data> tag links readable content to a machine-readable value stored in its value attribute.
Forms
<label>The <label> tag gives a form control a visible, clickable name that screen readers announce.
<select> / <option> / <optgroup>The <select> tag creates a dropdown list in a form, with each choice in an <option> and groups in <optgroup>.
<textarea>The <textarea> tag creates a multi-line text box for longer answers like comments and messages.
<fieldset> / <legend>The <fieldset> tag groups related form controls, and <legend> gives the group a caption.
<datalist>The <datalist> tag gives an input a list of autocomplete suggestions while still allowing free typing.
<output>The <output> tag displays the result of a calculation or user action, and screen readers announce updates.
<progress>The <progress> tag shows how much of a task is complete as a progress bar, or an indeterminate loading bar.
<meter>The <meter> tag shows a measurement within a known range as a gauge, colored by low, high and optimum.
Tables
<thead> / <tbody> / <tfoot>The <thead>, <tbody> and <tfoot> tags group a table into header, body and footer rows.
<tr> / <td> / <th>The <tr> tag creates a table row, <td> a data cell and <th> a header cell; colspan and rowspan merge cells.
<caption> / <colgroup> / <col>The <caption> tag gives a table a title, and <colgroup> and <col> let you style whole columns.
Media & embedded
<audio> / <source> / <track>The <audio> tag embeds sound with optional playback controls, using <source> for alternative formats.
<picture>The <picture> tag offers several versions of an image for different screen sizes or formats, with an <img> fallback.
<iframe>The <iframe> tag embeds another web page, such as a video or map, inside the current page.
<canvas>The <canvas> tag creates a drawing area that JavaScript paints on, for charts, games and animations.
<map> / <area>The <map> and <area> tags make clickable regions on an image, called an image map.
<embed> / <object> / <param>The <embed> and <object> tags place external content such as PDFs or SVG into a page; <object> supports fallback content.
Interactive
<details> / <summary>The <details> tag creates a section that opens and closes without JavaScript, labelled by its <summary>.
<dialog>The <dialog> tag creates a popup box; showModal() opens it as an accessible modal and close() closes it.
<ins> / <del>The <ins> and <del> tags mark text added to or removed from a document, with optional datetime and cite.
<template> / <slot>The <template> tag holds hidden, reusable HTML for JavaScript to clone, and <slot> is a placeholder inside web components.
Document metadata
<head> / <title>The <head> tag holds a page's metadata, and <title> sets the title shown in browser tabs and search results.
<meta>The <meta> tag provides page metadata such as the character set, mobile viewport and search description.
<link>The <link> tag connects a page to external resources such as stylesheets, icons and canonical URLs, set by rel.
<script> / <noscript>The <script> tag adds JavaScript inline or from a file, and <noscript> shows content when JavaScript is off.
<style>The <style> tag holds CSS written directly inside an HTML page, applying to the whole page.
<base>The <base> tag sets the base URL for all relative URLs on a page and a default link target.
Prefer everything on one page? Try the HTML cheat sheet. Want to practice now? Open the free HTML editor →