HTML Tag Reference
Alphabetical reference of all HTML tags — 112 elements with quick descriptions.HTML5 marks new tags in HTML5, Deprecated marks removed or discouraged tags.
| Tag | Description |
|---|---|
! —Special | |
| <!--...--> | Defines an HTML comment. Content inside is hidden from the browser. |
| <!DOCTYPE> | Declares the document type. Tells the browser to render in standards mode. |
A | |
| <a> | Creates a hyperlink to another page, file, email address, or location within the same page. |
| <abbr> | Marks an abbreviation or acronym. The title attribute expands the full term on hover. |
| <acronym> Deprecated | Defined an acronym. Not supported in HTML5 —use <abbr> instead. |
| <address> | Provides contact information for the author or owner of the page or article. Typically rendered in italics. |
| <area> | Defines a clickable region inside an image map. Works with <map> to create interactive hotspots. |
| <article> HTML5 | Represents a self-contained piece of content that could be distributed independently —blog post, news story, forum thread. |
| <aside> HTML5 | Defines content that is tangentially related to the main content —sidebars, callout boxes, pull quotes. |
| <audio> HTML5 | Embeds sound content. Supports MP3, WAV, and OGG formats with fallback via <source>. |
B | |
| <b> | Draws attention to text without conveying extra importance. Rendered as bold by default. |
| <base> | Sets the base URL for all relative links in the document. Only one <base> per page. |
| <bdi> HTML5 | Isolates a span of text that may be formatted in a different writing direction. Prevents bidirectional text confusion. |
| <bdo> | Overrides the current text direction. Use dir="rtl" or dir="ltr" to control rendering. |
| <blockquote> | Represents a long quotation that is pulled from another source. Browsers typically indent it. |
| <body> | Contains the visible content of the HTML document —text, images, tables, forms, and everything the user sees. |
| <br> | Inserts a line break. Use for short inline breaks like addresses or poems, not for spacing. |
| <button> | Creates a clickable button. Can submit forms, reset fields, or trigger JavaScript. |
C | |
| <canvas> HTML5 | Provides a drawable region controlled by JavaScript. Used for graphics, charts, animations, and game rendering. |
| <caption> | Adds a visible title to a table. Always appears immediately after the opening <table> tag. |
| <cite> | Marks the title of a creative work —book, article, song, movie. Rendered in italics by default. |
| <code> | Displays a fragment of computer code. Browsers render it in a monospace font. |
| <col> | Defines column properties within a <colgroup>. Useful for applying consistent widths or styles to entire columns. |
| <colgroup> | Groups one or more <col> elements to apply formatting across table columns. |
D | |
| <data> HTML5 | Links a piece of content to a machine-readable value via the value attribute. |
| <datalist> HTML5 | Provides a set of predefined options for an <input> field, enabling autocomplete suggestions as the user types. |
| <dd> | Supplies the description or value for a term in a description list (<dl>). |
| <del> | Represents text that has been removed from the document. Browsers render it with a strikethrough. |
| <details> HTML5 | Creates an interactive disclosure widget that users can expand or collapse to reveal additional content. |
| <dfn> | Marks the defining instance of a term. The term itself is typically rendered in italics. |
| <dialog> HTML5 | Represents a dialog box or interactive popup window. Can be shown modally with JavaScript. |
| <div> | The generic block-level container. Used for layout and grouping when no semantic element fits. |
| <dl> | Creates a description list —a list of term-description pairs using <dt> and <dd>. |
| <dt> | Defines a term or name in a description list (<dl>). |
E | |
| <em> | Indicates emphasis. The content is typically rendered in italics —think of it as verbal stress in a sentence. |
| <embed> HTML5 | Embeds external content like PDFs, browser plugins, or interactive media directly into the page. |
F | |
| <fieldset> | Groups related form controls together, drawing a border around them for visual clarity. |
| <figcaption> HTML5 | Provides a caption or legend for the content inside a <figure> element. |
| <figure> HTML5 | Wraps self-contained media —images, diagrams, code snippets, charts —often paired with <figcaption>. |
| <footer> HTML5 | Defines the footer of a page or section —typically holds copyright info, links, and authorship details. |
| <form> | Creates an interactive form that collects user input and sends it to a server for processing. |
| <frame> Removed | An old HTML4 frame element. Removed in HTML5 —use <iframe> instead. |
| <frameset> Removed | An old HTML4 frameset container. Removed in HTML5 —use <iframe> instead. |
H | |
| <h1> - <h6> | Heading elements from level 1 (most important) to level 6 (least important). Used to structure page content hierarchically. |
| <head> | Holds metadata about the page —title, character set, styles, scripts, and other information not displayed directly. |
| <header> HTML5 | Represents introductory content —navigation links, logos, headings. Can be used per page or per section. |
| <hgroup> HTML5 | Groups a set of headings (<h1>—code><h6>) to treat them as a single title with a subtitle. |
| <hr> | Draws a horizontal rule —a visible separator between thematic sections of content. |
| <html> | The root element of an HTML document. All other elements are descendants of this tag. |
I | |
| <i> | Denotes text in an alternate voice —technical terms, foreign phrases, thoughts. Rendered in italics. |
| <iframe> | Embeds another HTML document inline. Used for videos, maps, ads, and external content. |
| <img> | Embeds an image. Requires src (file path) and alt (accessible description). |
| <input> | The most versatile form control —supports over 20 types including text, password, date, file, checkbox, and radio. |
| <ins> | Marks text that has been inserted into the document. Browsers render it with an underline. |
K | |
| <kbd> | Represents keyboard input —keys the user should press. Often rendered in a monospace font. |
L | |
| <label> | Defines a label for a form control. Clicking the label focuses or activates the associated input. |
| <legend> | Provides a caption for a <fieldset> group, describing the purpose of the grouped controls. |
| <li> | Represents a single item in an ordered (<ol>) or unordered (<ul>) list. |
| <link> | Links external resources —most commonly stylesheets. Placed inside <head>. Also used for favicons and preloading. |
M | |
| <main> HTML5 | Identifies the dominant content of the page. There must be only one <main> per document. |
| <map> | Defines a client-side image map —a way to make parts of an image clickable using <area> tags. |
| <mark> HTML5 | Highlights text for reference or notation —like a yellow marker pen on a printed page. |
| <menu> HTML5 | Represents a set of commands or a toolbar menu. Can replace <ul> for semantic menu lists. |
| <meta> | Defines metadata about the document —character encoding, description, viewport settings, and more. |
| <meter> HTML5 | Displays a scalar measurement within a known range —disk usage, memory consumption, rating score. |
N | |
| <nav> HTML5 | Defines a block of navigation links —main menus, table of contents, breadcrumbs. |
| <noscript> | Provides fallback content displayed when JavaScript is disabled or unsupported in the browser. |
O | |
| <object> | Embeds external resources —PDFs, Flash (legacy), or other plugins. Declarative alternative to <embed>. |
| <ol> | Creates an ordered (numbered) list. Each item is wrapped in <li>. |
| <optgroup> | Groups related <option> elements inside a <select> dropdown with a visible label. |
| <option> | Represents a single choice inside a <select>, <datalist>, or <optgroup>. |
| <output> HTML5 | Displays the result of a calculation or a user action —perfect for live form feedback. |
P | |
| <p> | Defines a paragraph of text. The most fundamental block-level text container in HTML. |
| <param> | Defines parameters for an <object> element. Used with legacy plugins like Flash. |
| <picture> HTML5 | Provides responsive image alternatives based on screen size, resolution, or format support via multiple <source> elements. |
| <pre> | Renders preformatted text —preserves spaces and line breaks. Rendered in monospace, ideal for code blocks. |
| <progress> HTML5 | Shows the completion progress of a task —file upload, form steps, or any ongoing process. |
Q | |
| <q> | Marks a short inline quotation. Browsers automatically add quotation marks around the content. |
R | |
| <rp> HTML5 | Provides fallback parentheses for browsers that don't support ruby annotations. |
| <rt> HTML5 | Defines the pronunciation or annotation text in a ruby annotation (used for East Asian typography). |
| <ruby> HTML5 | Wraps a ruby annotation —small guide text above or next to East Asian characters to indicate pronunciation. |
S | |
| <s> | Represents content that is no longer accurate or relevant. Rendered with a strikethrough. |
| <samp> | Displays sample output from a computer program. Rendered in monospace type. |
| <script> | Embeds or references executable JavaScript code. Can be placed inline or linked to an external file. |
| <section> HTML5 | Defines a thematic grouping of content —chapters, tab panels, or any distinct section of a page. |
| <select> | Creates a dropdown selection list. Options are defined with <option> elements. |
| <slot> HTML5 | A placeholder inside a Web Component that can be filled with custom markup when the component is used. |
| <small> | Renders side-comments and fine print —copyright notes, disclaimers, legal text. Browsers display it one size smaller. |
| <source> HTML5 | Specifies multiple media resources for <audio>, <video>, or <picture>. The browser picks the first compatible format. |
| <span> | The generic inline container. Used for styling or scripting small portions of text without changing the document flow. |
| <strong> | Indicates strong importance, seriousness, or urgency. Browsers render it in bold —more significant than <b>. |
| <style> | Contains CSS rules that apply directly to the page. Can be scoped with media queries. |
| <sub> | Renders subscript text —lowered below the baseline. Used in chemical formulas (H₂O) and footnotes. |
| <summary> HTML5 | Provides the visible heading for a <details> collapse widget. Clicking it toggles the details open or closed. |
| <sup> | Renders superscript text —raised above the baseline. Commonly used for ordinal numbers (1st) and mathematical exponents. |
T | |
| <table> | Creates an HTML table for displaying structured data in rows and columns. |
| <tbody> | Groups the body rows of a table. Helps with semantic structure and targeted styling. |
| <td> | Defines a standard data cell in a table. Content can be text, images, or other HTML elements. |
| <template> HTML5 | Stores HTML fragments that aren't rendered immediately. JavaScript can clone and insert them later. |
| <textarea> | Creates a multi-line text input control. Useful for comments, messages, and longer form responses. |
| <tfoot> | Groups the footer rows of a table —typically used for summaries, totals, or column notes. |
| <th> | Defines a header cell in a table. Rendered bold and centered by default. Improves accessibility for screen readers. |
| <thead> | Groups the header rows of a table. Combined with <tbody> and <tfoot> for semantic table structure. |
| <time> HTML5 | Marks a specific time or date in a machine-readable format. Helps search engines display event snippets. |
| <title> | Sets the page title shown in the browser tab. Also used as the clickable headline in search results. |
| <tr> | Defines a row in an HTML table. Contains <th> or <td> cells. |
| <track> HTML5 | Adds timed text tracks (subtitles, captions, descriptions) to <video> or <audio> elements. |
U | |
| <u> | Renders text with an underline. Originally for links, now used for misspelled words or proper names in Chinese/Japanese. |
| <ul> | Creates an unordered (bulleted) list. Each item is wrapped in <li>. |
V | |
| <var> | Represents a variable name in mathematical expressions or programming code. Typically rendered in italics. |
| <video> HTML5 | Embeds video content directly in the page. Supports MP4, WebM, and OGG with fallback via <source>. |
W | |
| <wbr> HTML5 | Suggests an optional word-break point. Tells the browser it's OK to break a long word at this position. |



