.WASM

WASM File

WebAssembly Binary File
Ask a question
QUICK ANSWER

A .wasm file holds a compiled WebAssembly module: portable binary bytecode produced from languages like C, C++, or Rust and run at near-native speed. Most .wasm files are loaded by a web page and executed by the browser rather than opened directly, so any modern browser (Chrome, Firefox, Edge, Safari) runs them. To inspect one, disassemble it to readable text with the wasm2wat tool from the WebAssembly Binary Toolkit (WABT), or run it outside the browser with a runtime such as Wasmtime or Wasmer.

Developer: W3C WebAssembly Working Group (originally Mozilla, Google, Microsoft, Apple) Category: Developer Files Open standard MIME: application/wasm
OPENS ON Windows macOS Linux Web
Related: .DO · .MD · .HEX · .XSD

On this page

19k+ extensions indexed
Last reviewed Aug 28, 2026

Not sure what your file is?

Drop any file into our identifier - we read just the first bytes to name the format.

Identify a file

What is the WASM file format?

A .wasm file is a compiled WebAssembly module: portable binary bytecode for a stack-based virtual machine. Developers write code in C, C++, Rust, Go, or another supported language and compile it to .wasm so it runs at close to native speed. On the web the module runs alongside JavaScript; the browser fetches it and executes it in a sandbox with no direct access to your system.

WebAssembly is an open standard from the W3C WebAssembly Working Group, first stable in March 2017 and a W3C Recommendation since December 2019. Every module starts with the 8-byte header 00 61 73 6D 01 00 00 00 (the string \0asm plus a version field), followed by numbered sections for types, imports, functions, memory, exports, and the code. The readable text counterpart is the .wat format.

Security & safety

RISK: MEDIUM

WebAssembly runs inside a sandbox with no direct access to the file system, network, or DOM unless the host grants it, so a module cannot escape on its own. The risk comes from what the surrounding page or runtime allows: malicious sites have used Wasm for in-browser cryptomining and for obfuscating logic that is harder to read than JavaScript. Only run standalone .wasm files from sources you trust, since a WASI runtime can be given file and network permissions.

Format details

in a nutshell
FULL NAMEWebAssembly Binary Fileaka Wasm, WebAssembly module
DEVELOPERW3C WebAssembly Working Group (originally Mozilla, Google, Microsoft, Apple)since 2017
MIME TYPEapplication/wasm
TYPEBinary bytecode / compiled module
STANDARDOpen · royalty-free
This extension is also used by…
  • Wavefront / general 3D scene data - A few older or niche 3D and simulation tools have used .wasm for scene or mesh data, unrelated to WebAssembly.
  • Application-specific save or cache files - Some standalone programs have reused the .wasm extension for internal data files; these are not WebAssembly modules and lack the \0asm header.
MAGIC BYTES · FILE SIGNATURE
OFFSET
0001020304050607
HEX
0061736D01000000
ASCII
·asm····
First 4 bytes are the magic number 00 61 73 6D ("\0asm"). The next 4 bytes are the little-endian version field, currently 01 00 00 00 (version 1).

Programs that open WASM files

Windows6 apps
Mozilla Firefox Open-source Runs .wasm served by a page and shows the disassembled module in the Debugger panel.
Google Chrome Free Loads and executes .wasm modules automatically when a web page instantiates them; DevTools can disassemble and debug them.
Microsoft Edge Free Executes WebAssembly on any page and inspects modules through its DevTools.
WABT (wasm2wat) Open-source Run wasm2wat file.wasm -o file.wat to disassemble the binary into readable text; wasm-objdump prints section details.
Wasmtime Open-source Execute a standalone module from the command line with wasmtime file.wasm.
Wasmer Open-source Run or embed a .wasm module with wasmer run file.wasm, including WASI programs.
macOS4 apps
Google Chrome Free Instantiates .wasm from pages and disassembles them in DevTools.
Apple Safari Built-in Runs WebAssembly modules loaded by web pages and lets you inspect them in Web Inspector.
WABT (wasm2wat) Open-source Disassemble a binary to text with wasm2wat file.wasm; installable via Homebrew.
Wasmtime Open-source Run a module directly with wasmtime file.wasm.
Linux5 apps
Mozilla Firefox Open-source Runs WebAssembly on any page and shows it in the Debugger.
Google Chrome Free Executes .wasm served by a page; DevTools disassembles the module.
WABT (wasm2wat) Open-source Disassemble with wasm2wat file.wasm or dump sections with wasm-objdump -x file.wasm.
Wasmtime Open-source Execute standalone modules with wasmtime file.wasm.
WasmEdge Open-source Run edge and server modules with wasmedge file.wasm.
Web1 app
WebAssembly.org online tools / Wasm Explorer Free Upload or paste a module to view its disassembly and section layout in the browser.

Technical details

deep spec
EncodingBinary bytecode (stack-machine instructions)
Byte orderLittle-endian for multi-byte scalars; LEB128 for integers
ContainerModule = 8-byte header followed by a sequence of numbered sections
CompressionNone built in; commonly served with gzip or Brotli over HTTP
Typical sizeTens of KB to several MB depending on the compiled program
StructureHeader (magic + version) then sections: Type, Import, Function, Table, Memory, Global, Export, Start, Element, Code, Data, plus optional Custom sections (names, DWARF debug info).
IntegrityNo internal checksum; integrity handled by transport (HTTPS) or Subresource Integrity on the web
PlatformsWindows, macOS, Linux, Android, iOS, Web
Initial Release FullMarch 2017 (MVP / binary format version 1)
NotesText-format counterpart is the .wat file. Source languages such as C, C++, Rust and Go compile to .wasm. Runs sandboxed in browsers and in standalone runtimes (Wasmtime, Wasmer, WasmEdge, WAMR). WASI extends it to server and CLI use.
Instruction SetVirtual stack machine, structured control flow, 32/64-bit integers and floats, linear memory
Debug InfoOptional DWARF data and a name section carried in Custom sections
Released2017
Latest versionWebAssembly 3.0 (2025); binary version field 0x01
Open standardYes · royalty-free
Specificationwebassembly.github.io

WASM conversions

Community Q&A

asked by users
Ask a quick question
Get help from people who work with WASM files. Be specific - include your system and software version.
No account needed · answers usually within a day

No questions yet - be the first to ask about WASM files.

Frequently asked questions

How do I open a WASM file?
On the web you rarely open it by hand; a page loads it and the browser runs it. To read one, disassemble it to text with wasm2wat file.wasm from WABT, or run it outside a browser with Wasmtime or Wasmer.
Can I edit a WASM file?
Not directly in a useful way, since it is binary. Convert it to the .wat text format with wasm2wat, edit that, then reassemble with wat2wasm. For real changes you normally edit the original C, C++, or Rust source and recompile.
What is the difference between .wasm and .wat?
.wasm is the compact binary a machine executes; .wat is the equivalent human-readable text (WebAssembly Text Format). They convert back and forth losslessly with WABT.
Why is my browser downloading a .wasm file instead of running it?
The server must send .wasm with the application/wasm MIME type. If it is served as a generic or text type the browser may download it or refuse to stream-compile it. Fix the server's content type.
Is a WASM file safe to run?
In a browser it runs sandboxed and cannot touch your files by itself. A standalone runtime can grant it more access through WASI, so only run modules from sources you trust.
What programs create WASM files?
Compilers and toolchains such as Emscripten (C/C++), the Rust wasm32 target with wasm-pack, TinyGo/Go, and Clang/LLVM produce .wasm output.

References

1WebAssembly - Wikipediaen.wikipedia.org
2WebAssembly Core Specification - Binary Format (W3C)webassembly.github.io

Keep exploring

across the database

Top extensions this week

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.JPGJPEG Image
4.DATProgram Data File (generic)
5.EXEWindows Executable (Portable Executable)
6.RPMSGRestricted Permission Message
7.PARTPartial Download File
8.BINCD/DVD Disc Image (BIN/CUE)
9.DBSQLite Database File
10.JSONJavaScript Object Notation file

Related extensions

.DOStata Do-File
.MDMarkdown Document
.HEXIntel HEX File
.XSDXML Schema Definition
.MAPSource Map (JavaScript / CSS)
.CONFIGConfiguration File

Free file tools

An in-browser file identifier and image converter - everything runs on your device.

Open the toolbox

Browse file extensions A-Z