Web/API/HTMLImageElement/width

From Get docs

The width property of the HTMLImageElement interface indicates the width at which an image is drawn in CSS pixels if it's being drawn or rendered to any visual medium such as a screen or printer. Otherwise, it's the natural, pixel density-corrected width of the image.

Syntax

htmlImageElement.width = newWidth;
let width = htmlImageElement.width;

Value

An integer value indicating the width of the image. The way the width is defined depends on whether or not the image is being rendered to a visual medium, such as a screen or printer:

  • If the image is being rendered to a visual medium, the width is expressed in CSS pixels.
  • If the image is not being rendered to a visual medium, its width is represented using the image's natural (intrinsic) width, adjusted for the display density as indicated by naturalWidth.

Example

In this example, two different sizes are provided for an image of a clock using the srcset attribute. One is 200px wide and the other is 400px wide. The sizes attribute is used to specify the width at which the image should be drawn given the viewport's width.

HTML

For viewports up to 400px wide, the image is drawn at a width of 200px. Otherwise, it's drawn at 400px.

<p>Image width: <span class="size">?</span>px (resize to update)</p> 
<img src="/files/16864/clock-demo-200px.png"
      alt="Clock"
      srcset="/files/16864/clock-demo-200px.png 200w,
          /files/16797/clock-demo-400px.png 400w"
      sizes="(max-width: 400px) 200px, 400px">

JavaScript

JavaScript looks at the width property to determine the width of the image at the moment. This is performed in the window's load and resize event handlers so the most current width information is always available.

var clockImage = document.querySelector("img");
let output = document.querySelector(".size");

const updateWidth = event => { output.innerText = clockImage.width; };

window.addEventListener("load", updateWidth);
window.addEventListener("resize", updateWidth);

Result

This example may be easier to try out [[../../../../../../../mdn.mozillademos.org/en-US/docs/Web/API/HTMLImageElement/width%24samples/Example|in its own window]].

Specifications

Specification Status Comment
HTML Living StandardThe definition of 'HTMLImageElement.width' in that specification. Living Standard

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
width Chrome

Full support 1

Edge

Full support 12

Firefox

Full support Yes

IE

?

Opera

Full support Yes

Safari

Full support Yes

WebView Android

Full support Yes

Chrome Android

Full support Yes

Firefox Android

Full support Yes

Opera Android

Full support Yes

Safari iOS

Full support Yes

Samsung Internet Android

Full support Yes

Legend

Full support  
Full support
Compatibility unknown  
Compatibility unknown