The screens people watch on, from the top down.
What WAI can use on each, and where each feature stops.
This map starts from what WAI exploits on 2026 hardware: WebGPU or the native GPU and neural processor, AV1 in hardware, WebAssembly SIMD and WebCodecs. It then walks back through the model years to where each of those features disappears. Below the last WebAssembly engine, WAI's code still runs as JavaScript; below that, only the classical floor plays; and some devices have no path at all.
Every share here is derived from a covered base of device-equivalents, not a census, and every one is low confidence: each is a range from a pessimistic to an optimistic scenario. Counts are dated .
1 · The ladder, from the top
Each rung names what WAI can exploit on a device and the build that serves it. Read it from the top: the higher rungs need the newer hardware.
-
S Accelerated
Exploits. WebGPU or the device's native GPU, and its neural processor through native code. The strict view also requires AV1 decoded in hardware.
Build. The shipped WebAssembly build with SIMD (and threads where the page can be cross-origin isolated), WebGPU kernels for the compute paths, and native ports where a device opens its SDK. A neural processor runs graphs its vendor compiles, so it serves WAI's non-normative neural paths; bit-exact integer decode stays on the CPU or GPU.
-
A Vectors and codecs
Exploits. WebAssembly SIMD, and WebCodecs for the device's own video decoders. The strict view also requires AV1 decode, in hardware or software.
Build. The shipped build with SIMD. WebCodecs decodes the floor's codestream in the device's own decoder.
-
B The shipped build
Exploits. WebAssembly with bulk memory, sign extension and non-trapping conversions: verification, receipts and integer decode on the CPU.
Build. The shipped build. An engine that cannot pass 64-bit integers across the JavaScript interface takes its legalised copy: the same binary with that interface rewritten, at the same size and speed.
-
B0 WebAssembly 1.0
Exploits. The first version of WebAssembly, and nothing after it.
Build. The MVP-lowered build: every later feature lowered to WebAssembly 1.0, then legalised. A second binary, chosen by feature detection; integer audio decode takes somewhat longer on it.
-
J JavaScript
Exploits. No WebAssembly, but ES5 and typed arrays.
Build. The JavaScript fallback: the MVP-lowered build translated to ES5 with a small runtime, in reduced bundles (receipts; verification; verification and decode; everything). It is built to run receipts and verification on any engine with ES5 and typed arrays, and measured byte-identical on desktop and server builds of engine lines back to 2014; it has not yet run on a real old device. Integer video decode where a device can afford a few times the WebAssembly cost. Engines without a JIT pay far more, and devices with 256 to 512 MB of memory take the receipt or verification bundle only.
-
F The floor
Exploits. No usable script engine, or no typed arrays: nothing of WAI runs on the device.
Build. No WAI build. The classical floor plays in the device's own player: H.264 from SD to 720p30 (with an HVGA rendition at 30 frames per second for 4G feature phones), 1080p30, and AV1. Receipts are checked on a companion device or a server.
-
X No path
Exploits. No app runtime and no network player.
Build. Nothing reaches the device itself. It is reached through what is plugged into it, a stick, a box, a console or a PC, or a phone casting to it, each counted in its own class.
The model year from which each device class reaches each rung
The first year is when the first group of the class reaches the rung, in the optimistic case; the second, the year from which every group of the class does, in the pessimistic case. "Some groups, any year": groups with no model-year cut, such as operator-deployed boxes and broadcast apps. Compute-only view. The timeline breaks each class into its groups.
| Device class | S | A | B | B0 | J |
|---|---|---|---|---|---|
| Phones | 2018; not every group | 2015; not every group | 2013; every group by 2016 | 2012; every group by 2016 | 2011 |
| Tablets | 2018; not every group | 2015; every group by 2016 | 2013; every group by 2015 | 2012; every group by 2013 | 2011 |
| PCs | 2020; not every group | 2009 | 2009 | 2001; every group by 2009 | 2001 |
| TVs | None | 2015; not every group | 2015; not every group | 2015; not every group | 2014; not every group |
| Operator boxes | None | Some groups, any year | Some groups, any year | Some groups, any year | Some groups, any year |
| Sticks | None | 2014; not every group | 2014; not every group | 2014; not every group | 2014; not every group |
| Consoles | None | None | None | None | Some groups, any year |
| Feature phones | None | None | 2021; not every group | 2021; not every group | 2017; not every group |
Where each class sits in 2026
The share of each class's covered base on each rung (not cumulative), pessimistic–optimistic, per cent; Compute-only view. The base is in millions of device-equivalents, as of 2026-10-09, low confidence.
| Device class | Base | S | A | B | B0 | J | F | X |
|---|---|---|---|---|---|---|---|---|
| Phones | 4,659–5,248 | 28–95 | 55–4 | 16–1 | 0 | 1–0 | 0 | 0 |
| Tablets | 496–543 | 37–90 | 46–8 | 16–2 | 0 | 0 | 0 | 0 |
| PCs | 1,131–1,190 | 13–46 | 87–54 | 0 | 0 | 0 | 0 | 0 |
| TVs | 1,832–1,844 | 0 | 2–33 | 10–8 | 6–9 | 7–8 | 22–2 | 54–41 |
| Operator boxes | 870–1,051 | 0 | 0–10 | 0–23 | 0–6 | 23–19 | 69–37 | 7–6 |
| Sticks | 203–265 | 0 | 0–42 | 30–0 | 0–13 | 16–0 | 54–45 | 0 |
| Consoles | 406 | 0 | 0 | 0 | 0 | 29–32 | 27–68 | 44–0 |
| Feature phones | 1,100–1,162 | 0 | 0 | 0 | 0 | 9–15 | 5–39 | 86–47 |
| All classes | 10,697–11,709 | 16–51 | 35–15 | 10–4 | 1–2 | 6 | 13–11 | 20–12 |
2 · The world map
Each country is coloured by the share of the covered base reached at the chosen rung or above. For one device class, a country with its own count shows its own figure; a country inside a count for several countries (the European Union, or the continent for Africa's phones) shows that count's figure; any other country has no data for that class. For all classes together, each country shows its region's figure, which covers only the classes the region has counts for.
- 0–20
- 20–40
- 40–60
- 60–80
- 80–100
- no data for this class
- counted, no tier model
Per cent of the covered base reached at A or above; colour by the pessimistic scenario.
Move over the map, or tab to it: the arrow keys move from place to place.
Keyboard: Tab to the map, then the arrow keys move from place to place, Page Up and Page Down from region to region, and Home and End to the first and the last. Consoles are counted world-wide only, so they are not on the map; their curve is in the next section. Countries too small to draw at this scale are in the table.
The map as a table
Share of the covered base reached at A or above, compute-only view, all device classes: pessimistic–optimistic, per cent; base in millions of device-equivalents (low confidence)
| Place | Figure | Reached, per cent | Base, millions | Count dated | Note |
|---|---|---|---|---|---|
| North America | Region | 54–69 | 1,404–1,442 | — | |
| South America | Region | 75–82 | 668–785 | — | |
| Europe | Region | 60–77 | 1,336–1,533 | — | |
| Russia, Ukraine, Belarus and Moldova | Region | 63–75 | 424–503 | — | |
| Turkey, Iran and Jordan | Region | 86–88 | 226 | — | |
| Africa | Region | 47 | 950–1,154 | — | |
| South Asia | Region | 56–59 | 1,782–1,891 | — | |
| China and Taiwan | Region | 26–61 | 2,457–2,654 | — | |
| Japan and South Korea | Region | 64–81 | 445–516 | — | |
| Southeast Asia | Region | 91 | 432 | — | |
| Central America and the Caribbean | Region | 100 | 60 | — | |
| Central Asia, the Caucasus and Mongolia | Region | 99 | 74 | — | |
| Oceania | Region | 99 | 33 | — | |
| Consoles, counted world-wide | Region | 0 | 406 | — |
3 · The coverage curve
The cumulative share reached as each rung is added from the top: S, then S and A, and so on down to the floor. The band runs between the two scenarios; what is left above the curve at F has no path. Each region's curve covers only the device classes it has counts for, so the regions are not directly comparable: a region counted only for phones and PCs sits near the top.
-
North America1,404–1,442 M · phones, tablets, PCs, TVs, operator boxes, sticks, feature phones -
South America668–785 M · phones, tablets, PCs, TVs, operator boxes, sticks, feature phones -
Europe1,336–1,533 M · phones, tablets, PCs, TVs, operator boxes, sticks, feature phones -
Russia, Ukraine, Belarus and Moldova424–503 M · phones, PCs, TVs, operator boxes, feature phones -
Turkey, Iran and Jordan226 M · phones, tablets, PCs, operator boxes, feature phones -
Africa950–1,154 M · phones, tablets, PCs, TVs, operator boxes, feature phones -
South Asia1,782–1,891 M · phones, tablets, PCs, TVs, operator boxes, feature phones -
China and Taiwan2,457–2,654 M · phones, tablets, PCs, TVs, operator boxes, sticks, feature phones -
Japan and South Korea445–516 M · phones, tablets, PCs, TVs, operator boxes, sticks, feature phones -
Southeast Asia432 M · phones, PCs, operator boxes, feature phones -
Central America and the Caribbean60 M · phones, PCs -
Central Asia, the Caucasus and Mongolia74 M · phones, PCs -
Oceania33 M · phones, PCs, operator boxes -
Consoles, counted world-wide406 M · consoles
The curves as a table
Cumulative per cent of each covered base, pessimistic–optimistic; base in millions of device-equivalents, as of 2026-10-09, low confidence.
| Place | Base | S | +A | +B | +B0 | +J | +F | No path |
|---|---|---|---|---|---|---|---|---|
| Covered world | 10,697–11,709 | 16–51 | 51–65 | 61–69 | 62–72 | 68–77 | 80–88 | 20–12 |
| North America | 1,404–1,442 | 21–44 | 54–69 | 63–71 | 64–71 | 65–74 | 89 | 11 |
| South America | 668–785 | 17–67 | 75–82 | 76–83 | 77–83 | 78–87 | 87–89 | 13–11 |
| Europe | 1,336–1,533 | 18–48 | 60–77 | 67–79 | 68–80 | 69–87 | 86–88 | 14–13 |
| Russia, Ukraine, Belarus and Moldova | 424–503 | 16–52 | 63–75 | 64–76 | 64–78 | 68–80 | 76–88 | 24–12 |
| Turkey, Iran and Jordan | 226 | 16–73 | 86–88 | 87–88 | 87–88 | 87–89 | 91–100 | 9–0 |
| Africa | 950–1,154 | 11–44 | 47 | 48 | 48 | 48–52 | 53–84 | 47–16 |
| South Asia | 1,782–1,891 | 8–52 | 56–59 | 57–60 | 57–60 | 63–65 | 69–71 | 31–29 |
| China and Taiwan | 2,457–2,654 | 16–50 | 26–61 | 58–74 | 63–84 | 76–89 | 88–96 | 12–4 |
| Japan and South Korea | 445–516 | 24–51 | 64–81 | 64–82 | 65–82 | 65–86 | 85–87 | 15–13 |
| Southeast Asia | 432 | 25–84 | 91 | 92 | 92 | 92–94 | 100 | 0 |
| Central America and the Caribbean | 60 | 22–94 | 100 | 100 | 100 | 100 | 100 | 0 |
| Central Asia, the Caucasus and Mongolia | 74 | 27–95 | 99 | 100 | 100 | 100 | 100 | 0 |
| Oceania | 33 | 61–97 | 99 | 99 | 99 | 99 | 99–100 | 1–0 |
| Consoles, counted world-wide | 406 | 0 | 0 | 0 | 0 | 29–32 | 56–100 | 44–0 |
4 · By model year: when each rung arrives, and where it stops
Each device class, split into the groups whose engines differ. Each rung holds from the year it arrives onward; to the left of that year, support for it stops. The model years assume a device updated to its last system and browser, except where an engine is frozen at the model year.
Phones
-
Phones whose web engine updates only with the operating system
Arrives: J 2011 · B0 2013 · B 2015 · A 2017 · S 2018 (from a web page: 2019)
Stops: Before 2011: not assessed
S natively from 2018 models, the first whose neural processor is open to apps, with the native GPU; from a web page, S from 2019 models, the first with WebGPU. The engine decodes AV1 only in hardware, so in the strict view every model before the 2023 top models stays at B, WebGPU and neural processor notwithstanding. Native code runs through a restricted store.
-
Phones whose browser updates from a store, apart from the operating system
Arrives: J 2011 · B0 2012 · B 2013 · A 2015 · S 2022, some models
Stops: Before 2011: F
AV1 decodes in software, so A is the same in both views. WebGPU depends on the graphics processor; the strict view also needs AV1 in hardware, on top-tier models from 2020 only. In-app web views reach B from late-2014 models. The open native SDK reaches the GPU, and the neural processor from 2018 models.
-
Phones in mainland China, where the web engine ships inside apps
Arrives: J 2011 · B 2013 (pessimistic: 2016) · A 2016, optimistic case only
Stops: Before 2011: not assessed
The tier is that of the best engine an app delivers, not the system's own web view. No app-delivered engine documents WebGPU, so S is reached only through native apps.
Tablets
-
Tablets whose web engine updates only with the operating system
Arrives: J 2011 · B0 2013 · B 2015 · A 2016 · S 2018 (every model: 2020) (from a web page: 2020)
Stops: Before 2011: not assessed
S natively from the 2018 top models, whose neural processor is open to apps, and on every model from 2020; from a web page, S from 2020 models, with WebGPU. AV1 hardware is on top-tier chips only; the entry model still sold in 2026 has none, so in the strict view most of these tablets stay at B.
-
Tablets whose browser updates from a store, apart from the operating system
Arrives: J 2011 · B0 2012 · B 2013 · A 2015 · S 2022, some models
Stops: Before 2011: F
As the phones of the same platform.
PCs
-
PCs with a browser updated apart from the operating system
Arrives: J 2001 · B0 2001 · B 2009 · A 2009 · S 2023, some models
Stops: Before 2001: F
Older operating systems keep a frozen browser line: B with SIMD and WebCodecs from 2009 models, B0 or J before that. WebGPU arrives on current systems with 2015 models, depending on the graphics processor and its driver, but S also needs a neural processor open to apps through native code, which arrives with 2023 silicon on some models; those models also decode AV1 in hardware, so S is the same in both views. Laptops whose operating system is the browser reach A at most, and follow the date their updates ended: B for every model updated to mid-2019 or later, and the current engine on every platform released from 2021.
-
PCs whose operating system ships its own browser engine
Arrives: J 2009 · B0 2009 · B 2009 · A 2009 · S 2020 (every model: 2021)
Stops: Before 2009: J
Through another browser, B and A from 2009 models; through the system's own engine, B from 2012 and WebGPU from 2018. S needs the neural processor, open to native apps from late-2020 models and on every model from 2021, with the native GPU; strict S also needs AV1 hardware decode, from late-2023 models and on every model from 2024.
TVs
-
Smart TVs whose web engine is frozen at the model year (the two largest platforms)
Arrives: J 2014 (every model: 2016) · B0 2019 (every model: 2020) · B 2021 · A 2023, optimistic case only
Stops: Before 2014: F (pessimistic) to J (optimistic)
One platform's 2015 sets have no typed arrays and its 2010–2011 sets an engine older than ES5: floor only. 2021 sets need the legalised build. Whether 2023–2026 sets back WebCodecs with their hardware decoders is unverified, hence A from 2023 in the optimistic case; in the pessimistic case only one platform's 2025–2026 sets reach A, and the other platform's never do. No TV engine exposes WebGPU, and no TV processor opens its neural processor to apps.
-
TVs whose system web view updates from a store
Arrives: J 2014 · B0 2015 · B 2015 · A 2015 (pessimistic: 2024)
Stops: Before 2014: not assessed
AV1 decode is required of new launches only from the platform's 2024 system version, and may be software; so A from 2024 in the pessimistic case, any year in the optimistic. The research's TV tables keep this AV1 gate in both views, so the compute-only view gives the same years. The web view never shares memory between threads.
-
TVs in mainland China, which keep the stock web view of their system version
Arrives: J 2014 (pessimistic: 2015) · B0 2017 (pessimistic: 2019) · B 2021, optimistic case only · A 2023, optimistic case only
Stops: Before 2014: F (pessimistic) to J (optimistic)
Without an app store to update it, each set keeps the web view its system version shipped with; older system versions were still shipping in 2023. Sets up to 2014 sit between the floor (pessimistic) and J (optimistic).
-
TVs whose web engine no public source documents
Arrives: J 2014, optimistic case only · B0 2019, optimistic case only · B 2021, optimistic case only · A 2023, optimistic case only
Stops: Before 2014: F
Bounded between the floor (pessimistic) and the best documented platform of the same model year (optimistic).
-
TVs whose apps run in a non-web script language
Holds: Every model year: F
No client engine that can run WAI's code: the floor plays in the set's own player.
-
HbbTV broadcast apps (2.0 terminals)
Holds: Every model year: J
HbbTV 2.0 mandates ES5.1 and typed buffers. HbbTV 2.0.5 (September 2026) mandates WebAssembly 2.0 with SIMD and 64-bit integer interop, so terminals certified to it, from model year 2027 at the earliest, reach A by engine.
-
ATSC 3.0 broadcaster apps
Holds: Every model year: J
The runtime guarantees ES5.1 with typed arrays; WebAssembly is only proposed through 2026. Anything above J comes from the set's own engine.
-
Older broadcast data runtimes (declarative, or scripted in a language other than JavaScript)
Holds: Every model year: X (pessimistic) to F (optimistic)
No typed arrays or no script at all: the floor, where the receiver has an H.264 player and a network path.
-
Non-smart or unconnected TVs
Holds: Every model year: X
No app runtime: reached only through an attached stick, box, console or PC, or a phone casting to it, each counted in its own class.
Operator boxes
-
Two-way operator boxes (IPTV, and cable with a return path)
Holds: Every model year: F (pessimistic) to A (optimistic)
Only where the operator deploys WAI's code: web middleware is F to J (its engine is unknown); mainland two-way cable middleware F to B0, and mainland IPTV boxes J to B; operator boxes on a mobile OS B, or A with an updated web view.
-
One-way broadcast receivers (satellite, cable, terrestrial)
Holds: Every model year: F
The floor, by carriage: the operator must carry it. Receipts are checked on a companion device or a server.
-
Receivers that decode only MPEG-2
Holds: Every model year: X
They cannot play even the H.264 floor.
Sticks
-
Sticks whose web view updates from a store
Arrives: J 2014 · B0 2014 · B 2014 · A 2014, optimistic case only
Stops: Before 2014: not assessed
The web view version per model is unpublished; AV1 decode arrives with 2021 models. Native code is open on every model since 2014.
-
Sticks and boxes with no web engine for apps
Holds: Every model year: F
The floor in the device's own player. One such platform runs native code through a restricted store, with its GPU and, on recent models, its neural processor open to apps.
-
Retail boxes in mainland China
Holds: Every model year: J (pessimistic) to B0 (optimistic)
The stock web view of their system version, as the TVs of the same market.
Consoles
-
Previous-generation home consoles with a browser (JIT off)
Holds: Every model year: J
WebAssembly is compiled out and the engine runs without a JIT, so the JavaScript fallback runs at no-JIT cost.
-
An older home console with a browser
Holds: Every model year: F (pessimistic) to J (optimistic)
An old engine line; typed-array support is the open question.
-
Current-generation home consoles with no general browser
Holds: Every model year: F
The floor through licensed apps only.
-
Hybrid handheld consoles (browser applets with JIT and WebAssembly compiled out)
Holds: Every model year: X (pessimistic) to F (optimistic)
Applets only: no path in the pessimistic case, the floor through licensed apps in the optimistic.
Feature phones
-
Feature phones on a web-based operating system
Arrives: J 2017 · B0 2021 · B 2021
Stops: Before 2017: not assessed
The older engine (2017–2020 models, most of those in use) has WebAssembly off: J. The newer (2021 onward) runs the shipped build in its browser. Phones with 256 MB of memory run only the receipt or verify bundle.
-
4G feature phones on a real-time operating system
Holds: Every model year: F
H.264 decode is sourced at chipset level and these phones play streamed video: the floor, with an HVGA rendition at 30 frames per second.
-
Flip phones built on a mobile operating system (Japan)
Holds: Every model year: F (pessimistic) to J (optimistic)
At least the floor; their web view version is unsourced.
-
3G or unknown-generation feature phones on a real-time operating system
Holds: Every model year: X (pessimistic) to F (optimistic)
Whether they decode H.264 is not sourced per handset.
-
2G feature phones on a real-time operating system
Holds: Every model year: X
Many current 2G models have no data path and no browser.
5 · The policy
Optimise for S and A
- On the web: WebGPU, WebCodecs and WebAssembly SIMD, with threads only where the page can be cross-origin isolated (an in-app web view never can).
- In native apps: the GPU and the neural processor wherever a platform opens its SDK; a neural processor serves the non-normative neural paths, and bit-exact decode stays on the CPU or GPU.
- In mainland China, the engines that apps deliver are the A-class web engines; S there is reached through native apps only.
- S and A together hold 51–65 per cent of the covered base in the compute-only view, and 39–60 in the strict view; S alone holds 4–15 strictly.
AV1 is a codec flag, not a rung gate
Under the strict definition, every phone whose engine decodes AV1 only in hardware falls to B before its 2023 top models, and so do PCs and tablets on the same engine before their top-tier chips, though they have WebGPU and a neural processor. Whether a device decodes AV1 should decide which floor rendition it fetches, AV1 or H.264, not which compute paths WAI may use. So this page shows compute-only by default, and the strict view beside it. The shares of TVs, sticks and operator boxes still keep the AV1 gate in the compute-only view, since the research's tables for them do not separate it from the engine: a TV whose system web view updates from a store is at B in the pessimistic case only because its AV1 decode is unverified.
Support B and B0 with two extra builds
Three WebAssembly binaries behind feature detection, with no reading of the user agent: the shipped build; its legalised copy, for engines that cannot pass 64-bit integers across the JavaScript interface; and the MVP-lowered, legalised build for WebAssembly 1.0. Together they bring back phones to 2013 (store-updated browser) and 2015 (OS-bound engine), TVs from model year 2019, mainland TVs on older system versions, and PCs on older operating systems. The plain MVP-lowered build, without legalisation, never ships alone. These builds and the JavaScript ones are served beside the shipped build, with the loader that chooses between them; section 6 runs each of them in this tab.
Reach J with the JavaScript fallback bundles
For engines with ES5 and typed arrays but no WebAssembly: TVs from 2014 to 2019, previous-generation console browsers, broadcast apps, older feature-phone engines, and older phones and PCs. The bundles are built to run receipts and verification wherever ES5 and typed arrays are, and are measured on desktop and server builds of those engine lines, not yet on a real old device; integer decode where the device can afford it; the receipt bundle alone on small-memory devices.
Always publish the floor
H.264 from SD to 720p30 (with an HVGA rendition for 4G feature phones), 1080p30, and AV1, played by the device's own player. Receipts for a floor-only device are checked on a companion device or a server.
The devices on each lower rung, 2026
Millions of device-equivalents in the covered base, low–high across the two scenarios, as of 2026-10-09; low confidence.
| Rung | Devices, millions | Mostly | What WAI needs there |
|---|---|---|---|
| B0 | 127–269 | TVs 116–167; operator boxes <0.1–60; sticks <0.1–31; phones 9.0 | The MVP-lowered, legalised build. |
| J | 642–649 | operator boxes 200–236; feature phones 100–167; TVs 127–139; consoles 117–131 | The JavaScript fallback bundles. |
| F | 1,225–1,407 | operator boxes 378–717; feature phones 55–437; TVs 28–400; consoles 109–275 | The floor renditions, and an operator carrying them on broadcast receivers. |
| X | 1,340–2,226 | TVs 757–994; feature phones 527–976; consoles <0.1–180; operator boxes 57–76 | Nothing on the device: a stick, box, console, PC or phone beside it. |
No path (X), and why
- Engines without ES5 or typed arrays: some 2010–2011 and 2015 smart-TV engines, the oldest mobile browsers, and broadcast data runtimes older than ES5. With a player that decodes H.264 they are F; without one, X.
- No client script engine: 2G feature phones, many of which have no data path and no browser; and broadcast runtimes with no script at all.
- Closed platforms where only a licensed partner app can run code: the floor at best, through that app.
- Sets with no app runtime: non-smart and unconnected TVs, 54–41 per cent of the covered TV sets. They are reached only through what is plugged into them.
- Receivers that decode only MPEG-2: they cannot play even the H.264 floor.
- Memory-bound devices: phones with 256 MB of memory run only the reduced receipt or verification bundle.
6 · Your device
A probe that runs in this tab. It asks the library's own loader which build of WAI this engine gets: the loader validates tiny WebAssembly modules, one for each feature its builds depend on, and never reads the user agent. The probe adds the features of the upper rungs. Nothing about this device leaves it: the probe sends its results nowhere and stores nothing.
The probe has not run in this browser: it needs scripts, and none has run on this page.
The builds, at the receipt profile
What each rung of the loader fetches to check a receipt. L2 and J load their reduced receipt builds;
the shipped build and L1 are always the whole module. Sizes are the files as served, and compressed, each file in gzip
(RFC 1952) at its strongest level; a server may send fewer bytes. The loader itself, reach/wai-load.js, is
16,621 B (5 kB compressed), fetched once for the detection above.
| Build | Rung | What it loads | Files, under /wai/pkg/ | Size | Compressed |
|---|---|---|---|---|---|
| Shipped · this tab | B | the whole module | wai_web.js, wai_web_bg.wasm | 3,035,224 B | 968 kB |
| L1, legalised · this tab | B | the whole module | reach/wai_web.reach.js, reach/wai_web_bg.l1.wasm | 2,790,475 B | 941 kB |
| L2, MVP-lowered · this tab | B0 | the receipt build | reach/wai_web.reach.js, reach/wai_web_bg.l2.receipt.wasm | 592,021 B | 216 kB |
| J, JavaScript · this tab | J | the receipt build | reach/wai_web.j.receipt.js | 996,473 B | 310 kB |
Run a build in this tab
The loader loads a build, the one it detected or one you force, and the build checks a signed receipt: the receipt of a small synthesized image, with its content hash and its signer's Ed25519 signature over every step and its joules, and two copies that must fail, one with a single bit of the image changed and one with its joule total raised by one. Every rung runs the same code, so every rung must read back the same values; the output column gives their SHA-256. The run downloads the build and the receipt from this site, as any page does, and sends nothing.
Runs in this tab, oldest first. Loading includes the download, unless the browser's cache or an earlier run in this tab already holds the build.
| Build | Chosen | Loaded in | Verified in | Result | Output, SHA-256 | Same output as the first run |
|---|
7 · Method, and what this map is not
A covered base, not a census
The base is every geography with a sourced installed base and a tier model: 10.7–11.7 billion device-equivalents, as of 2026-10-09, low confidence. A household counts as one device and a person as one primary device, so both are lower bounds on devices. Another 260 million TV sets are counted but have no smart-TV share, so they are in no share.
Every share is derived
Each rung's gating features are walked back to the first platform version and model year that has them; installed bases and cohort splits come from the counts; each share is the cohort split times each platform's feature availability, weighted by the platform mix. Every share is therefore derived and low confidence, and given as a range between two scenarios:
- Pessimistic: an older-skewed cohort split, lower feature availability, and old system versions weighted up.
- Optimistic: a newer-skewed cohort split, higher feature availability, and the raw version shares.
Ranges read pessimistic–optimistic, so for a share that falls as reach improves, such as no path, the first number is the larger.
No real old device has run WAI's code
The engine results come from desktop and server builds of the same engine lines. No old TV, set-top box, console or web-based feature phone, and no engine on a 32-bit processor, has run the fallback bundles yet; that run is the next step.
What is missing
- No real device has been run. Every engine result comes from desktop or server builds of the same engine lines; no old TV, set-top box, console or web-based feature phone, and no engine on a 32-bit processor, has run WAI's code.
- Whether 2023–2026 TVs back WebCodecs with their hardware decoders is unverified: that is the B–A spread on recent TVs. One decoder-support query on 2023, 2024 and 2025 sets of the two largest platforms would settle it.
- No installed split of TVs by platform is published outside two countries; elsewhere the research uses shipment shares as a proxy, or bounds.
- Several TV and box engines are undocumented, and are bounded between the floor and the best documented platform of the same year.
- No AV1-hardware share is published by country, and no neural-processor share by phone or PC tier: strict S and compute-only S are bounds.
- Web-view version distributions, the split between the older and the newer web-based feature-phone systems, and the versions of app-delivered engines in mainland China are unpublished.
- No measured survival of TVs by model year exists anywhere: every cohort split is a survival model.
- Households are counted as one device each (mainland operator TV, India's TV homes, several pay-TV counts), and persons as one primary device: both are lower bounds on devices.
- For 39 countries, Indonesia the largest (about 520 million phones, counted in 2024 and 2025; low confidence), the only phone count is people owning any mobile phone, feature phones included; the smartphone model is applied to all of it, so those cells overstate the smartphone rungs by their unknown feature-phone share.
- Whether real-time-OS feature phones decode H.264 is not sourced per handset; that is the X–F spread on 3G and unknown-generation phones.
- Receiver-side MPEG-2 and H.264 splits are unpublished; the MPEG-2-only shares are bounded by the channels carried, not by receiver counts.
- The HbbTV installed base by version, and the certification lag for HbbTV 2.0.5 terminals, are unsourced.
- Research reach: the search budget ran out, later facts come from directly fetched official pages, several regulators' sites could not be reached, and local-language coverage is uneven.
What the covered base leaves out
- The Gulf states, Iraq, Syria, Lebanon, Yemen and Israel: no device counts.
- Phones in Afghanistan, Myanmar, Cambodia, Laos and Nepal: only SIM or household shares.
- Oceania, most of Central America and the Caribbean, Central Asia and the Caucasus: the counts there are phones, with a few PC counts (and, in Oceania, one operator-box count). A few TV counts there have no tier model, and tablets and sticks are not counted.
- Smart-TV shares for Africa, the Gulf, South and Southeast Asia and Canada: those TV sets are counted but have no tier model, so they are in no share.
- One console platform's units (undisclosed); consoles are counted by life-to-date sales, with no survival, so the console count is an upper bound.
- VR headsets, smart displays, e-readers, projectors and single-board computers: no unit counts.
- Cars: their media plays from the phone, so they are left out of the coverage.
Revision 2026-10-09b, as of
The data behind this page is one file, /data/devices/2026-10-09b.json.
A new revision is a new file; a revision is never changed in place.
This revision changes 2026-10-09a as follows.
- Feature phones are modelled by device group (2G, 3G or unknown-generation and 4G real-time-OS phones; the older and the newer web-based systems; flip phones on a mobile OS) in place of one share. 2G phones have no path in either scenario, so the optimistic case no longer counts them as reachable.
- Phones in mainland China take the rung of the best engine their apps deliver, not that of the system web view: their B0 share falls to zero and their B share rises.
- Mainland operator boxes: service accounts are de-duplicated into households, which lowers the operator-box base. Mainland TVs keep the stock web view of their system version, which moves them out of A into B0 and J.
- TV engines: per-model-year engine facts for the largest platforms are revised, and AV1 is required of one platform's new launches only from its 2024 system version.
- The TV platform mix and smart-TV shares are revised for the United States, Spain, Italy, Mexico, Russia and Germany, with new stick counts for Spain, France and Germany.
- New or revised installed bases: Japan and South Korea, the European Union's PCs, phones and tablets, Russia's PCs, India's PCs, and mobile owners in 37 more countries.
- New phone counts for Pakistan, Vietnam, Thailand, Indonesia and the United Kingdom; Africa's feature phones re-scaled against national registries.
- The first receiver evidence for Egypt, Iran, Uganda, Rwanda, Tunisia and sub-Saharan pay-TV, with a bound on receivers that decode only MPEG-2.
- Free-to-air satellite households in India and Brazil, and the broadcast app runtimes, are added.
- Consoles enter the coverage, counted by life-to-date sales (an upper bound).
From 2026-10-09a to 2026-10-09b: base in millions of device-equivalents; reach in per cent of each base, pessimistic–optimistic, strict view.
| Scope | Base | J or above | No path |
|---|---|---|---|
| Covered world | 9,364 → 11,283 | 64–78 → 68–77 | 20–8 → 20–12 |
| Phones | 4,044 → 4,961 | 100 → 100 | 0 → 0 |
| Tablets | 487 → 520 | 100 → 100 | 0 → 0 |
| PCs | 627 → 1,161 | 100 → 100 | 0 → 0 |
| TVs | 1,768 → 1,838 | 18–57 → 24–57 | 52–41 → 54–41 |
| Operator boxes | 1,314 → 1,033 | 31–61 → 23–58 | 5 → 7–6 |
| Sticks | 216 → 234 | 25–100 → 46–55 | 0 → 0 |
| Consoles | new → 406 | new → 29–32 | new → 44–0 |
| Feature phones | 909 → 1,131 | 4–14 → 9–15 | 96–0 → 86–47 |
| North America | 1,397 → 1,423 | 61–81 → 65–74 | 13–11 → 11 |
| South America | 605 → 734 | 75–86 → 78–87 | 15–14 → 13–11 |
| Europe | 1,238 → 1,434 | 67–85 → 69–87 | 15 → 14–13 |
| Russia, Ukraine, Belarus and Moldova | 313 → 464 | 69–78 → 68–80 | 18 → 24–12 |
| Turkey, Iran and Jordan | 165 → 226 | 86–89 → 87–89 | 10–0 → 9–0 |
| Africa | 974 → 1,052 | 49–56 → 48–52 | 48–0 → 47–16 |
| South Asia | 1,542 → 1,837 | 61–64 → 63–65 | 32–12 → 31–29 |
| China and Taiwan | 2,967 → 2,628 | 68–86 → 76–89 | 11–3 → 12–4 |
| Japan and South Korea | 153 → 480 | 37–76 → 65–86 | 23–21 → 15–13 |
| Southeast Asia | 9.0 → 432 | 0–64 → 92–94 | 0 → 0 |
| Central America and the Caribbean | new → 60 | new → 100 | new → 0 |
| Central Asia, the Caucasus and Mongolia | new → 74 | new → 100 | new → 0 |
| Oceania | new → 33 | new → 99 | new → 1–0 |
| Consoles, counted world-wide | new → 406 | new → 29–32 | new → 44–0 |
Sources
Compiled from national statistics offices, regulators, industry trackers and vendor documentation; the private research file records every source with its original quote. Country outlines are public-domain geometry at 1:110 million.