The HTMLImageElement interface provides special properties and methods  for manipulating the layout and presentation of <img> elements.

Constructor

Image()
The Image() constructor, taking two optional unsigned longs, which are the width and the height of the resource, creates an instance of HTMLImageElement , not inserted in a DOM tree.
Functionally equivalent to calling document.createElement("img").

Properties

Inherits properties from its parent, HTMLElement.

HTMLImageElement.align
Is a DOMString indicating the alignment of the image with respect to the surrounding context. The possible values are "left""right""justify", and "center".
HTMLImageElement.alt
Is a DOMString that reflects the alt HTML attribute,  thus indicating fallback context for the image.
HTMLImageElement.border
Is a DOMString that is responsible for the width of the border surrounding the image. This is now deprecated and the CSS border property should be used instead.
HTMLImageElement.complete Read only
Returns a Boolean that is true if the browser has finished fetching the image, whether successful or not. It also shows true, if the image has no src value.
HTMLImageElement.crossOrigin
Is a DOMString representing the CORS setting for this image element. See CORS settings attributes for further details.
HTMLImageElement.currentSrc Read only
Returns a DOMString representing the URL to the currently displayed image (which may change, for example in response to media queries).
HTMLImageElement.decoding
Returns a DOMString representing a hint given to the browser on how it should decode the image.
HTMLImageElement.height
Is a unsigned long that reflects the height HTML attribute, indicating the rendered height of the image in CSS pixels.
HTMLImageElement.hspace
Is a long representing the space on either side of the image.
HTMLImageElement.isMap
Is a Boolean that reflects the ismap HTML attribute, indicating that the image is part of a server-side image map.
HTMLImageElement.longDesc
Is a DOMString representing the URI of a long description of the image.
HTMLImageElement.lowSrc
Is a DOMString that refers to a low-quality (but faster to load) copy of the image.
HTMLImageElement.name
Is a DOMString representing the name of the element.
HTMLImageElement.naturalHeight Read only
Returns a unsigned long representing the intrinsic height of the image in CSS pixels, if it is available; else, it shows 0.
HTMLImageElement.naturalWidth Read only
Returns a unsigned long representing the intrinsic width of the image in CSS pixels, if it is available; otherwise, it will show 0.
HTMLImageElement.referrerPolicy
Is a DOMString that reflects the referrerpolicy HTML attribute indicating which referrer to use in order to fetch the image.
HTMLImageElement.src
Is a DOMString that reflects the src HTML attribute, containing the full URL of the image including base URI.
HTMLImageElement.sizes
Is a DOMString reflecting the sizes HTML attribute.
HTMLImageElement.srcset
Is a DOMString reflecting the srcset HTML attribute, containing a list of candidate images, separated by a comma (',', U+002C COMMA). A candidate image is a URL followed by a 'w' with the width of the images, or an 'x' followed by the pixel density.
HTMLImageElement.useMap
Is a DOMString that reflects the usemap HTML attribute, containing a partial URL of a map element.
HTMLImageElement.vspace
Is a long representing the space above and below the image.
HTMLImageElement.width
Is a unsigned long that reflects the width HTML attribute, indicating the rendered width of the image in CSS pixels.
HTMLImageElement.x Read only
Returns a long representing the horizontal offset from the nearest layer. This property mimics an old Netscape 4 behavior.
HTMLImageElement.y Read only
Returns a long representing the vertical offset from the nearest layer. This property is also similar to behavior of an old Netscape 4.

Methods

Inherits properties from its parent, HTMLElement.

Errors

If an error occurs while trying to load or render the image, and an onerror event handler has been configured to handle the error event, that event handler will get called. This can happen in a number of situations, including:

  • The src attribute is empty or null.
  • The specified src URL is the same as the URL of the page the user is currently on.
  • The specified image is corrupted in some way that prevents it from being loaded.
  • The specified image's metadata is corrupted in such a way that it's impossible to retrieve its dimensions, and no dimensions were specified in the <img> element's attributes.
  • The specified image is in a format not supported by the user agent.

Example

var img1 = new Image(); // HTML5 Constructor
img1.src = 'image1.png';
img1.alt = 'alt';
document.body.appendChild(img1);

var img2 = document.createElement('img'); // use DOM HTMLImageElement
img2.src = 'image2.jpg';
img2.alt = 'alt text';
document.body.appendChild(img2);

// using first image in the document
alert(document.images[0].src);

Specifications

Specification Status Comment
Referrer Policy
The definition of 'referrer attribute' in that specification.
Candidate Recommendation Added the referrerPolicy property.
CSS Object Model (CSSOM) View Module
The definition of 'Extensions to HTMLImageElement' in that specification.
Working Draft Added the x and y properties.
HTML Living Standard
The definition of 'HTMLImageElement' in that specification.
Living Standard The following properties have been added: srcset, currentSrc and sizes.
HTML5
The definition of 'HTMLImageElement' in that specification.
Recommendation A constructor (with 2 optional parameters) has been added.
The following properties are now obsolete: name, border, align, hspace, vspace, and longdesc.
The following properties are now unsigned long, instead of long: height, and width.
The following properties have been added: crossorigin, naturalWidth, naturalHeight, and complete.
Document Object Model (DOM) Level 2 HTML Specification
The definition of 'HTMLImgElement' in that specification.
Obsolete The lowSrc property has been removed.
The following properties are now long, instead of DOMString: height, width, hspace, and vspace.
Document Object Model (DOM) Level 1 Specification
The definition of 'HTMLImgElement' in that specification.
Obsolete Initial definition.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support Yes Yes1 Yes Yes Yes
Image() constructor Yes Yes Yes Yes Yes Yes
complete Yes Yes Yes51 Yes Yes
crossorigin Yes Yes Yes9 Yes Yes
currentSrc Yes Yes

38

32 — 522

No Yes No
decoding Yes ?63 No Yes No
lowSrc Yes Yes Yes ? Yes Yes
naturalHeight Yes Yes Yes9 Yes Yes
naturalWidth Yes Yes Yes9 Yes Yes
onerror No ?513 No Yes Yes
referrerPolicy51 No50 No38 ?
sizes Yes Yes

38

33 — 524

No Yes No
srcset34 Yes

38

32 — 522

No218
x Yes Yes

14

Yes — 7

No Yes Yes
y Yes Yes

14

Yes — 7

No Yes Yes
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes Yes Yes4 Yes Yes ?
Image() constructor Yes Yes Yes Yes ? Yes ?
complete Yes Yes Yes Yes ? Yes ?
crossorigin Yes Yes Yes Yes ? Yes ?
currentSrc Yes Yes Yes

38

32 — 522

No No ?
decoding Yes Yes ?63 ? No ?
lowSrc Yes Yes Yes ? ? ? ?
naturalHeight Yes Yes Yes ? ? Yes ?
naturalWidth Yes Yes Yes ? ? Yes ?
onerror No No ?51 Yes Yes ?
referrerPolicy5151 No5038 ? ?
sizes Yes Yes Yes

38

33 — 524

No No ?
srcset3434 Yes

38

32 — 522

No8 ?
x Yes Yes Yes

14

Yes — 7

Yes Yes ?
y Yes Yes Yes

14

Yes — 7

Yes Yes ?

1. IE reports false for broken images.

2. From version 32 until version 52 (exclusive): this feature is behind the dom.image.srcset.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

3. May also be supported in earlier versions.

4. From version 33 until version 52 (exclusive): this feature is behind the dom.image.picture.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

See also

  • The HTML element implementing this interface: <img>