HTML 5 <img> Tag

The HTML <img> tag is used for embedding images into an HTML document.

The value given by the src attribute is the URL to the embedded image. The srcset attribute can also be used in order to specify different images to use in different situations (e.g. high-resolution displays, small monitors, etc). The value of the alt attribute appears if the image cannot be loaded.

To link an image to another document, you simply nest the <img> tag inside <a> tags.

Demo

Attributes

HTML tags can contain one or more attributes. Attributes are added to a tag to provide the browser with more information about how the tag should appear or behave. Attributes consist of a name and a value separated by an equals (=) sign, with the value surrounded by double quotes. Here's an example, style="color:black;".

There are 3 kinds of attributes that you can add to your HTML tags: Element-specific, global, and event handler content attributes.

The attributes that you can add to this tag are listed below.

Element-Specific Attributes

The following table shows the attributes that are specific to this tag/element.

AttributeDescription
altAlternate text. This specifies text to be used in case the browser/user agent can't render the image.
srcURL of the image.
srcset

Comma-separated list of images to use in different situations (e.g., high-resolution displays, small monitors, etc).

Each image URL can be optionally followed by a whitespace and a descriptor. The descriptor, if any, can be one of the following:

  • A width descriptor (a positive integer directly followed by w). The width descriptor is divided by the source size given in the sizes attribute to calculate the effective pixel density.
  • A pixel density descriptor (a positive floating point number directly followed by x).
sizesImage sizes between breakpoints.
crossoriginThis attribute is a CORS settings attribute. CORS stands for Cross-Origin Resource Sharing. The purpose of the crossorigin attribute is to allow you to configure the CORS requests for the element's fetched data. The values for the crossorigin attribute are enumerated.

Possible values:

ValueDescription
anonymousCross-origin CORS requests for the element will not have the credentials flag set. In other words, there will be no exchange of user credentials via cookies, client-side SSL certificates or HTTP authentication.
use-credentialsCross-origin CORS requests for the element will have the credentials flag set.

If this attribute is not specified, CORS is not used at all.

An invalid keyword and an empty string will be handled as the anonymous value.

ismapFor image maps. See HTML map tag
usemapFor image maps. See HTML map tag
widthSpecifies the width of the image.
heightSpecifies the height of the image.
referrerpolicyReferrer policy for fetches initiated by the element.
longdescA url that provides a link to an expanded description of the image.
decoding

Indicates the preferred method to decode this image. The attribute, if present, must be an image decoding hint. This attribute's missing value default and invalid value default are both the auto state.

This attribute is defined in the HTML Living Standard only (i.e. it's not in the W3C HTML specifications).

loadingThis is a lazy loading attribute. Its purpose is to indicate the policy for loading images that are outside the viewport.

Possible values:

Keyword Description
lazy Used to defer fetching a resource until some conditions are met.
eager Used to fetch a resource immediately; the default state.

This attribute is defined in the HTML Living Standard only (i.e. it's not in the W3C HTML specifications).

Global Attributes

The following attributes are standard across all HTML 5 tags (although the tabindex attribute does not apply to dialog elements).

For a full explanation of these attributes, see HTML 5 global attributes.

Event Handler Content Attributes

Event handler content attributes enable you to invoke a script from within your HTML. The script is invoked when a certain "event" occurs. Each event handler content attribute deals with a different event.

For a full list of event handlers, see HTML 5 event handler content attributes.