HDR & Color Gamut Support Detector

Detect HDR, Display P3, Rec.

HDR & Wide Color Gamut Detector

CSS Media Query API

Detect your display's HDR capability, wide color gamut support (P3 / Rec. 2020), and color depth via browser media feature queries.

HDR Display(dynamic-range: high) — 10-bit panel with local dimming
Checking…
Video HDR(video-dynamic-range: high) — HFR video playback support
Checking…
Display P3 Wide Gamut(color-gamut: p3) — Apple, DCI cinema standard
Checking…
High DPI ScreenDevice Pixel Ratio ≥ 2 (Current: …x)
Checking…
sRGB Red
sRGB Green
sRGB Blue
P3 Red
P3 Green
P3 Blue
DCI-P3 White
HDR Gradient
HDR detection is limited to what your browser and OS report. For true HDR pixel-level testing, use a hardware colorimeter and dedicated ICC profiling software.

What Is the HDR & Color Gamut Support Detector?

High Dynamic Range (HDR) display capability and wide color gamuts (P3, Rec. 2020) have become standard features on premium monitors, laptops, phones, and TVs. However, OS settings, driver configurations, and browser support can prevent HDR from activating even on capable hardware. This tool uses CSS Media Query 4 feature detection — specifically (dynamic-range: high), (color-gamut: p3), and related queries — to report what your browser and OS are actually exposing to web content.

How It Works

The detector calls window.matchMedia() with standardized CSS Level 4 media feature queries. These are the same queries that web designers use for color-gamut-aware CSS. The results reflect what your browser reports — which is influenced by OS HDR settings, monitor ICC profile, browser flags, and display connection type (HDMI 2.0 vs. DisplayPort, for example). The visual swatches use CSS color() function with display-p3 color space to render out-of-sRGB colors for visual comparison.

Step-by-Step Instructions

1View the capability matrix — a green "Supported" badge means your browser detected that feature.
2Compare the P3 vs. sRGB color swatches — on a P3 display, the P3 swatches will appear more saturated.
3Enable Windows HDR in Settings → Display → HDR, then refresh and re-check the HDR row.
4On macOS, use System Preferences → Displays and enable True Tone or HDR if available.
5Note the Bit-Depth and Color Depth readouts — 30-bit reporting indicates 10-bit+ panel support.

Technique Tips & Hardware Facts

OS HDR Toggle

Browser HDR detection (dynamic-range: high) only returns true when Windows HDR or macOS EDR is actively enabled in your OS display settings. Toggle it on, refresh the page, and re-check.

HDMI vs. DisplayPort

HDMI 2.0 supports HDR10 and HLG but not Dolby Vision on most PC setups. DisplayPort 1.4 supports HDR10 with DSC compression. For maximum bit-depth, use DisplayPort or HDMI 2.1.

Browser Flags

Some Chromium-based browsers require the --force-color-profile=display-p3 flag or specific experimental features enabled in chrome://flags to expose P3 color gamut to web content accurately.

ICC Profile Matters

Your monitor's ICC profile must be correctly installed and assigned in your OS color management settings for the browser to correctly report wide gamut capabilities. Verify via OS Color Calibration tools.

Frequently Asked Questions

Why does my P3 monitor show "Not Detected"?

Several reasons: browser may not have P3 ICC profile loaded, OS color management might be routing through a sRGB profile, or you're on a system where the display driver doesn't expose P3 metadata to applications.

Is HDR different from P3 wide gamut?

Yes. HDR refers to the luminance range (highlight brightness and shadow depth). Wide color gamut (P3, Rec. 2020) refers to the range of colors. A display can have wide gamut without HDR, or HDR with standard sRGB gamut — though premium displays combine both.

What is the difference between "HDR Display" and "Video HDR"?

(dynamic-range: high) detects the display's general HDR capability for CSS/UI content. (video-dynamic-range: high) specifically detects support for HDR video playback via the <video> element.

My screen.colorDepth shows 24-bit but I have a 10-bit monitor — why?

JavaScript's screen.colorDepth property reports the OS's color depth setting, not the physical panel. Windows typically reports 24-bit even on 10-bit panels unless you've enabled deep color in the display driver settings.

Complementary Tests & Practice Tools