Width (in pixels) of the browser window viewport including, if rendered, the vertical scrollbar.

Note: If you use nsIDOMWindowUtils.setCSSViewport() to set the virtual window size for page layout purposes, the value returned by this property corresponds to the viewport width set using that method.


var intViewportWidth = window.innerWidth;


intViewportWidth stores the window.innerWidth property value.

The window.innerWidth property is read only; it has no default value.


The innerWidth property is supported in any window object like a window, a frame, a frameset, or a secondary window.

There is an algorithm to obtain the width of the viewport excluding, if rendered, the vertical scrollbar.


// This will return the width of the viewport
var intFrameWidth = window.innerWidth;

// This will return the width of the frame viewport within a frameset
var intFrameWidth = self.innerWidth;

// This will return the width of the viewport of the closest frameset
var intFramesetWidth = parent.innerWidth;

// This will return the width of the viewport of the outermost frameset
var intOuterFramesetWidth = top.innerWidth;

To change the size of a window, see window.resizeBy and window.resizeTo.


Specification Status Comment
CSS Object Model (CSSOM) View Module
The definition of 'window.innerWidth' in that specification.
Working Draft Initial definition

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support1 Yes


4 — 241

FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes Yes Yes


4 — 241

93 ?

1. This property was buggy and could give a wrong value before page load in certain circumstances, see bug 641188.

See also

Document Tags and Contributors

Last updated by: Konrud,