HTML <img src> tag | How to Add an Image in HTML

artistic exploded typewriter and printer

Imagine a photo album without photos. It’s hard, isn’t it? The same goes for a webpage without images. A webpage without images is like a photo album without photos – it lacks visual appeal and fails to engage the viewer. This is where HTML, or HyperText Markup Language, steps in. It has evolved from a simple text-only language to a multimedia-rich platform, capable of incorporating various forms of media, including images, to create a visually appealing and interactive user experience.

In this guide, we will explore how to add an image in HTML. We will delve into the importance of captions and alt text, and discuss the relationship between HTML images and CSS background images. By the end of this article, you’ll be well-equipped with the knowledge to transform your webpage from a text-heavy platform to a dynamic, visual treat.

TL;DR: How do I add an image in HTML?

To add an image in HTML, you use the img tag, along with the src and alt attributes. The src attribute specifies the source URL of the image you want to embed, while the alt attribute provides alternative text for the image, which is displayed if the image cannot be loaded and is also used by screen readers to describe the image to visually impaired users. See example:

<img src="" alt="Description of image">

So, let’s dive into the world of HTML images!

Embedding Images in HTML

Our journey into the world of HTML images begins with the basics: the HTML img tag. This tag is an empty element, meaning it doesn’t have a closing tag, and it’s used to embed an image in an HTML document. The img tag has several attributes, but the two most crucial ones are src and alt.

The src and alt Attributes

The src attribute is used to specify the source URL of the image you want to embed. This URL can be either relative (like ‘/images/pic.jpg’) or absolute (like ‘’). A relative URL points to a file within your website, whereas an absolute URL points to a file on another website or server.

The alt attribute, on the other hand, provides alternative text for the image. This text is displayed if the image cannot be loaded, and it’s also used by screen readers to describe the image to visually impaired users.

Avoiding Hotlinking

Hotlinking is a practice where you use the src attribute to link to an image on another website without the website owner’s permission. This can lead to both ethical and technical issues, such as copyright infringement and increased bandwidth usage. It’s always best to use images that you have the rights to use.

In HTML, images are considered ‘replaced elements’. This means that the content of the img tag is replaced by the image specified in the src attribute. HTML5 introduced the picture tag, which allows you to specify multiple versions of an image for different device resolutions.

Finally, it’s worth mentioning that the filename of your image can impact SEO. Search engines not only crawl the text on your webpage, but also the filenames of your images. Therefore, using descriptive, keyword-rich filenames can help improve your website’s search engine ranking.

Interactive HTML Images: Image Maps

As we delve deeper into the world of HTML images, we encounter a more interactive aspect: image maps. Image maps enable you to link different sections of an image to various destinations, thus creating a unique and interactive visual experience for your users. Imagine a map of a country where each city is a clickable link leading to more information about that city – that’s the power of an image map!

Creating an Image Map

The creation of an image map involves defining the map and area elements in HTML. The map element holds a collection of area elements, each of which represents a clickable area on the image. Each area element has a shape attribute (which can be ‘default’, ‘rect’, ‘circle’, or ‘poly’) and a coords attribute (which specifies the coordinates of the clickable area).

While image maps can offer a unique user experience, they’re not particularly search engine friendly. Search engines can’t ‘see’ the different areas of an image map like a human user can. As a result, the links within an image map might not be crawled or indexed by search engines, potentially impacting your SEO. However, image maps can still play a role in enhancing user experience, especially in specific use cases where visual navigation is key.

As web technologies continue to evolve, the potential for image maps to create even more engaging and interactive user experiences is limitless. So, let’s keep exploring!

The Importance of Alt Text in HTML Images

As we further delve into the world of HTML images, we encounter another crucial aspect: the alternative text, or ‘alt text’. The alt text is specified within the alt attribute of the img tag. This text serves a dual purpose: it’s displayed when the image can’t be loaded, and it’s read out by screen readers to describe the image to visually impaired users.

The Role of the alt Attribute

The alt attribute plays a significant role in making your website accessible. Without it, a visually impaired user would have no way of knowing what an image on your site represents. But that’s not all – alt text is also important for SEO. Search engines can’t ‘see’ images, but they can read alt text. By providing descriptive, keyword-rich alt text, you can help improve your site’s search engine ranking.

Writing Effective Alt Text

So, how do you write effective alt text? Here are a few guidelines:

  1. Be descriptive: Your alt text should accurately describe the content of the image. Avoid vague descriptions like ‘image’ or ‘icon’.
  2. Be concise: While your alt text should be descriptive, it should also be brief. Aim for a few words or a short sentence.
  3. Include keywords: If possible, include your target keywords in your alt text. But remember, don’t keyword-stuff! The alt text should still read naturally and make sense to the user.

Alt Text and Text-Only Browsers

Finally, let’s consider the role of alt text in text-only browsers. These browsers, as the name suggests, display only the text content of a webpage. In this case, the alt text for an image is displayed in place of the image itself, allowing the user to understand the content of the image even in a text-only environment.

Image Dimensions and Titles in HTML

When embedding images in HTML, understanding the role of image dimensions and titles is crucial. Let’s start with the width and height attributes in the img tag. These attributes allow you to specify the width and height of the image in pixels.

HTML Attributes: width and height

While it might seem convenient to alter the size of an image directly through these HTML attributes, it’s not a recommended practice. Why? Because it can lead to distorted images and slower page load times. When you resize an image using HTML, the browser has to download the original image and then scale it down to the specified size. This not only wastes bandwidth but also increases the time it takes for the page to load.

Instead of using HTML to resize images, it’s better to resize the images to the desired dimensions before uploading them to your website. You can use image editing software like Photoshop or GIMP to do this.

The title Attribute

Next, let’s talk about the title attribute. This attribute provides additional information about the image when the user hovers over it. However, it’s important to note that the title attribute is not a substitute for the alt attribute. The alt attribute is crucial for accessibility, while the title attribute is more of an optional extra.

In fact, the title attribute can sometimes create accessibility issues. For example, screen readers might read out both the alt and title text, causing unnecessary repetition. Therefore, it’s best to use the title attribute sparingly and only when it provides additional information that’s not already covered by the alt text or surrounding text.

CSS: A Better Way to Alter Image Size

Now, you might be wondering: if HTML isn’t the best way to alter image size, then what is? The answer is CSS. With CSS, you can control the size of an image relative to its parent element or the viewport, using percentage values. This allows for more flexible and responsive image sizing compared to using absolute pixel values in HTML. In the next section, we’ll dive deeper into the use of CSS for embedding images.

CSS Background Images: Enhancing Your Site’s Visual Appeal

Having explored the world of HTML images, it’s time to turn our attention to CSS and its role in image embedding. CSS, or Cascading Style Sheets, is a stylesheet language used for describing the look and formatting of a document written in HTML. One of its capabilities is embedding images, specifically as background images.

HTML Images vs CSS Background Images

So, what’s the difference between HTML images and CSS background images? The key difference lies in their roles. HTML images are content, they have semantic meaning and form an integral part of the page content. On the other hand, CSS background images are purely decorative. They add visual appeal but don’t contribute to the content or meaning of the page.

As a rule of thumb, if the image carries meaningful content, use an HTML img tag. If the image is purely decorative or for styling purposes, use a CSS background image. This distinction is important for accessibility and SEO. Screen readers will read out the alt text of HTML images but will ignore CSS background images.

HTML Images as Navigational Links

HTML images can also be used as navigational links by embedding the img tag within an a tag. This can enhance the user experience by providing a visual and intuitive way to navigate your site. However, it’s crucial to provide alt text for such images to ensure accessibility.

The Power of CSS Background Images

CSS background images can significantly enhance the visual appeal of your site. They can be used to create visually striking headers, backgrounds, and banners. Moreover, with CSS, you have a high degree of control over the positioning, sizing, and repetition of the background image. This allows you to create a variety of visual effects that can make your site stand out.

In conclusion, both HTML images and CSS background images have their roles to play in web design. The key is to understand their differences and use them appropriately to create a visually engaging and accessible website.


Our journey through the world of embedding images in HTML and enhancing visuals with CSS has been informative and enlightening. We started with the basics of the HTML img tag, exploring its key attributes, src and alt, and understanding their importance for accessibility and SEO.

We then discovered the interactive potential of image maps, acknowledging their limitations from an SEO perspective. We also delved into the ethical and technical considerations of hotlinking, and the impact of image filenames on SEO.

Our attention then turned to CSS, where we understood its role in embedding images and the difference between HTML images and CSS background images. We learned when to use HTML images versus CSS background images, and the potential of HTML images as navigational links.

Incorporating images into your HTML code is not just about enhancing visual appeal. It’s about improving user experience, boosting SEO, and ensuring accessibility. So, the next time you add an image to your site, keep in mind the lessons from this guide. Use this knowledge to create a more engaging, accessible, and SEO-friendly website. Remember, a picture is worth a thousand words, but only if used effectively. Happy coding!