Tail call optimization (WebAssembly)Baseline · Newly available
Tail call optimization discards a caller frame and replaces the call with a jump instruction.
Works in the latest version of every major browser, but older devices may not support it yet. Baseline since Dec 11, 2024.
Browser support
DesktopChrome
1–111Not supported
112+Supportedsince Apr 4, 2023
Current: 155Edge
12–111Not supported
112+Supportedsince Apr 6, 2023
Current: 154Firefox
1–120Not supported
121+Supportedsince Dec 19, 2023
Current: 157Safari
1–18.1Not supported
18.2+Supportedsince Dec 11, 2024
Current: 27MobileChrome Android
18–111Not supported
112+Supportedsince Apr 4, 2023
Current: 155Firefox Android
4–120Not supported
121+Supportedsince Dec 19, 2023
Current: 157Safari iOS
1–18.1Not supported
18.2+Supportedsince Dec 11, 2024
Current: 27How to use
Every current browser supports this, but it only became Baseline on Dec 11, 2024. Use it as a progressive enhancement, or keep a fallback if you support older devices.
Example
Full syntax and examples are on MDN — see the links below.
Feature detection
There’s no simple runtime check for this feature; rely on the support table and test in your target browsers.