<img> HTML – Image Tag Tutorial (2024)

In HTML, you use the <img> tag to add images to websites. It is an inline and empty element, which means that it doesn't start on a new line and doesn't take a closing tag (unlike the paragraph (<p>) tag, for instance).

The <img> tag takes several attributes, of which src, height, width, and alt are the most important.

Knowing the ins and outs along with some best practices of the <img> tag is crucial because images can negatively affect your site's load time and SEO.

So in this tutorial, we will take a look at how to add images to websites using the <img> tag, how to use its attributes, some best practices, and modern approaches to using <img>.

Here's the basic syntax for adding an <img> tag to your HTML:

<img src="assets/images/ring-tailed-lemurs.webp" alt="A Group of Ring-tailed Lemurs" />

Now let's talk about its attributes and how they work.

HTML <img> Tag Attributes

The src Attribute

The src attribute signifies the image source. Without it, the tag itself wouldn't be functional in the real world.

It indicates to the browser where to find the image. So it takes a relative path if the image is hosted locally, or an absolute URL if the image is hosted online.

The alt Attribute

The alt attribute specifies an alternative text for the image. This could be the text that shows during a network failure, for example. Or it could display something when the image source is wrongly specified, so users know what the image is about.

In the code snippet below, the image source is wrongly specified, showing you the role that the alt attribute plays:

<img src="assets/images/ring-tailed-lemur.webp" alt="A Group of Ring-tailed Lemurs"/>

This is the CSS that centers the image horizontally and vertically:

body { display: flex; align-items: center; justify-content: center; flex-direction: column; height: 100vh; }

And it looks like this:
<img> HTML – Image Tag Tutorial (1)

The alt attribute is very important for 2 other reasons:

  • SEO: it indicates to web crawlers what the image is about
  • Accessibility: it helps screen readers know what the image is about so they can report that to visually impaired people. In addition, it lets users with low bandwidth know what the image is about.

The width and height Attributes

You can use these attributes to specify a certain width and height for your images. With these attributes, you can resize the image down or up.

Ideally, though, you shouldn't resize an image with these attributes. We'll touch on this more under best practices.

HTML <img> Tag Best Practices

Do not resize an image with the width and height attributes.

This is a bad practice because it can make the image appear distorted and can affect the quality.

Instead, you can optimize the image to your desired dimensions with photo editing software such as Photoshop.

In the code snippet below, I specify a width and height for the image – a bad practice:

<img src="assets/images/ring-tailed-lemurs.webp" height="440px" width="440px" alt="A Group of Ring-tailed Lemurs"/>

The image looks like this:
<img> HTML – Image Tag Tutorial (2)

Without using the width and height attributes, the image looks like this:
<img> HTML – Image Tag Tutorial (3)

Looks better? Yes!

Name Your Images Appropriately

Naming images appropriately can help search engines understand what the image is about. For example, name an image ring-tailed-lemurs.webp instead of photo-1580855733764-084b90737008.webp. The latter is not enough for search engine optimization (SEO).

Reduce Image File Size

The image's file size is crucial when it comes to page speed. A smaller image size (that preserves the image's quality) reduces load time while larger images take forever to load.

There are several tools and various software that can help you do this. Some examples are imageOptim, jStrip, and PNGGauntet. And if you're concerned about SEO, you'll want to look into these – as page speed is an important ranking factor.

Host Images with a CDN

Imagine if a website is hosted in the United States but a user in Africa wants to accessed it. Assets such as images and icons would have to travel from The States to Africa, which in turn slows download time.

Using a CDN (Content Delivery Network) will allow the website's images to be cached across several locations around the world. The CDN can then serve them from locations closest to the user, improving load time and providing a better user experience.

Cloudflare is a popular CDN that a lot of developers use to host their images.

Use Descriptive Alternative Text

Using descriptive alternative text helps search engines understand what the image is about. But it doesn't end there – the alt text must also be relevant to the image.

For example, use this:

<img src="assets/images/ring-tailed-lemurs.webp" alt="A Group of Ring-tailed Lemurs"/>

Insead of this:

<img src="assets/images/ring-tailed-lemurs.webp" alt="Lemurs" />

Use the title Attribute to Show Tooltips

Just like the alt attribute, you can use the title attribute to show additional information about the image. Browsers display this as a tooltip when the user hovers over the image.

<img src="assets/images/ring-tailed-lemurs.webp" alt="A Group of Ring-tailed Lemurs" title="Ring-tailed lemurs are led by females"/>

<img> HTML – Image Tag Tutorial (4)

<img> Tag Modern Approaches

There are various ways you can use the <img> tag that are a bit more up to date and modern. Let's look at some of them now.

Lazy Load Images

Lazy loading is a newish "load what is needed" concept. With lazy loading, the image is loaded only when the user scrolls to its viewport.

This is in contrast to eager loading, which loads every image immediately after the page is rendered by the browser.

To apply lazy loading, add the loading attribute to the <img> tag and set the value to “lazy”.

<img src="assets/images/ring-tailed-lemurs.webp" alt="A Group of Ring-tailed Lemurs" title="Ring-tailed lemurs are led by females" loading="lazy"/>

Images are often quite high quality and large these days, but this can negatively impact user experience and SEO – hence the introduction of lazy loading.

Use the <figure> and <figcaption> Tags

Often, you might need to specify to the user the caption of an image. A lot of developers do this by placing a <p> tag right after the <img>.

This might not be wrong, but it defies best practices and does not associate the caption with the image, so search engines won’t understand what it is.

<img src="assets/images/ring-tailed-lemurs.webp" alt="A Group of Ring-tailed Lemurs" title="Ring-tailed lemurs are led by females" loading="lazy"/><p>Ring-tailed lemurs are social animals</p>

<img> HTML – Image Tag Tutorial (5)

Its is clear that there is no association between the image and the caption in the above example.

HTML5 introduced the <figure> and <figcaption> elements to help with this. You wrap the <img> tag inside a <figure> element, and you specify a caption within the <figcaption> element.

This helps search engines associate the caption with the image, leading to better performance and SEO.

The snippets of code below and the screenshots show you an image with and without the <figure> and <figcaption> elements:

<figure> <img src="assets/images/ring-tailed-lemurs.webp" alt="A Group of Ring-tailed Lemurs" title="Ring-tailed lemurs are led by females" loading="lazy" /><figcaption>Ring-tailed lemures are social animals</figcaption></figure>

<img> HTML – Image Tag Tutorial (6)

You can see now that the image and the caption are beautifully associated.

Use the .webP Image Format

.webP is an image format created by Google. According to the creator, it's an image format lower in size than its counterparts - JPG, JPEG, PNG, but with the same quality.

This format has been getting more and more widely accepted and is considered the nextgen image format for the web.

Conclusion

I hope this article helps you understand how the <img> tag works in HTML so you can use it properly in your projects. If you do so, it'll help improve your user experience and SEO.

Thanks a lot for reading, and keep coding.

<img> HTML – Image Tag Tutorial (2024)

FAQs

How to insert image using img tag in HTML? ›

In order to put a simple image on a web page, we use the <img> element. This is a void element (meaning, it cannot have any child content and cannot have an end tag) that requires two attributes to be useful: src and alt . The src attribute contains a URL pointing to the image you want to embed in the page.

What is the correct HTML code for inserting an image answer? ›

The <img> tag is used to embed an image in an HTML page.

What is the difference between an img and an image tag? ›

The image tag is used to add an image to an HTML page. <img> tag can only insert image.

What is the example of IMG SRC in HTML? ›

Example: src="img_girl.jpg". If the URL begins with a slash, it will be relative to the domain. Example: src="/images/img_girl.jpg". Tip: It is almost always best to use relative URLs.

How do I upload an image from an IMG tag? ›

How to Add an Image in HTML. The <img> tag in HTML allows you to link an image from the internet to a page. Add <img> to a new line, then put your image's URL into a src (source) attribute. For example, <img src="http://www.website.com/my-dog.jpg">.

Why is my image not showing up in HTML? ›

There are several possible reasons why your images are not showing up on your pages as expected: The image file is not located in the same location that is specified in your IMG tag. The image does not have the same file name as specified in your IMG tag. The image file is corrupt or damaged.

What is the formula for inserting image in HTML? ›

HTML <picture> Tag
  1. <source media="(min-width:650px)" srcset="img_pink_flowers.jpg">
  2. <source media="(min-width:465px)" srcset="img_white_flower.jpg">
  3. <img src="img_orange_flowers.jpg" alt="Flowers" style="width:auto;">

How can we write on image in HTML? ›

The key with writing images is to include the senses. By using words that describe these, you bring life to the image and make the reader feel a part of it. Most often, you'll use smell, hearing and sight.

Which format of image files can be inserted in HTML? ›

HTML supports various image file formats, including JPEG, PNG, GIF, and more. The choice of format depends on your needs.

What is the correct syntax for the IMG tag? ›

HTML Images Syntax

The <img> tag is empty, it contains attributes only, and does not have a closing tag. The <img> tag has two required attributes: src - Specifies the path to the image. alt - Specifies an alternate text for the image.

Should the IMG tag be closed? ›

The <img /> Tag

To add an image to your website you will need to use the <img> tag. This tag is different than other tags, in that it has no closing tag. It is called a self-closing tag, which means that there is just a slash at the end of the opening tag (ex. <img />).

Is it better to use background image or IMG tag? ›

Use <img> if you rely on browser scaling to render an image in proportion to text size. Using <img> tag instead of CSS background-image can dramatically improve performance of animations over a background.

How to move img src in HTML? ›

You can use the translate function to move an image in HTML using CSS.
  1. <img src="my_file.png" style="transform: translate(60px,120px);">
  2. <div style="position: relative;"> <img src="my_file.png" style="position: absolute; left: 60px; top: 120px;"> </div>

How to copy img src in HTML? ›

To make a copy of an image in HTML using JavaScript in its exact position and retaining its exact values, you can use the cloneNode() method. This method creates a copy of an element, including all of its attributes and child elements.

What is the image source of IMG SRC? ›

The <img> src attribute is used to specify the URL of the source image. It points to the location of the image file that the browser should display on the webpage.

How to use img tag with local image? ›

To insert a local image into an HTML document, use the <img> tag with the src attribute set to the file path of the image. For example: <img src="images/myimage.

How do I use a PNG image in an IMG tag? ›

Here are the steps:
  1. Locate the PNG or SVG file on your computer.
  2. Upload the file to your website server or hosting service.
  3. In your HTML code, use the <img> tag with the src attribute to specify the file location.

How do you add an IMG link in HTML? ›

Image as a link

By adding the <img> tag inside an <a> tag the browser can see that the image should be clickable. You have turned the image into a link! If you are using WordPress then you can add this HTML code to your page using the text view in the page editor.

How do I add a running image in HTML? ›

If you want to add background image in HTML using background attrubute, perform the following steps:
  1. Open the HTML file in text editor.
  2. Within the starting <body> tag in your Html file, type <Body background=” “>
  3. Give the path of the image we want to add. ...
  4. Save the Html file in the text editor and run the file.
Jul 31, 2024

Top Articles
Latest Posts
Article information

Author: Melvina Ondricka

Last Updated:

Views: 5474

Rating: 4.8 / 5 (68 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Melvina Ondricka

Birthday: 2000-12-23

Address: Suite 382 139 Shaniqua Locks, Paulaborough, UT 90498

Phone: +636383657021

Job: Dynamic Government Specialist

Hobby: Kite flying, Watching movies, Knitting, Model building, Reading, Wood carving, Paintball

Introduction: My name is Melvina Ondricka, I am a helpful, fancy, friendly, innocent, outstanding, courageous, thoughtful person who loves writing and wants to share my knowledge and understanding with you.