WebAssembly, abbreviated wasm, is a World Wide Web standard for application development. It is designed to replace JavaScript with superior performance. The standard consists of bytecode, its textual representation and a sandboxed execution environment compatible with JavaScript. It can be run both inside and outside a web browser. WebAssembly is standardized within the World Wide Web Consortium.
As WebAssembly only specifies a low-level language, bytecode is generally produced by compiling a higher-level language. Among the first languages supported were Rust, with the wasm-bindgen project/module (crate), and C and C++, compiled with Emscripten (based on LLVM). Many other programming languages now have WebAssembly compilers, including C#, Go, Java, Lua, Python, Ruby, Fortran and Pascal.
Web browsers compile wasm bytecode in the machine language of the host on which they are used, before executing it.