<video>

The <video> element, which adds native video playback support to the HTML specification in HTML5, can be used to embed a video in an HTML document. Add the video URL to the element by using either the src attribute of the <video> element or by nesting one or more <source> elements between the opening and closing <video> tags.

<track>

The <track> element is used as a child of an <audio> or <video> element and adds a time-based data source to the parent media element. For example, the <track> element can be used to add timed subtitles to a video and closed captions to audio content.

<time>

Defines a datetime. The content of a time element is typically a human-readable date and time, and a machine-readable version of the same time is placed in the datetime attribute.

<tfoot>

The <tfoot> element identifies one or more <tr> elements as containing summary contents of a table's columns. The <tfoot> element must be the direct descendant of a <table> element. In HTML5, <tfoot> can be placed either before or after <tbody> and <tr> elements, but must appear after any <caption>, <colgroup>, and <thead> elements.

<tbody>

The <tbody> element must be a direct descendant of a <table> element and is used to identify <tr> elements that comprise the body of the table. The <tbody> element should always come after a <thead> element and may come before or after a <tfoot> element.

<summary>

The <summary> element is used as a child of <details> element to provide a summary of the contents of the <details> element. At this time, <summary> is not well supported across browsers.

<source>

The <source> element is used as a child of a <picture>, <audio>, or <video> element, and identifies the URL of one or more media resources. The <source> element is commonly used to add media resources in multiple formats for the best possible cross-browser compatibility.

<section>

The <section> element is a structural HTML element used to group together related elements. Each <section> typically includes one or more heading elements and additional elements presenting related content.

<ruby>

The <ruby> element is used pair characters of certain Asian languages with pronunciation information. The <ruby> element is used in conjunction with the <rp> and <rt> elements.

<rt>

Defines explanations and pronunciations of characters in ruby language annotations (a system for displaying certain characters in several Asian languages).

<rp>

Defines content which is to be shown in browsers that do not support ruby language annotations (a system for displaying certain characters in several Asian languages).

<q>

The <q> element is used to identify and inline quote that does not require paragraph breaks. Longer quotations that do require paragraph breaks should use the <blockquote> element.

<progress>

The <progress> element is used to create a progress bar to serve as a visual demonstration of progress towards the completion of task or goal. The max and value attributes are used to define how much progress (value) has been made towards task completion (max).

<output>

The <output> element is used to display the result of a calculation. The <output> element is typically used in conjunction with a parent <form> and sibling <input> elements to perform a calculation. The actual calculation is typically completed using JavaScript.

<optgroup>

The <optgroup> element is used to group together related <option> elements within a parent <select> drop-down list.

<object>

The <object> element is used to embed an object in an HTML document. It is commonly used to embed webpage elements such as Flash and Java items that are handled by browser plugins.

<nav>

The <nav> element identifies a group of navigation links. Links in a <nav> element may point to other webpages or to different sections of the same webpage.

<meter>

The <meter> element is used to create a visual representation of a gauge that demonstrates the relationship of a value to established minimum and maximum values.

<menuitem>

The <menuitem> element is used to add menu items and commands to contextual pop-up menus (the menus that appear when you right-click in a web browser).

<mark>

The <mark> element is used to highlight text inside of another element such as a paragraph, list, or table. Text to which the <mark> element has been added is considered to be particularly relevant in a specific context.

<main>

The <main> element is used to denote the content of a webpage that relates to the central topic of that page or application. It should include content that is unique to that page and should not include content that is duplicated across multiple webpages, such as headers, footers, and primary navigation elements.

<keygen>

The <keygen> element generates a public-private key pair and sends the public key to the server with form submission. The element is expected to be deprecated and does not have broad browser support.

<header>

The <header> element is used to identify content that precedes the primary content of the web page and often contains website branding, navigation elements, search forms, and similar content that is duplicated across all or most pages of a website.

<footer>

The <footer> element is a structural element used to identify the footer of a page, document, article, or section. A <footer> typically contains copyright and authorship information or navigational elements pertaining to the contents of the parent element.

<figure>

The <figure> element identifies self-contained content related to the main content, such as an image, table, or chart. The <figcaption> element is often nested within a <figure> element to add a caption to the content identified by the <figure> tags.

<figcaption>

The <figcaption> element is used as a child of a parent <figure> element to attach a caption to the image, table, or chart contained in the <figure> element.

<dialog>

The <dialog> element is used to create a dialog box such as a popup or modal window that is rendered within the active browser window. Defining the behavior of a <dialog> element typically requires the use of JavaScript.

<details>

The <details> element is used to pair a <summary> statement with additional related details. The <summary> is displayed, and a user can view or hide additional details by clicking on the summary.

<datalist>

The <datalist> element is used to define autocompletion values for an associated <input> element. Suggested autocompletion values are added to a datalist by nesting one or more <option> elements between the opening and closing <datalist> tags.

<canvas>

The <canvas> element creates a rectangular pane of arbitrary size which can be used for drawing graphics, manipulating photos, and creating animations with JavaScript.

<bdo>

The <bdo> element is used override the default directionality of text. It is used to display characters from languages that are read from right-to-left, such as Hebrew and Arabic.

<bdi>

The <bdi> element is used to isolate a small section of text which may be formatted to run in the opposite direction than the text around it (such as right-to-left in a left-to-right context). This is useful when a language with right-to-left directionality, such as Arabic or Hebrew, is used inline with left-to-right languages.

<audio>

The <audio> element is used to add audio media resources to an HTML document that will be played by native support for audio playback built into the browser rather than a browser plugin.

<aside>

The <aside> element is used to identify content that is related to the primary content of the webpage, but does not constitute the primary content of the page. Author information, related links, related content, and advertisements are exampes of content that may be found in an aside element.

<article>

The <article> element identifies a self-contained piece of content which could theoretically be distributed to other websites and platforms as a stand-alone unit. The <article> element is a good choice to contain entire blog posts, news articles, and similar content.

<acronym>

The <acronym> element and title attribute was used to associate a full-text explanation with an acronym. The <acronym> element has been deprecated in HTML5 and <abbr> should be used instead.

<abbr>

The <abbr> element is used along with a title attribute to associate a full-text explanation with an abbreviation or acronym. Website visitors do not see the text in the title attribute, but browsers, search engines, and assistive technologies do use this information.

<sup>

AdvertismentSuperscripts are Super! The <sup> script is used to identify text that should appear in a superscript position relative to the surrounding text. Use the element for it's semantic meaning, rather than for it's styling. If all you want to do is make a character appear superscript for stylistic purposes, CSS is the right tool […]

<del>

The <del> tag is used to identify text that has been deleted from a document but retained to show the history of modifications made to the document. Pair a <del> element with an <ins> element to identify the inserted text that replaced the deleted text.

<textarea>

The <textarea> element is used to create a text input area of unlimited length. By default, text in a <textarea> is rendered in a monospace or fixed-width font, and text areas are most often used within a parent <form> element.

<th>

The <th> element is used to identify table cells that contain column header values rather than table data. A row of table heading values is created by nesting multiple <th> values in a parent <tr> element.

<title>

The <title> element is a required HTML element used to assign a title to an HTML document. Page titles are not displayed in the browser window, but they are used as the page name by search engines and displayed by browsers in the title bar, on the page tab, and as the page name of bookmarked webpages.

<tr>

The <tr> element is used to group together <th> or <td> values into a single row of table heading or data values. The <tr> element may be a direct child of a <table> element or nested within a parent <thead>, <tfoot>, or <tbody> element.

<tt>

The <tt> element was used to identify text to be displayed using the browser's default monospace or fixed-width font as it would appear on a fixed-width device such as a teletype. This element has been deprecated and the <code> element is an appropriate modern replacement for <tt>.

<u>

The <u> element was originally used to identify text that should be underlined. The element was deprecated in HTML 4.01, but in HTML5 it was redefined to represent text that should be displayed in a way that is an unarticulated but stylistically distinct from the surrounding text. For example, one proper use of the <u> element is to identify misspelled terms.

<ul>

The <ul> element is used to define an unordered list of items. Use an unordered list to contain <li> elements that do not need to be presented in numerical order and can be rearranged without changing the meaning of the list.

<var>

The <var> element is used to identify a variable in a mathematical equation or computer program. Text marked with <var> tags is displayed in an italics font style by most browsers.

<wbr>

The <wbr> element is used to define a word break opportunity in a string of text. It is particularly useful when you wish to define word break opportunities in a long unbroken string of text that might otherwise break improperly.

<xmp>

The <xmp> element was used to surround HTML example text that should be rendered without interpreting any HTML elements between the opening and closing <xmp> tags. The element was deprecated in HTML 3.2 and is now obsolete.

<input>

The <input> element is used to create form fields that accept user input. Form <input> elements can be presented many different ways, including simple text fields, buttons, checkboxes, drop-down menus, and more, by setting the type attribute of the input element to the appropriate value.

<isindex>

The <isindex> element was used to create a single line search prompt for querying the contents of the document. Implementation of the element was inconsistent and the functionality duplicated by the <form> and <input> elements. As a result, <isindex> was deprecated in HTML 4.01.

<kbd>

The <kbd> element is used to identify text that represents user keyboard input. Text surrounded by <kbd> tags is typically displayed in the browser's default monospace font.

<label>

The <label> element is used to associate a text label with a form <input> field. The label is used to tell users the value that should be entered in the associated input field.

<legend>

The <legend> element is used to add a caption to a group of related form <input> elements that have been grouped together into a <fieldset>.

<li>

The <li> element defines a list item that is part of an ordered and unordered list of items.

<link>

The <link> element is used to define a relationship between an HTML document and an external resource. This element is most commonly used to define the relationship between a document and one or more external CSS stylesheets.

<listing>

The <listing> element was intended as a way to render HTML code on a page. It was never properly supported, and is now deprecated. Using <listing> will almost certainly result in unexpected results. Instead, use <code>, or place the content in a <div> with the appropriate CSS styling.

<map>

The <map> element is used in conjunction with one or more <area> elements to define hyperlinked regions of an image map.

<marquee>

The <marquee> element was used to identify text that should move across a defined section of a webpage in a horizontal or vertical direction. The element has been deprecated and should no longer be used. CSS or JavaScript can be used to create similar effects.

<menu>

The <menu> element defines an instance of a menu. This experimental HTML feature has very limited browser support, but may soon be an effective way to add menu items to context menus and to create interactive web application menus.

<meta>

The <meta> element is used to add machine-readable information to an HTML document. Information added with the <meta> tag is not displayed to website visitors but is provided for use by browsers and web crawlers.

<multicol>

The <multicol> element was an experimental feature, now deprecated, that was used to create a newspaper-style layout for text content. The modern CSS columns property can be used to create the same effect.

<nobr>

The <nobr> element identifies text that should not be allowed to break into multiple lines which can force users to scroll horizontally to view the content. This element is obsolete and should be used.

<noembed>

The <noembed> element was conceived as a way to provide fallback content to users whose browsers did not support the <embed> element. In HTML 4.02 <noembed> was deprecated in favor of <object> to provide fallback content.

<noframes>

The <noframes> element was used within a parent <frameset> to provide fallback content for users whose browsers did not support <frame> content. Frames have been deprecated, so the <noframes> element should not be in use on modern websites.

<noscript>

The <noscript> element contains HTML content that will be rendered if a user viewing the webpage does so using a browser that does not support scripts or has disabled scripts.

<ol>

The <ol> element is used to create an ordered list. An ordered list is created by nesting one or more <li> elements between the opening and closing <ol> tags.

<option>

The <option> element is used in conjunction with the <select> element to create a drop-down menu in a web form. Each <option> element is displayed as an available option in the resulting drop-down menu.

<p>

The <p> element is used to identify blocks of paragraph text. The closing <p> tag is optional and is implied by the opening tag of the next HTML element encountered in an HTML document after an opening <p> tag.

<param>

The <param> element is used to specify the parameters that apply to plugin-powered content embedded with an <object> element.

<plaintext>

The <plaintext> element was used to render HTML code as plain text. Since everything after the opening tag was rendered as plain text, there was no closing <plaintext> tag. This element is obsolete and should not be used. Instead, use the <code> or <pre> elements.

<pre>

The <pre> element is used to identify text that should be rendered with all line breaks and spaces intact. It is often used to preserve indenting and line breaks when displaying code blocks.

<s>

The <s> element is used to identify text that is no longer accurate or relevant. It is similar to, but semantically distinct from, the <del> element which is used to identify document edits. By default, browsers render the contents of an <s> element with a strikethrough.

<samp>

The <samp> element is used to identify text that should be interpreted as sample output from a computer program. By default, browser render <samp> element contents in a monospace font.

<script>

The <script> element contains code written in a programming language other than HTML or specifies the location of an external script resource. It is most commonly used to add JavaScript and jQuery to webpages either directly or by linking to external .js files.

<select>

The <select> element, used along with one or more <option> elements, creates a drop-down list of options for a web form. The <select> element creates the list and each <option> element is displayed as an available option in the list.

<small>

The <small> element identifies text to display one size smaller than the surrounding text. In HTML5 the element is intended to be used to identify items of secondary importance such as copyright notices, side comments, and legal notices.

<sound>

The <sound> element was used in the Mosaic browser to add sound files to HTML documents. It was never formally adopted in an HTML standard and has no support among modern browsers. Instead, use the modern HTML5 element <audio>.

<spacer>

The <spacer> element was used to add whitespace to web pages by replicating the effect of adding a small image to web page of the same color as the background color of the web page. This element is obsolete. Use modern CSS equivalents to add space between elements of a web page.

<span>

The <span> element is the inline equivalent to the block-level <div> element. It is used to select inline content for purely stylistic purposes.

<strong>

The <strong> element is used to identify text that is of greater importance than the surrounding text. By default, all browsers render <strong> text in a bold typeface.

<style>

The <style> element is used to add CSS style rules to an HTML document. The element is expected to appear in the document <head>, but will also render acceptably when used in the <body> of the document.

<sub>

The <sub> element is used to identify characters that should be rendered in a subscript position. The element should be used mark text according to typographical conventions and not stylistic purposes. Text that is to appear subscript for purely stylistic purposes should be styled with CSS.

<table>

The <table> element is used in conjunction with child elements such as <tr>, <td>, <th>, and others to add tabular data to an HTML document.

<thead>

The <thead> element is used to identify one or more rows of a table that contain column labels rather than table data.

<td>

The <td> element creates a single data cell in an HTML <table>. Data cells must be used as child elements of a parent <tr>, and the resulting group of <td> elements will be rendered as a single table row in a <table>.

Comment Tag <!– •••••• –>

This element is used to add a comment to an HTML document. An HTML comment begins with <!–– and the comment closes with ––>. HTML comments are visible to anyone that views the page source code, but are not rendered when the HTML document is rendered by a browser.

<!DOCTYPE …>

The <!DOCTYPE html> declaration is used to inform a website visitor's browser that the document being rendered is an HTML document. While not actually an HTML element itself, every HTML document should being with a DOCTYPE declaration to be compliant with HTML standards.

<a>

The <a> element, or anchor element, it used to create a hyperlink to another webpage or another location within the same webpage. The hyperlink created by an anchor element is applied to the text, image, or other HTML content nested between the opening and closing <a> tags.

<address>

The <address> element identifies contact information relevant to the current site, page, document, section, or article. It should not be used to identify addresses in any other context.

<app>

The <app> element was a predecessor of the <applet> element which was deprecated in HTML 4.01 and removed from the specification entirely in HTML5. Modern equivalents include <object> and <embed>.

<applet>

The <applet> element was used to add Java applets to an HTML document. This element was deprecated in HTML 4.01 and removed from the HTML specification entirely with the release of HTML5. Modern equivalents inlcude <object> and <embed>.

<area>

The <area> element is used as a child of a <map> element to define clickable a region on an image map. Different regions of an image map can be hyperlinked to different locations by nesting multiple <area> elements in a single <map> element.

<b>

The <b> element is used to draw attention to enclosed text without implying any added importance or emphasis. Text surrounded by <b> tags is displayed with a bold typeface.

<base>

The <base> element is used to identify a base URL upon which to build all relative URLs that appear on a webpage. In addition, if the <base> element has a target attribute, the target attribute will be used as the default attribute for all hyperlinks appearing in the document.

<basefont>

The <basefont> element was used to set the default font size for an HTML document. Deprecated in HTML 4.01 and removed entirely from HTML5, <basefont> is not supported by modern browsers and font styling should be controlled with CSS.

<bgsound>

The <bgsound> element was used to embed a background audio track in an HTML document. It was only ever properly implemented in Internet Explorer and is no longer supported. The <audio> element can now be used to add background sounds, but audio tracks that autoplay and cannot be disabled by the user are strongly discouraged in modern web design.

<big>

The <big> element was used to cause the selected text to appear one size larger than the surrounding text. This purely presentational tag was removed from HTML5 and should not be used. Instead, use CSS to control font size.

<blink>

The <blink> element was an experimental feature that could be used to cause enclosed text to blink. It was never added to the HTML specification and should not be used by modern websites.

<blockquote>

The <blockquote> element defines a block of text that is a direct quotation. The <quote> element should be used when a quotation is presented inline with the surrounding text, but when the quotation is presented as a separate paragraph, <blockquote> is the appropriate element to use to identify the quotation.

<body>

The <body> element contains the entire content of a webpage. It must be the second element inside of the parent <html> element, following only the <head> element.

<br>

The <br> element is used to insert a line break or carriage-return within a parent element such as a paragraph without breaking out of the parent container.

<button>

The <button> element is used to create an HTML button. Any text appearing between the opening and closing tags will appear as text on the button. No action takes place by default when a button is clicked. Actions must be added to buttons using JavaScript or by associating the button with a form.

<caption>

The <caption> element is used to add a caption to an HTML table. A <caption> must appear in an HTML document as the first descendant of a parent <table>, but it may be positioned visually at the bottom of the table with CSS.

<center>

The <center> element was used to identify text that should be centered when rendered by a browser. However, the element has been deprecated, and the correct and modern way to center-align text is with CSS.

<cite>

The <cite> element identifies the source of a quotation or creative work. Use the element to identify the name rather than the author or creator of a referenced creative work.

<code>

The <code> element is used to define enclosed text as computer code. It is often paired with the <pre> element to preserve line breaks and indentation when presenting blocks of computer code.

<col>

The <col> element, typically implemented as a child element of a parent <colgroup>, can be used to target a column in an HTML table.

<colgroup>

The <colgroup> element is used a parent container for one or more <col> elements which are used to target columns in an HTML table.

<comment>

The <comment> element was an experimental way of adding comments to HTML code that would not be rendered by the browser. It was never added to the HTML specification and is not supported by modern browsers.

<dd>

The <dd> element is used to pair a definition description with a sibling definition term enclosed in <dt> tags within a parent definition list.

<ins>

The <ins> element is used to identify text that has been inserted into a document. It is often paired with a <del> element which identifies deleted text replaced by the text contained in the <ins> element.

<dfn>

The <dfn> element is used to identify the defining instance of a term in an HTML document. When a term is wrapped in <dfn> tags, browsers and web crawlers will understand that nearby text contains a definition of the term.

<dir>

The <dir> element, deprecated beginning in HTML 4.01, was used to create a list of file names or the contents of a directory. An unordered list, created with the <ul> element, is the appropriate modern replacement for the <dir> element.

<div>

The <div> element defines an arbitrary block of content which can be placed and styled as a single unit.

<dl>

The <dl> element defines a description list.

<dt>

The <dt> element defines a term in a description list.

<em>

The <em> element is used to indicate text that should receive greater emphasis than the surrounding text.

<embed>

The <embed> element creates an embedded panel in which a third-party application, such as a Flash-based object, can run.

<fieldset>

The <fieldset> element may be optionally used to group together related fields in an HTML form.

<font>

The <font> element was used to specify typographical display styles. It has been deprecated and fonts should be styled with CSS instead.

<form>

The <form> element is used to create an HTML form. The <form> element does not actually create form fields, but is used as a parent container to hold form fields such as <input> and <textarea> elements.

<frame>

The <frame> element was used to break a single browser window into multiple independent browsing contexts. Frames have been deprecated and should not used by modern websites.

<frameset>

The <frameset> element was used to create a group of frames which could be styled and controlled as a unit. Frames have been deprecated and should no longer be used.

<h1>, <h2>, <h3>, <h4>, <h5>, <h6>

The <h1>, <h2>, <h3>, <h4>, <h5>, and <h6> elements are used to create headings in descending order of importance where <h1> is the most important and <h6> the least.

<head>

The <head> element contains information about an HTML document that is used by browsers and web crawlers but is not displayed to website visitors.

<hr>

The <hr> element is used to represent a thematic break between paragraph-level elements. It is typically rendered as a horizontal line.

<html>

The <html> element is used as a container for all of the HTML of an entire document.

<hype>

The <hype> element was used to create a browser-specific "Easter Egg" effect. It was never added to the official HTML specification and is no longer supported by any browser. Do not use it.

<i>

The <i> element is used to differentiate words from the surrounding text by styling the marked text in italics without implying any added emphasis to the italicized words.

<iframe>

The <iframe> creates an inline frame, which embeds an independent HTML document into the current document.

<img>

The <img> tag is used to insert an image into a document.