Explain semantic elements in HTML5 Last Updated : 23 Jul, 2025 Comments Improve Suggest changes Like Article Like Report In this article, we are going to learn about the semantic elements in HTML5. Semantic elements are the elements that describe their meaning to both the developer as well as to the browser. HTML5 provides us with many semantic elements as listed below:<article> tag: A article tag is used to specify a particular block or space on the web page that is independent and has self-contained content. We can use <article> for the blog posts, the articles from newspapers, and more such entities.<header> tag: The header is the semantic tag that specifies the header or title of the page that will be shown at the top of the page.<nav> tag: Nav is the element or tag that is used to build the navbar of the page. It is the element inside which we define the nav links that perform some actions on click to them.<section> tag: section element is used to define the midsection part of the page, which can contain the information about the upcoming events, text content, or whatever a developer wants it to display.<main> tag: The main element is also used to define the middle content on the web page. It can contain text or other elements to show the content on the web page.<aside> tag: The aside element defines the content on the side of the web page.<footer> tag: Footer is the element mainly used to provide the copyrights or some extra links that are available on the web page.<table> tag: The table tag is one of the most important elements available in HTML. It allows us to create a table with rows, columns, and the data inside them, as shown below example.<form> tag: The form tag is also a very useful and important tag. It is used to build a web page form that can be a login or a submission form. It uses input tags inside it which are used to get inputs from the user.<figure> and <figcaption> tag: The figure tag contains the self-contained content such that images, graphs, code content, etc. while the figcaption tag specifies the caption or the description of the content contained by the figure tag. we can place the caption above or below the figure content by using figcaption tag to the corresponding position.<details> and <summary> tag: The details tag contains the information that will be visible on the page when the user demands it to display. By default, the text is not visible on the page. while the summary tag is used to show the main heading of the details tag and the text that is contained inside details other than summary text will be visible when the user clicks on the content of the summary tag.<time> tag: Time tag the time or the datetime. We use an attribute named datetime inside it that translates the time into a machine-readable language that results in a smarter search response from search engines.<mark> tag: The mark tag contains the content that is marked or highlighted to show the importance of the text.Let's see the use of the above elements through some examples.Example 1: In this example, we will use HTML5 semantic elements. HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>HTML5 semantic elements</title> <style> body { background-color: black; } .center { display: flex; color: white; align-items: center; justify-content: center; } nav { display: flex; align-items: center; background-color: rgb(41, 40, 40); height: 8vh; } ol { display: flex; } ol li { list-style: none; padding: 15px; } ol li a { text-decoration: none; color: white; } .container { width: 65vw; height: 65vh; color: white; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; border-bottom: 1px solid grey; } section img { position: absolute; left: 3vw; top: 8vh; height: 40vh; width: 60vw; border-radius: 15px; } main { position: absolute; top: 50vh; left: 3vw; right: 7vw; } .mid { display: flex; flex-direction: row; } aside img { height: 65vh; width: 30vw; margin-left: 2vw; } footer { margin-top: 6vh; width: 100%; display: flex; align-items: center; justify-content: center; color: white; } </style> </head> <body> <header class="center"> <img src= "https://media.geeksforgeeks.org/wp-content/uploads/20220510093811/GFGLogo2.png" alt="GFG logo" height="50px" width="50px"> <h2>GeeksforGeek</h2> </header> <nav> <ol> <li><a href="#">Contribute</a></li> <li><a href="#">Tutorials</a></li> <li><a href="#">Jobs</a></li> <li><a href="#">Events</a></li> </ol> </nav> <div class="mid"> <div class="container"> <section> <img src= "https://media.geeksforgeeks.org/wp-content/uploads/20220509230929/article-300x106.png" alt="section image"> </section> <main> <h2>12 pip Commands For Python Developers</h2> <p> Python has been preferred over all programming languages for technological advancement. It is one of the most lucrative programming languages that is used as the… Read More </p> </main> </div> <aside> <img src= "https://media.geeksforgeeks.org/wp-content/uploads/20220509230937/whatnew-300x258.png" alt="aside image"> </aside> </div> <footer> All copyrights reserved </footer> </body> </html> Output: Example 2: In this example, we will use HTML5 semantic elements. HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>HTML 5 semantic elements</title> <style> .container { display: flex; align-items: center; justify-content: center; width: 100%; } table, th, td { border: 2px solid black; } </style> </head> <body> <div class="container"> <table width="50%"> <tr> <th>Name</th> <th>Description</th> </tr> <tr> <td> GeeksforGeeks </td> <td> A computer science portal for all geeks. </td> </tr> <tr> <td> Apple </td> <td> Manufacture smartphones with their own processor and other properties. </td> </tr> <tr> <td> Toyota </td> <td> A car manufacturing company with a lot of customers around the globe. </td> </tr> </table> </div> </body> </html> Output: Example 3: In this example, we will use HTML5 semantic elements. HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>HTML 5 semantic elements</title> <style> .container { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; } form { display: flex; align-items: center; justify-content: center; flex-direction: column; width: 30vw; height: 30vh; } form input { margin: 10px 0; border: none; border-bottom: 2px solid grey; background-color: transparent; width: 20vw; } </style> </head> <body> <div class="container"> <h2>It is the form tag</h2> <form> <input type="text" placeholder="Enter Username"> <input type="email" placeholder="Enter your email"> <input type="password" placeholder="Enter password"> <button>Submit</button> </form> </div> </body> </html> Output: Example 4: In this example, we will use HTML5 semantic elements. HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>HTML semantic elements</title> <style> .container { display: flex; /* flex-direction: row; */ align-items: center; justify-content: center; width: 100%; } </style> </head> <body> <div class="container"> <h1>Hey Geek, Welcome to GFG!</h1> </div> <div class="container"> <figure> <figcaption> caption: GeeksforGeeks is a computer science portal for geeks. </figcaption> <img src= "https://media.geeksforgeeks.org/wp-content/uploads/20220428080551/gfglogo.png" alt=""> </figure> <figure> <img src= "https://media.geeksforgeeks.org/wp-content/uploads/20220428080551/gfglogo.png" alt=""> <figcaption> caption: This is the logo of GFG. </figcaption> </figure> </div> </body> </html> Output: Example 5: In this example, we will use HTML5 semantic elements. HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>HTML semantic elements</title> <style> .container { display: flex; align-items: center; justify-content: center; width: 100%; } </style> </head> <body> <div class="container"> <details> <summary>Hey Geek, Welcome to GFG!</summary> <p> A computer science portal and online learning platform all for geeks. </p> </details> </div> </body> </html> Output: Example 6: In this example, we will use HTML5 semantic elements. HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>HTML semantic elements</title> <style> .container { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; } </style> </head> <body> <div class="container"> <h2>Hey Geek, Welcome to GFG!</h2> </div> <div class="container"> <h3> <mark>GeeksforGeeks</mark> is a <mark>computer science portal</mark> as well as the <mark>online learning platform</mark> for all geeks. </h3> <p> Enroll yourself on 15 May, 2022 for the 50% discount on GFG courses between <time datetime="2022-05-15">10:00</time> AM to <time datetime="2022-05-15">12:00</time> PM </p> </div> </body> </html> Output: Comment More infoAdvertise with us Next Article HTML Introduction A abhisheksainiaggarwal Follow Improve Article Tags : HTML HTML-Tags HTML-Questions Similar Reads HTML Tutorial HTML stands for HyperText Markup Language. It is the standard language used to create and structure content on the web. It tells the web browser how to display text, links, images, and other forms of multimedia on a webpage. HTML sets up the basic structure of a website, and then CSS and JavaScript 11 min read BasicsHTML IntroductionHTML stands for Hyper Text Markup Language, which is the core language used to structure content on the web. It organizes text, images, links, and media using tags and elements that browsers can interpret. As of 2025, over 95% of websites rely on HTML alongside CSS and JavaScript, making it a fundam 6 min read HTML EditorsAn HTML Editor is a software application designed to help users create and modify HTML code. It often includes features like syntax highlighting, tag completion, and error detection, which facilitate the coding process. There are two main types of HTML editors: Text-Based Editors - Allow direct codi 5 min read HTML BasicsHTML (HyperText Markup Language) is the standard markup language used to create and structure web pages. It defines the layout of a webpage using elements and tags, allowing for the display of text, images, links, and multimedia content. As the foundation of nearly all websites, HTML is used in over 7 min read HTML Structure & ElementsHTML ElementsAn HTML Element consists of a start tag, content, and an end tag, which together define the element's structure and functionality. Elements are the basic building blocks of a webpage and can represent different types of content, such as text, links, images, or headings.For example, the <p> ele 5 min read HTML AttributesHTML Attributes are special words used within the opening tag of an HTML element. They provide additional information about HTML elements. HTML attributes are used to configure and adjust the element's behavior, appearance, or functionality in a variety of ways. Each attribute has a name and a value 8 min read HTML HeadingsHTML headings are used to define the titles and subtitles of sections on a webpage. They help organize the content and create a structure that is easy to navigate.Proper use of headings enhances readability by organizing content into clear sections.Search engines utilize headings to understand page 4 min read HTML ParagraphsA paragraph in HTML is simply a block of text enclosed within the <p> tag. The <p> tag helps divide content into manageable, readable sections. Itâs the go-to element for wrapping text in a web page that is meant to be displayed as a distinct paragraph.Syntax:<p> Some Content... 5 min read HTML Text FormattingHTML text formatting refers to the use of specific HTML tags to modify the appearance and structure of text on a webpage. It allows you to style text in different ways, such as making it bold, italic, underlined, highlighted, or struck-through. Table of ContentCategories of HTML Text FormattingLogic 4 min read HTML Block and Inline ElementsHTML elements are either block-level, which structure the layout and span full width (like <div> or <p>), or inline, which styles content within blocks without breaking the flow (like <span> or <a>). This distinction covers 80â90% of common HTML usage.Inline and Block Level E 3 min read HTML CharsetsHTML charsets define how characters are represented in a web document. The character encoding ensures that text appears correctly across different devices and platforms.The <meta> tag's charset attribute is used to specify which character encoding the HTML document uses. By setting the charset 4 min read HTML ListHTML ListsAn HTML List allows you to organize data on web pages into an ordered or unordered format to make the information easier to read and visually appealing. HTML Lists are very helpful for creating structured, accessible content in web development.Types of HTML ListsThere are three main types of lists i 5 min read HTML Ordered ListsAn HTML Ordered List is created using the <ol> tag to display items in a specific sequence, typically numbered or alphabetically ordered. Each list item is defined using the <li> (list item) tag. Ordered lists are widely used for instructions, rankings, and step-by-step guidesâappearing 5 min read HTML Unordered ListsAn unordered list in HTML is used to group a set of list items that don't need to be in a specific order. The items in an unordered list are usually displayed with bullet points by default. Here are the some key features of HTML unordered lists:No Order: Lists items without a specific sequence.Custo 4 min read HTML Description ListsAn HTML Description List is not as commonly used as unordered or ordered lists but serves an important purpose for displaying name-value pairs. This type of list is marked up using three tags: <dl>, <dt>, and <dd>.<dl> (Description List): This tag defines the description list 3 min read HTML Visuals & MediaHTML ColorsHTML Colors can be applied to text, backgrounds, borders, links, forms, tables, etc. This article provides an in-depth look at how colors can be applied to various elements such as text, backgrounds, borders, links, forms, and tables in HTML. We will explore different color formats including hexadec 11 min read HTML Links HyperlinksHTML Links, also known as hyperlinks, are defined by the <a> tag in HTML, which stands for "anchor." These links are essential for navigating between web pages and directing users to different sites, documents, or sections within the same page. The basic attributes of the <a> tag include 3 min read HTML ImagesThe HTML <img> tag is used to embed an image in web pages by linking them. It creates a placeholder for the image, defined by attributes like src, width, height, and alt, and does not require a closing tag.There are two ways to insert the images into a webpage:By providing a full path or addre 7 min read HTML FaviconA favicon (short for "favorite icon") is a small yet important image that appears next to your websiteâs title in the browser tab. Also known as a tab icon or bookmark icon, it helps users quickly identify and return to your site. Studies show that over 85% of users rely on visual cues like favicons 4 min read HTML VideoThe <video> element in HTML is used to show video content on web pages. It supports various video formats, including MP4, WebM, and Ogg. It is introduced in HTML5.Scroll down to the End, there is a Tutorial Video which is a live example of the Video Element displaying on this webpage.Syntax: 4 min read HTML Layout & DesignHTML TablesHTML (HyperText Markup Language) is the standard markup language used to create and structure web pages. It defines the layout of a webpage using elements and tags, allowing for the display of text, images, links, and multimedia content. As the foundation of nearly all websites, HTML is used in over 10 min read HTML IframesAn iframe, or Inline Frame, is an HTML element represented by the <iframe> tag. It functions as a 'window' on your webpage through which visitors can view and interact with another webpage from a different source.Iframes are used for various purposes like:Embedding Multimedia: Easily integrate 4 min read HTML LayoutHTML layouts are a technique used to divide a web page into multiple sections, making it easier to apply styles, organize content, and manage operations efficiently. This division improves readability, accessibility, and overall user experience.HTML layout is achieved through elements like <heade 4 min read HTML File PathsHTML file paths specify the location of files or resources that a webpage needs to access, such as images, videos, scripts, or other HTML documents. These paths tell the web browser where to find the files required to display the content correctly or to execute scripts as intended. To insert a file 3 min read HTML Projects& Advanced TopicsHTML FormsHTML forms, defined using the <form> Tags are essential for collecting user input on web pages. They incorporate a variety of interactive controls such as text fields, numeric inputs, email fields, password fields, checkboxes, radio buttons, and submit buttons. Over 85% of websites rely on for 5 min read HTML5 SemanticsHTML5 introduced a range of semantic elements that clearly describe their purpose in human and machine-readable language. Unlike non-semantic elements, which provide no information about their content, semantic elements clearly define their content. For instance, <form>, <table>, and 6 min read HTML URL EncodingA Uniform Resource Locator (URL) is simply the address of a website to access the website content. Web browsers retrieve pages from web servers using a URL (Uniform Resource Locator).What is URL Encoding?URL Encoding is the process of converting the URL into a valid format that is accepted by web br 4 min read HTML Responsive Web DesignHTML Responsive Web Design is a modern approach to web development that ensures web pages look great on any device, from phones and tablets to desktop computers. It focuses on making HTML elements automatically adjustâresizing, hiding, or repositioning based on the screen size. This approach guarant 11 min read Top 10 Projects For Beginners To Practice HTML and CSS SkillsLearning to code is an exciting journey, especially when stepping into the world of programming with HTML and CSSâthe foundation of every website you see today. For most beginners, these two building blocks are the perfect starting point to explore the creative side of web development, designing vis 8 min read HTML Tutorial ReferencesHTML Tags - A to Z ListHTML Tags are fundamental elements used to structure and format content on web pages. They provide instructions to web browsers on how to render text, images, links, and other media.HTML tags are enclosed in angle brackets < > and usually come in pairs: an opening tag and a closing tag. The cl 15+ min read HTML Attributes Complete ReferenceHTML attributes are special words placed inside the opening tag of an HTML element to define its characteristics. Each attribute has two parts:Attribute nameAttribute value (separated by an equal sign = and enclosed in double quotes " ").Syntax:<tag_name attribute_name="value"> Contents... 8 min read HTML Global AttributesHTML attributes provide additional information about an element and define its properties. Global attributes are special types of attributes that can be used with any HTML element, offering common functionality to enhance behavior and presentation.Global attributes can be applied to any HTML element 5 min read HTML5 Complete ReferenceHTML (HyperText Markup Language) is the standard language used to create and design web pages. It defines the structure and layout of a webpage using a series of elements and tags.HTML5 is the latest version of HTML, bringing significant improvements for building modern web applications.It introduce 8 min read HTML5 MathML Complete ReferenceThe MathML comes in HTML5. The current MathML version is 3. It was introduced in the year 2015. MathML stands for Mathematics Markup Language. It is used to represent mathematical equations or expressions in web browsers, like other HTML elements. MathML is used to describe mathematics as a basis fo 3 min read HTML DOM Complete ReferenceHTML DOM (Document Object Model) is a programming interface that represents the elements of an HTML document in a tree-like structure.Allows developers to change content and layout using JavaScript.Enables dynamic updates and user interaction on websites.Facilitates the addition, removal, or modific 15+ min read HTML DOM Audio/Video Complete ReferenceHTML DOM Audio/Video properties and methods allow developers to control audio and video elements programmatically.These controls include playing, pausing, stopping, and adjusting volume.DOM methods enable dynamic interaction and customization of media elements.They enhance the user experience by off 2 min read SVG Element Complete ReferenceSVG stands for Scalable Vector Graphic. It can be used to make graphics and animations like in HTML canvas. It is a type of vector graphic that may be scaled up or down. Elements are the core things that is required to work with SVGs.List of SVG Elements:SVG ElementsDescription<a>The <a> 5 min read SVG Attribute Complete ReferenceSVG stands for Scalable Vector Graphic. It can be used to make graphics and animations like in HTML canvas. It is a type of vector graphic that may be scaled up or down. Attributes are the things that give the SVG shape, color, etc it will make the SVGs as attractive as you need.List of SVG Attribut 8 min read SVG Property Complete ReferenceSVG stands for Scalable Vector Graphic. It can be used to make graphics and animations like in HTML canvas. It is a type of vector graphic that may be scaled up or down. Properties are used for passing the value to the element, there are lots of properties that can be used in SVG elements. table{ di 7 min read HTML Canvas Complete ReferenceThe HTML âcanvasâ element is used to draw graphics via JavaScript. The âcanvasâ element is only a container for graphics. One must use JavaScript to actually draw the graphics. Canvas has several methods for drawing paths, boxes, circles, text, and adding images.Example: This example shows the basic 4 min read Like