Even though modern websites are generally built with user-friendly interfaces, it’s useful to know some basic HTML. If you know the following 17 tags (and a few extras), you’ll be able to create a basic webpage from scratch or tweak the code created by an app like WordPress.
We’ve provided HTML code examples with output for most of the tags. If you want to see them in action, download the sample HTML file at the end of the article. You can play with it in a text editor and load it up in a browser to see what your changes do.
1. <!DOCTYPE html>
You’ll need this tag at the beginning of every HTML document you create. It ensures that a browser knows that it’s reading HTML, and that it expects HTML5, the latest version.
Even though this isn’t actually an HTML tag, it’s still a good one to know.
This is another tag that tells a browser that it’s reading HTML. The <html> tag goes straight after the DOCTYPE tag, and you close it with a </html> tag right at the end of your file. Everything else in your document goes between these tags.
The <head> tag starts the header section of your file. The stuff that goes in here doesn’t appear on your webpage. Instead, it contains metadata for search engines, and info for your browser.
For basic pages, the <head> tag will contain your title, and that’s about it. But there are a few other things that you can include, which we’ll go over in a moment.
This tag sets the title of your page. All you need to do is put your title in the tag and close it, like this (I’ve included the header tags, as well):
<head> <title>My Website</title> </head>
That’s the name that will be displayed as the tab title when it’s opened in a browser.
Like the title tag, metadata is put in the header area of your page. Metadata is primarily used by search engines, and is information about what’s on your page. There are a number of different meta fields, but these are some of the most commonly used:
- description—A basic description of your page.
- keywords—A selection of keywords applicable to your page.
- author—The author of your page.
- viewport—A tag for ensuring that your page looks good on all devices.
Here’s an example that might apply to this page:
<meta name="description" content="A basic HTML tutorial"> <meta name="keywords" content="HTML,code,tags"> <meta name="author" content="MakeUseOf"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
The “viewport” tag should always have “width=device-width, initial-scale=1.0” as the content to make sure your page displays well on mobile and desktop devices.
After you close the header section, you get to the body. You open this with the <body> tag, and close it with the </body> tag. That goes right at the end of your file, just before the </html> tag.
All of the content of your webpage goes in between these tags. It’s as simple as it sounds:
<body> Everything you want displayed on your page. </body>
The <h1> tag defines a level-one header on your page. This will usually be the title, and there will ideally only be one on each page.
<h2> defines level-two headers such as section headers, <h3> level-three sub-headers, and so on, down to <h6>. As an example, the names of the tags in this article are level-two headers.
<h1>Big and Important Header</h1> <h2>Slightly Less Big Header</h2> <h3>Sub-Header</h3>
As you can see, they get smaller at each level.
The paragraph tag starts a new paragraph. This usually inserts two line breaks.
Look, for example, at the break between the previous line and this one. That’s what a <p> tag will do.
<p>Your first paragraph.</p> <p>Your second paragraph.</p>
Your first paragraph.
Your second paragraph.
You can also use CSS styles in your paragraph tags, like this one which changes the text size:
<p style="font-size: 120%;">20% larger text</p>
20% larger text
To learn how to use CSS to style your text, check out these HTML and CSS tutorials.
The line break tag inserts a single line break:
<p>The first line.<br> The second line (close to the first one).</p>
The first line.
The second line (close to the first one).
Working in a similar way is the <hr> tag. This draws a horizontal line on your page and is good for separating sections of text.
This tag defines important text. In general, that means it will be bold. However, it’s possible to use CSS to make <strong> text display differently.
However, you can safely use <strong> to bold text.
<strong>Very important things you want to say.</strong>
Very important things you want to say.
If you’re familiar with the <b> tag for bolding text, you can still use it. There’s no guarantee it will continue to work in future versions of HTML, but for now, it works.
Like <b> and <strong>, <em> and <i> are related. The <em> tag identifies emphasized text, which generally means it will get italicized. Again, there’s the possibility that CSS will make emphasized text display differently.
<em>An emphasized line.</em>
An emphasized line.
The <i> tag still works, but again, it’s possible that it will be deprecated in future versions of HTML.
The <a>, or anchor, tag lets you create links. A simple link looks like this:
<a href="//www.makeuseof.com/>Go to MakeUseOf</a>
The “href” attribute identifies the destination of the link. In many cases, this will be another website. It could also be a file, like an image or a PDF.
Other useful attributes include “target” and “title.” The target attribute is almost exclusively used to open a link in a new tab or window, like this:
<a href="//www.makeuseof.com/" target="_blank">Go to MakeUseOf in a new tab</a>
The “title” attribute creates a tooltip. Hover over the link below to see how it works:
<a href="//www.makeuseof.com/" title="This is a tool tip">Hover over this to see the tool tip</a>
If you want to embed an image in your page, you’ll need to use the image tag. You’ll normally use it in conjunction with the “src” attribute. This specifies the source of the image, like this:
Other attributes are available, such as “height,” “width,” and “alt.” Here’s how that might look:
<img src="wp-content/uploads/2019/04/sunlit-birds.jpg" alt="the name of your image">
As you might expect, the “height” and “width” attributes set the height and width of the image. In general, it’s a good idea to only set one of them so the image scales correctly. If you use both, you could end up with a stretched or squished image.
The “alt” tag tells the browser what text to display if the image can’t be displayed and is a good idea to include with any image. If someone has an especially slow connection or an old browser, they can still get an idea of what should be on your page.
The ordered list tag lets you create an ordered list. In general, that means you’ll get a numbered list. Each item in the list needs a list item tag (<li>), so your list will look like this:
<ol> <li>First thing</li> <li>Second thing</li> <li>Third thing</li> </ol>
- First thing
- Second thing
- Third thing
In HTML5, you can use <ol reversed> to reverse the order of the numbers. And you can set the starting value with the start attribute.
The “type” attribute lets you tell the browser which type of symbol to use for the list items. It can be set to “1,” “A,” “a,” “I,” or “i,” setting the list to display with the indicated symbol like this:
The unordered list is much simpler than its ordered counterpart. It’s simply a bulleted list.
<ul> <li>First item</li> <li>Second item</li> <li>Third item</li> </ul>
- First item
- Second item
- Third item
Unordered lists also have “type” attributes, and you can set it to “disc,” “circle,” or “square.”
While using tables for formatting is frowned upon, there are plenty of times when you’ll want to use rows and columns to segment information on your page. Several tags are needed to get a table to work. Here’s the sample HTML code:
<table> <tbody> <tr> <th>1st column</th> <th>2nd column</th> </tr> <tr> <td>Row 1, column 1</td> <td>Row 1, column 2</td> </tr> <td>Row 2, column 1</td> <td>Row 2, column 2</td> </tbody> </table>
The <table> and </table> tags specify the start and end of the table. The <tbody> tag contains all the table content.
Each row of the table is enclosed in a <tr> tag. Each cell within each row is wrapped in either <th> tags for column headers, or <td> tags for column data. You need one of these for each column on each row.
|1st column||2nd column|
|Row 1, column 1||Row 1, column 2|
|Row 2, column 1||Row 2, column 2|
When you’re quoting another website or person and you want to set the quote apart from the rest of your document, use the blockquote tag. All you need to do is enclose the quote in opening and closing blockquote tags:
<blockquote>The Web as I envisaged it, we have not seen it yet. The future is still so much bigger than the past.</blockquote>
The Web as I envisaged it, we have not seen it yet. The future is still so much bigger than the past.
The exact formatting that’s used may depend on the browser you’re using or the CSS of your site. But the tag remains the same.
Go Forth and HTML
With these 17 HTML tags (and counting) you should be able to create a simple webpage. To see how to put them all together, you can download our sample HTML page. Open it in your browser to see how it all comes together, or in a text editor to see exactly how the code works.
For more bite-sized lessons in HTML, try these microlearning apps for coding.
Read the full article: 17 Simple HTML Code Examples You Can Learn in 10 Minutes