A report on WebAssembly suggests the technology is more popular than many realize, because much of its use is “behind the scenes helping with portability, performance and security.”
Uno Platform has published its fourth annual “State of WebAssembly” summary, written by Gerard Gallant, CIO at Dovico Software and author of WebAssembly in Actio. Uno uses WebAssembly (Wasm) as part of its cross-platform .NET solution.
Data from Google’s Chrome Platform Status shows a steady increase in the number of sites using Wasm, with a year-on-year rise in 2025 from around 4.5 percent to around 5.5 percent.
One of the issues with Wasm on the web is cross-browser support, with Apple’s Safari tending to lag behind, Google Chrome offering the best support, and Mozilla Firefox in between. A table of supported features shows the state of play. In 2025 Safari gained improved exception handling, JavaScript String builtins (improving performance by reducing the need for JavaScript glue code), support for Wasm modules even when just-in-time compilation is disabled, and a new in-place interpreter.

This means that many of the features in Wasm 3.0, for which the specification was finalized in September 2025, are now usable cross-browser, including native garbage collection for automatic memory management. The addition of garbage collection has increased the number of languages which now compile to Wasm, including Java, OCaml, Scala, Kotlin, Scheme and Dart.
Wasm can also be used on the server, thanks to runtimes such as Node.js, Deno, and Wasmtime.
Microsoft’s .NET 10, released in November 2025, includes improved ahead-of-time (AOT) compilation, the result being smaller downloads and faster performance. Uno is working with Microsoft to add multi-threading support to .NET Wasm.
Gallant reports on interesting use cases for Wasm, including as a runtime for embedded devices, edge computing on CDN (content delivery network) platforms like Cloudflare and Akamai, and compiling the PHP runtime to Wasm in order to run applications such as WordPress.
A key feature which Gallant hopes will arrive this year is integrating with ECMAScript modules (ESM). Currently, in order to run a Wasm module, the JavaScript code has to fetch a .wasm file and instantiate it, adding friction. The goal is that Wasm code would behave the same way as standard JavaScript modules using the import keyword:
import { add } from ‘./myMath.wasm’;
console.log(add(1,3)); // Prints 4 to the browser’s console
This goal, called evaluation phase imports, is still some way off, but an intermediate goal which would avoid the need for fetch is further along. This is called source phase imports and according to Gallant, is being worked on for Chrome and Firefox. Details of the ESM integration proposals are in the WebAssembly GitHub repository.
The biggest challenge for Wasm, Gallant said, is marketing. “It’s a technology that’s not super flashy so it’s not always obvious that it’s being used which I think leads people to believe that it’s not as popular as it really is,” he said.
