v147 · Web APIs · Performance

Update Device Memory API limits

Chrome 147 refreshes the set of possible values returned by navigator.deviceMemory to reflect modern device capabilities — replacing the old range (0.25–8 GB) with Android buckets of 1–8 GB and desktop/other buckets up to 32 GB, reducing fingerprinting at the low end and enabling better high-end segmentation.

concepts

  1. Memory Inspector

    Reads navigator.deviceMemory live and shows where your device falls in the old vs new bucket system, with a visualization of the full value range.

  2. Adaptive Loading Demo

    A page that uses the updated device memory tiers to select appropriate content quality: low (2 GB), mid (4–8 GB), or high (16–32 GB) — demonstrating the practical use case for the expanded range.

  3. Quality Tier Picker

    Map navigator.deviceMemory buckets to concrete content-quality presets — image resolution, video bitrate, prefetch budget, background tasks. Simulate any bucket value to see how the tier matrix responds, including the privacy cap at 8 GiB.

  4. Memory Budget Optimizer

    A resource-allocation planner driven by navigator.deviceMemory. Shows DOM node limits, image asset budgets, JS bundle ceilings, worker counts, and WebGL texture budgets for every tier — including the new 16 GB and 32 GB desktop tiers added in Chrome 147. "Optimize for this device" reads your actual value and highlights the matching configuration.

  5. Compatibility Lab

    Probes NavigatorDeviceMemory, worker exposure, and the Sec-CH-Device-Memory client hint while comparing the old (0.25–8 GB) buckets with Chrome 147's Android (1–8 GB) and desktop/other (2–32 GB) ranges.

why it shipped

The Device Memory API's original value set (0.25, 0.5, 1, 2, 4, 8 GB) was designed when entry-level devices commonly shipped with 512 MB and high-end ones topped out at 8 GB. By 2026, the landscape changed substantially: the very lowest buckets expose more fingerprinting surface, and many desktop machines have 16–32 GB. Chrome 147 updates the set: Android returns 1, 2, 4, or 8; other platforms return 2, 4, 8, 16, or 32.

references

implementation reference

Need the exact API surface, compatibility boundaries, errors, lifecycle, and source links? Read the matching gendn reference ↗