This page is a quick-reference index of HTML tags, grouped by purpose: basic structure, text formatting, forms, tables, media, semantics, metadata, and scripting. Each row links to a full chapter with examples, attributes, and browser support. Use it to look up what a tag does and where it belongs, then follow the link for the details.
Two markers appear throughout the table:
- (HTML5) — the element was introduced in HTML5. It is part of the current standard and safe to use in modern browsers.
- (Obsolete) — the element has been removed from the HTML standard. Browsers may still render it for backward compatibility, but you should not use it in new code. The recommended replacement is given in the description. See Deprecated HTML Tags for the full list and modern alternatives.
Most tags come in pairs — an opening tag such as <p> and a closing tag </p> that wrap their content. A handful (for example <br>, <hr>, and <img>) are void elements with no closing tag. For a deeper look at how tags, elements, and attributes fit together, see HTML Elements and HTML Attributes.
Formatting tags mark up the meaning or appearance of text fragments. Many older presentational tags here are (Obsolete) — use CSS for visual styling instead.
| Tag | Description |
|---|
<abbr> | Defines an abbreviation or acronym. |
<acronym> | (Obsolete) Defines an acronym. Use <abbr> instead. |
<address> | Specifies contact information for the author/owner of a document or article. |
<b> | Displays text in a bold style. |
<bdi> | (HTML5) Isolates a text fragment from its surroundings for bidirectional text formatting. |
<bdo> | Overrides the current text direction. |
<big> | (Obsolete) Displays text in a bigger size. Use CSS instead. |
<blockquote> | Defines a long (block-level) citation. |
<center> | (Obsolete) Displays content as centered. Use CSS instead. |
<cite> | Marks a reference (title, author, or URL) to a cited creative work. |
<code> | Defines a fragment of computer code. |
<del> | Specifies deleted text. |
<dfn> | Marks the defining instance of a term. |
<em> | Specifies emphasized text. |
<font> | (Obsolete) Sets font, color, and size of the text. Use CSS instead. |
<i> | Displays text in italic. |
<ins> | Defines text inserted into a document. |
<kbd> | Specifies keyboard input. |
<mark> | (HTML5) Marks/highlights text. |
<meter> | (HTML5) Defines a scalar measurement within a known range (a gauge). |
<pre> | Defines preformatted text. |
<progress> | (HTML5) Indicates the completion progress of a task (progress bar). |
<q> | Defines a short, inline quotation. |
<rp> | (HTML5) Provides fallback parentheses for browsers that do not support ruby annotations. |
<rt> | (HTML5) Defines the pronunciation of characters in a ruby annotation (for East Asian typography). |
<ruby> | (HTML5) Represents a ruby annotation (for East Asian typography). |
<s> | Displays text that is no longer accurate in strikethrough style. |
<samp> | Sets sample output from a computer program. |
<small> | Displays text in a smaller size (side comments, fine print). |
<strike> | (Obsolete) Defines strikethrough text. Use <del> or <s> instead. |
<strong> | Defines text of strong importance. |
<sub> | Defines subscripted text. |
<sup> | Defines superscripted text. |
<time> | (HTML5) Defines a date/time. |
<tt> | (Obsolete) Displays text in a teletype (monospace) style. Use CSS instead. |
<u> | Renders text with a non-textual annotation, displayed underlined by default. |
<var> | Defines a variable. |
<wbr> | (HTML5) Defines a possible line-break opportunity. |
| Tag | Description |
|---|
<form> | Specifies an HTML form for user input. |
<input> | Defines an input control. |
<textarea> | Sets a multi-line text input control (text area). |
<button> | Defines a clickable button inside an HTML form. |
<select> | Defines a selection list within a form. |
<optgroup> | Groups related options in a selection list. |
<option> | Defines an option in a selection list. |
<label> | Sets a label for an <input> element. |
<fieldset> | Groups related elements in a form. |
<legend> | Sets a title for an <fieldset> element. |
<datalist> | (HTML5) Contains a set of pre-defined options for an <input> element. |
<keygen> | (Obsolete) Generated a key pair for form submission. Removed from the standard; no direct replacement. |
<output> | (HTML5) Defines the result of a calculation. |
Framesets split the browser window into independent documents. They are (Obsolete) in HTML5 — use <iframe> or CSS layout instead.
| Tag | Description |
|---|
<frame> | (Obsolete) Specifies a single frame within a frameset. |
<frameset> | (Obsolete) Specifies a set of frames. |
<noframes> | (Obsolete) Provides alternate content for browsers that do not support frames. |
<iframe> | Embeds another document in an inline frame. |
| Tag | Description |
|---|
<img> | Specifies an image. |
<map> | Specifies a client-side image-map. |
<area> | Defines an interactive area inside an image-map. |
<canvas> | (HTML5) A drawing surface for rendering graphics on the fly via scripting (usually JavaScript). |
<figcaption> | (HTML5) Defines a caption for a <figure> element. |
<figure> | (HTML5) Defines self-contained content, such as an illustration or diagram. |
<picture> | (HTML5) Container for multiple image resources specified within <source> elements. |
<svg> | (HTML5) Container for inline SVG graphics. |
| Tag | Description |
|---|
<audio> | (HTML5) Embeds audio content. |
<source> | (HTML5) Specifies alternative media resources for <video>, <audio>, or <picture>. |
<track> | (HTML5) Adds a text track (captions, subtitles) for <video> and <audio>. |
<video> | (HTML5) Embeds video content. |
| Tag | Description |
|---|
<a> | Defines a hyperlink. |
<link> | Links the current document to an external resource (commonly an external CSS stylesheet). |
<nav> | (HTML5) Defines a block of navigation links. |
| Tag | Description |
|---|
<ul> | Defines an unordered list. |
<ol> | Defines an ordered list. |
<li> | Defines a list item. |
<dir> | (Obsolete) Defines a directory list. Use <ul> instead. |
<dl> | Defines a description (definition) list. |
<dt> | Defines a term/name in a description list. |
<dd> | Defines the description for a term in a description list. |
<menu> | Defines a list (menu) of commands. |
<menuitem> | (Obsolete) Defined a command in a context menu. Removed from the standard and unsupported in modern browsers. |
| Tag | Description |
|---|
<table> | Defines a table. |
<caption> | Defines a title of the table. |
<th> | Defines a header cell in a table. |
<tr> | Defines a row of cells in a table. |
<td> | Defines a cell in a table. |
<thead> | Groups a set of rows that describes the column labels of a table. |
<tbody> | Groups a set of rows defining the main body of the table data. |
<tfoot> | Defines a footer of a table. |
<col> | Defines values for one or more columns in a <colgroup> element. |
<colgroup> | Specifies a group of one or more columns in a table for formatting. |
These tags carry no inherent meaning. They are containers you style with CSS. Reach for them only when no semantic element fits.
| Tag | Description |
|---|
<div> | Defines a generic block-level container. |
<span> | Defines a generic inline container. |
<style> | Contains style information (commonly CSS) for the document. |
Semantic elements describe the meaning of their content, helping browsers, search engines, and assistive technology. See Semantic Elements in HTML5.
| Tag | Description |
|---|
<header> | (HTML5) Defines a header or a block of introductory content. |
<footer> | (HTML5) Defines a footer for a document or section. |
<main> | (HTML5) Specifies the dominant content of the document. |
<section> | (HTML5) Defines a thematic grouping of content. |
<article> | (HTML5) Defines self-contained, independently distributable content. |
<aside> | (HTML5) Defines content tangentially related to the surrounding content. |
<details> | (HTML5) A disclosure widget the user can open or close. |
<summary> | (HTML5) Defines the visible heading for a <details> element. |
<dialog> | (HTML5) Defines a dialog box or modal window. |
<data> | (HTML5) Links content with a machine-readable value. |
| Tag | Description |
|---|
<head> | Contains metadata about the document, which is not displayed to the user. |
<meta> | Defines metadata such as character set, viewport, and description. |
<base> | Defines the base URL and/or target for all relative links on a page. |
<basefont> | (Obsolete) Set a default font, size, and color. Use CSS instead. |
<template> | (HTML5) Holds inert markup that is not rendered but can be cloned and inserted with JavaScript. |
| Tag | Description |
|---|
<script> | Embeds or references executable script (usually JavaScript). |
<noscript> | Defines fallback content for browsers with scripting disabled or unsupported. |
<embed> | Embeds external content (such as a plug-in or media) at the specified point. |
<object> | Embeds an external resource (image, nested browsing context, plug-in content). |
<param> | Defines a parameter for an <object> element. |
<applet> | (Obsolete) Embedded a Java applet. Removed from the standard; use <object> or <embed> instead. |
Practice