Time to Stable

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.

Example Comparisons
Browsers
Features

Summary

A count of the number of APIs that landed in A first and B last.
Last in ChromeLast in Edge
First in Chrome 70
First in Edge 2

Average time for an API to become available across Chrome and Edge

72 APIs took an average of 138.83 days to become available to use.

API breakdown:

Average time to landing by year of first landing

If a feature landed in the earliest browser in 20XX it took Y days on average to become available in the last browser (when considering Chrome and Edge). TTA (time to available).
WebAssembly APIsWebAssembly TTA
2017 30212.80
2018 7394.71
2019 3253.00
2020 26.50
2021 112.18
2023 72.43
2024 72.00
2025 32.00
2026 28.00

The Tortoise and the Hare

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.

Sprinters

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.

For a given year, if a feature landed in Browser X first, how many days it take on average to be available in Chrome and Edge. TTA (time to available).
Year WebAssemblyWebAssembly TTA
2017
  Chrome 30212.80
2018
  Chrome 6419.67
  Edge 1245.00
2019
  Chrome 3253.00
2020
  Chrome 12.00
  Edge 111.00
2021
  Chrome 112.18
2023
  Chrome 72.43
2024
  Chrome 72.00
2025
  Chrome 32.00
2026
  Chrome 28.00

Plodders

This table is designed to show which browsers are pulling on the platform the most.

For a feature that first landed in year X, how many days did it take on average for the last browser to catch up across Chrome and Edge. TTA (time to available).
Year WebAssembly countWebAssembly TTA
2017
  Edge 30212.80
2018
  Edge 6419.67
  Chrome 1245.00
2019
  Edge 3253.00
2020
  Edge 12.00
  Chrome 111.00
2021
  Edge 112.18
2023
  Edge 72.43
2024
  Edge 72.00
2025
  Edge 32.00
2026
  Edge 28.00

Stable APIs

Below is a list of features that are in Chrome and Edge

Raw Data

Quick Links:

WebAssembly Data

API First Browser Date Last Browser Date Days Notes
webassembly.BigInt-to-i64-integration πŸ“‹Chrome8/25/2020 Edge8/27/20202
webassembly.api πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.CompileError πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.CompileError.CompileError πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.Exception πŸ“‹Chrome10/19/2021 Edge10/21/20212
webassembly.api.Exception.Exception πŸ“‹Chrome10/19/2021 Edge10/21/20212
webassembly.api.Exception.Exception.options_parameter_traceStack Chrome10/19/2021 Edge10/21/20212
webassembly.api.Exception.getArg πŸ“‹Chrome10/19/2021 Edge10/21/20212
webassembly.api.Exception.is πŸ“‹Chrome10/19/2021 Edge10/21/20212
webassembly.api.Exception.stack Chrome10/19/2021 Edge10/21/20212
webassembly.api.Global πŸ“‹Chrome9/4/2018 Edge1/15/2020498
webassembly.api.Global.Global πŸ“‹Chrome9/4/2018 Edge1/15/2020498
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 πŸ“‹Chrome9/4/2018 Edge1/15/2020498
webassembly.api.Global.valueOf πŸ“‹Chrome9/4/2018 Edge1/15/2020498
webassembly.api.Instance πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.Instance.Instance πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.Instance.exports πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.JSTag_static πŸ“‹Chrome7/18/2023 Edge7/21/20233
webassembly.api.LinkError πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.LinkError.LinkError πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.Memory πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.Memory.Memory πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.Memory.Memory.shared πŸ“‹Chrome4/23/2019 Edge1/15/2020267
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 πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.Memory.grow πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.Memory.toFixedLengthBuffer πŸ“‹Chrome1/13/2026 Edge1/21/20268
webassembly.api.Memory.toResizableBuffer πŸ“‹Chrome1/13/2026 Edge1/21/20268
webassembly.api.Module πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.Module.Module πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.Module.Module.compile_options πŸ“‹Chrome10/15/2024 Edge10/17/20242
webassembly.api.Module.customSections_static πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.Module.exports_static πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.Module.imports_static πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.RuntimeError πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.RuntimeError.RuntimeError πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.Table πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.Table.Table πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.Table.get πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.Table.grow πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.Table.length πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.Table.set πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.Tag πŸ“‹Chrome10/19/2021 Edge10/21/20212
webassembly.api.Tag.Tag πŸ“‹Chrome10/19/2021 Edge10/21/20212
webassembly.api.compileStreaming_static πŸ“‹Chrome7/25/2017 Edge10/17/201784
webassembly.api.compileStreaming_static.compile_options πŸ“‹Chrome10/15/2024 Edge10/17/20242
webassembly.api.compile_static πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.compile_static.compile_options πŸ“‹Chrome10/15/2024 Edge10/17/20242
webassembly.api.instantiateStreaming_static πŸ“‹Chrome7/25/2017 Edge10/17/201784
webassembly.api.instantiateStreaming_static.compile_options πŸ“‹Chrome10/15/2024 Edge10/17/20242
webassembly.api.instantiate_static πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.instantiate_static.compile_options πŸ“‹Chrome10/15/2024 Edge10/17/20242
webassembly.api.validate_static πŸ“‹Chrome3/9/2017 Edge10/17/2017222
webassembly.api.validate_static.compile_options πŸ“‹Chrome10/15/2024 Edge10/17/20242
webassembly.branch-hinting πŸ“‹Chrome5/27/2025 Edge5/29/20252
webassembly.bulk-memory-operations πŸ“‹Chrome6/4/2019 Edge1/15/2020225
webassembly.exception-handling πŸ“‹Chrome10/19/2021 Edge10/21/20212
webassembly.extended-constant-expressions πŸ“‹Chrome5/30/2023 Edge6/2/20233
webassembly.fixed-width-SIMD πŸ“‹Chrome5/25/2021 Edge5/27/20212
webassembly.garbage-collection πŸ“‹Chrome10/31/2023 Edge11/2/20232
webassembly.jsStringBuiltins πŸ“‹Chrome10/15/2024 Edge10/17/20242
webassembly.jspi πŸ“‹Chrome5/27/2025 Edge5/29/20252
webassembly.memory64 πŸ“‹Chrome2/4/2025 Edge2/6/20252
webassembly.multi-value πŸ“‹Edge10/9/2020 Chrome10/20/202011
webassembly.multiMemory πŸ“‹Chrome12/5/2023 Edge12/7/20232
webassembly.mutable-globals πŸ“‹Chrome9/4/2018 Edge1/15/2020498
webassembly.non-trapping-float-to-int-conversions πŸ“‹Edge10/2/2018 Chrome6/4/2019245
webassembly.reference-types πŸ“‹Chrome11/15/2021 Edge11/19/20214
webassembly.relaxed-SIMD πŸ“‹Chrome5/30/2023 Edge6/2/20233
webassembly.sign-extension-operations πŸ“‹Chrome9/4/2018 Edge10/2/201828
webassembly.tail-calls πŸ“‹Chrome4/4/2023 Edge4/6/20232
webassembly.threads-and-atomics πŸ“‹Chrome4/23/2019 Edge1/15/2020267
webassembly.typedFunctionReferences πŸ“‹Chrome10/31/2023 Edge11/2/20232