Screen.isExtended is a read-only instance property that returns true when the device has multiple screens and false otherwise. Learn when to use it before multi-window layouts, how Permissions-Policy can force false, and how to feature-detect safely—with five examples and try-it labs.
01
Kind
Read-only property
02
Returns
Boolean
03
Access
window.screen
04
Status
Experimental
05
Context
Secure (HTTPS)
06
API family
Window Management
Fundamentals
Introduction
Many people use two (or more) monitors. The Window Management API helps web apps place windows across those displays. Before you try a fancy multi-screen layout, you can ask: “Does this device even have more than one screen?”
That question is exactly what window.screen.isExtended answers: true for multiple screens, false for a single screen (or when the API is blocked / missing).
JavaScript
console.log(window.screen.isExtended);
💡
Beginner tip
On browsers without the property, reading it without a check can throw or return undefined. Always feature-detect first (see the examples below).
Concept
Understanding the Property
MDN: the isExtended read-only property of the Screen interface returns true if the user’s device has multiple screens, and false if not. It is typically accessed via window.screen.isExtended.
Instance — on window.screen.
Read-only — you cannot assign to isExtended.
Boolean — multi-screen (true) vs not (false).
Experimental — limited browser support; not Baseline.
Secure context — HTTPS / localhost where supported.
Foundation
📝 Syntax
JavaScript
const multi = window.screen.isExtended;
// same as (when supported):
const multi2 = screen.isExtended;
Value
A boolean: true if the device has multiple screens, false otherwise. If a window-management Permissions-Policy blocks the Window Management API, MDN says isExtended always returns false.
Context
🖥️ Window Management & Multi-Screen Layouts
MDN recommends testing isExtended before attempting a multi-window, multi-screen layout with the Window Management API. Think of it as a cheap gate:
Sites or embedders can set a policy that blocks Window Management. Then isExtended stays false even on a dual-monitor PC. Treat false as “do not assume multi-screen APIs are usable,” not only as “one physical monitor.”
Safety
🛡️ Feature Detection Pattern
Because support is limited, wrap reads in a small helper. Unsupported browsers should fall back to a single-screen path.
JavaScript
function getIsExtended() {
if (!("isExtended" in window.screen)) {
return { supported: false, value: false };
}
return { supported: true, value: Boolean(window.screen.isExtended) };
}
const info = getIsExtended();
console.log(info.supported, info.value);
Cheat Sheet
⚡ Quick Reference
Goal
Code
Read multi-screen flag
screen.isExtended
MDN layout branch
if (screen.isExtended) { … }
Feature-detect
"isExtended" in screen
Policy blocked
Always false (MDN)
Secure context
HTTPS / localhost
MDN status
Experimental · Limited availability
Snapshot
🔍 At a Glance
Four facts about screen.isExtended.
Kind
property
Read-only
Type
boolean
Multi-screen?
Via
window.screen
Screen object
Status
experimental
Not Baseline
Hands-On
Examples Gallery
Examples follow MDN Screen.isExtended. On unsupported browsers, feature-detect demos still print a clear message.
📚 Getting Started
Detect support, then read the boolean safely.
Example 1 — Feature-Detect and Read
Check whether isExtended exists before reading it.
JavaScript
if ("isExtended" in window.screen) {
console.log(window.screen.isExtended);
console.log(typeof screen.isExtended);
} else {
console.log("isExtended not supported");
}
Screen.isExtended belongs to the experimental Window Management API and is not Baseline. It requires a secure context where supported. Always feature-detect and keep a single-screen fallback. Logos use the shared browser-image-sprite.png sprite from this project.
✓ Experimental · Not Baseline
Screen.isExtended
Boolean multi-screen hint — true when multiple screens are available and Window Management is allowed.
LimitedExperimental
Google ChromeWindow Management / Chromium — feature-detect
Limited
Microsoft EdgeFollow Chromium Window Management support
Limited
OperaFollow Chromium support where available
Limited
Mozilla FirefoxTypically unavailable — feature-detect
Unavailable
Apple SafariTypically unavailable — feature-detect
Unavailable
Internet ExplorerNo isExtended support
Unavailable
isExtendedLimited
Bottom line: Detect "isExtended" in screen, read the boolean only when present, treat false as single-screen or blocked, and never require multi-monitor layouts for core UX.
Wrap Up
Conclusion
window.screen.isExtended is an experimental boolean that hints whether multiple screens are available before you attempt Window Management multi-window layouts. Feature-detect, respect secure contexts and Permissions-Policy, and always keep a single-screen path.
Branch to multi-screen only when the value is true
Keep a solid single-screen layout fallback
Remember Permissions-Policy can force false
❌ Don’t
Assign to isExtended (it is read-only)
Assume every browser supports the property
Require multi-monitor layouts for core product flows
Treat false as proof of exactly one physical monitor
Skip checking MDN compatibility for production apps
Summary
Key Takeaways
Knowledge Unlocked
Five things to remember about isExtended
Experimental multi-screen boolean on Screen.
5
Core concepts
🖥️01
Read-only
on Screen
Kind
✅02
Boolean
multi-screen?
Value
🛡️03
Detect first
limited support
Safety
🔒04
HTTPS
secure context
Context
🔬05
Experimental
not Baseline
Status
❓ Frequently Asked Questions
A read-only boolean: true if the device has multiple screens, false if not. Access it as window.screen.isExtended when the API exists.
MDN marks Screen.isExtended as Experimental and Limited availability (not Baseline). It is not Deprecated or Non-standard.
Yes in supporting browsers: MDN lists it as available only in secure contexts (HTTPS or localhost).
MDN: if a Permissions-Policy blocks the Window Management API (window-management), isExtended always returns false—even on multi-monitor setups.
No. It is read-only. You read the boolean; you do not assign to it.
Feature-detect with "isExtended" in window.screen (or typeof screen.isExtended !== "undefined"). Fall back to a single-screen layout when unsupported.
Did you know?
isExtended only tells you whether multiple screens exist (and are allowed to be reported). Placing windows on a specific monitor uses other Window Management APIs such as getScreenDetails()—always behind permission prompts and feature checks.