For a given set of browsers, what APIs are in all of them and how many days it take for the API to land in the first browser to the last.
| Last in Firefox | Last in Safari | |
|---|---|---|
| First in Firefox | 52 | |
| First in Safari | 9 |
61 APIs took an average of 316.38 days to become available to use.
API breakdown:
| WebAssembly APIs | WebAssembly TTA | |
|---|---|---|
| 2017 | 28 | 196.00 |
| 2018 | 9 | 835.00 |
| 2020 | 6 | 394.67 |
| 2021 | 9 | 199.11 |
| 2023 | 4 | 343.25 |
| 2024 | 2 | 181.00 |
| 2025 | 3 | 133.67 |
There is a natural tension on the web with respect to browser engines. Every engine has their own set of priorities which define the level of investment that they choose to make and on which areas they choose to make it.
A developer naturally wants their experiences to be available to the widest audience possible and these differing priorities create an unevenness on the platform (a lumpiness) making it harder for developers to build experiences that work everywhere.
This section highlights where browsers are pushing and pulling on the platform.
This table is designed to show which browsers are pushing on the platform the most.
Adding features to quickly is not always desired because developers are unlikely to adopt those features in their sites or apps.
| Year | WebAssembly | WebAssembly TTA |
|---|---|---|
| 2017 | ||
| Firefox | 28 | 196.00 |
| 2018 | ||
| Firefox | 9 | 835.00 |
| 2020 | ||
| Firefox | 5 | 454.00 |
| Safari | 1 | 98.00 |
| 2021 | ||
| Safari | 8 | 141.00 |
| Firefox | 1 | 664.00 |
| 2023 | ||
| Firefox | 4 | 343.25 |
| 2024 | ||
| Firefox | 2 | 181.00 |
| 2025 | ||
| Firefox | 3 | 133.67 |
This table is designed to show which browsers are pulling on the platform the most.
| Year | WebAssembly count | WebAssembly TTA |
|---|---|---|
| 2017 | ||
| Safari | 28 | 196.00 |
| 2018 | ||
| Safari | 9 | 835.00 |
| 2020 | ||
| Safari | 5 | 454.00 |
| Firefox | 1 | 98.00 |
| 2021 | ||
| Firefox | 8 | 141.00 |
| Safari | 1 | 664.00 |
| 2023 | ||
| Safari | 4 | 343.25 |
| 2024 | ||
| Safari | 2 | 181.00 |
| 2025 | ||
| Safari | 3 | 133.67 |
Below is a list of features that are in Firefox and Safari
| API | First Browser | Date | Last Browser | Date | Days | Notes |
|---|---|---|---|---|---|---|
| webassembly.BigInt-to-i64-integration π | Firefox | 6/30/2020 | Safari | 4/26/2021 | 300 | |
| webassembly.api π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.CompileError π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.CompileError.CompileError π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.Exception π | Safari | 12/13/2021 | Firefox | 5/3/2022 | 141 | |
| webassembly.api.Exception.Exception π | Safari | 12/13/2021 | Firefox | 5/3/2022 | 141 | |
| webassembly.api.Exception.Exception.options_parameter_traceStack | Safari | 12/13/2021 | Firefox | 5/3/2022 | 141 | |
| webassembly.api.Exception.getArg π | Safari | 12/13/2021 | Firefox | 5/3/2022 | 141 | |
| webassembly.api.Exception.is π | Safari | 12/13/2021 | Firefox | 5/3/2022 | 141 | |
| webassembly.api.Global π | Firefox | 9/5/2018 | Safari | 3/24/2020 | 566 | |
| webassembly.api.Global.Global π | Firefox | 9/5/2018 | Safari | 3/24/2020 | 566 | Chrome: Constructing a Global with a value of v128 produces a TypeError.Chrome Android: Constructing a Global with a value of v128 produces a TypeError.Deno: Constructing a Global with a value of v128 produces a TypeError.Edge: Constructing a Global with a value of v128 produces a TypeError.Node.js: Constructing a Global with a value of v128 produces a TypeError.Quest Browser: Constructing a Global with a value of v128 produces a TypeError.Opera: Constructing a Global with a value of v128 produces a TypeError.Opera Android: Constructing a Global with a value of v128 produces a TypeError.Samsung Internet: Constructing a Global with a value of v128 produces a TypeError.WebView Android: Constructing a Global with a value of v128 produces a TypeError. |
| webassembly.api.Global.value π | Firefox | 9/5/2018 | Safari | 3/24/2020 | 566 | |
| webassembly.api.Global.valueOf π | Firefox | 9/5/2018 | Safari | 3/24/2020 | 566 | |
| webassembly.api.Instance π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.Instance.Instance π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.Instance.exports π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.JSTag_static π | Firefox | 10/1/2024 | Safari | 3/31/2025 | 181 | |
| webassembly.api.LinkError π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.LinkError.LinkError π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.Memory π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.Memory.Memory π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.Memory.Memory.shared π | Firefox | 6/30/2020 | Safari | 12/13/2021 | 531 | Safari: Shared WebAssembly.Memory is gated behind COOP/COEP. For more detail, read Making your website "cross-origin isolated" using COOP and COEP.Safari on iOS: Shared WebAssembly.Memory is gated behind COOP/COEP. For more detail, read Making your website "cross-origin isolated" using COOP and COEP.WebView on iOS: Shared WebAssembly.Memory is gated behind COOP/COEP. For more detail, read Making your website "cross-origin isolated" using COOP and COEP. |
| webassembly.api.Memory.buffer π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.Memory.grow π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.Memory.toFixedLengthBuffer π | Firefox | 11/11/2025 | Safari | 12/12/2025 | 31 | |
| webassembly.api.Memory.toResizableBuffer π | Firefox | 11/11/2025 | Safari | 12/12/2025 | 31 | |
| webassembly.api.Module π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.Module.Module π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.Module.customSections_static π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.Module.exports_static π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.Module.imports_static π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.RuntimeError π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.RuntimeError.RuntimeError π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.Table π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.Table.Table π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.Table.get π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.Table.grow π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.Table.length π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.Table.set π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.Tag π | Safari | 12/13/2021 | Firefox | 5/3/2022 | 141 | |
| webassembly.api.Tag.Tag π | Safari | 12/13/2021 | Firefox | 5/3/2022 | 141 | |
| webassembly.api.compileStreaming_static π | Firefox | 1/23/2018 | Safari | 9/20/2021 | 1336 | |
| webassembly.api.compile_static π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.instantiateStreaming_static π | Firefox | 1/23/2018 | Safari | 9/20/2021 | 1336 | |
| webassembly.api.instantiate_static π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.api.validate_static π | Firefox | 3/7/2017 | Safari | 9/19/2017 | 196 | |
| webassembly.bulk-memory-operations π | Firefox | 6/30/2020 | Safari | 10/25/2021 | 482 | |
| webassembly.exception-handling π | Safari | 12/13/2021 | Firefox | 5/3/2022 | 141 | |
| webassembly.exceptionsFinal π | Firefox | 10/1/2024 | Safari | 3/31/2025 | 181 | |
| webassembly.extended-constant-expressions π | Firefox | 4/11/2023 | Safari | 3/5/2024 | 329 | |
| webassembly.fixed-width-SIMD π | Firefox | 6/1/2021 | Safari | 3/27/2023 | 664 | |
| webassembly.garbage-collection π | Firefox | 11/21/2023 | Safari | 12/11/2024 | 386 | |
| webassembly.jsStringBuiltins π | Firefox | 1/7/2025 | Safari | 12/12/2025 | 339 | |
| webassembly.multi-value π | Safari | 3/24/2020 | Firefox | 6/30/2020 | 98 | |
| webassembly.mutable-globals π | Firefox | 9/5/2018 | Safari | 3/24/2020 | 566 | |
| webassembly.non-trapping-float-to-int-conversions π | Firefox | 12/11/2018 | Safari | 10/25/2021 | 1049 | |
| webassembly.reference-types π | Firefox | 7/28/2020 | Safari | 10/25/2021 | 454 | |
| webassembly.sign-extension-operations π | Firefox | 9/5/2018 | Safari | 4/26/2021 | 964 | |
| webassembly.tail-calls π | Firefox | 12/19/2023 | Safari | 12/11/2024 | 358 | |
| webassembly.threads-and-atomics π | Firefox | 7/28/2020 | Safari | 12/13/2021 | 503 | |
| webassembly.typedFunctionReferences π | Firefox | 11/21/2023 | Safari | 9/16/2024 | 300 |