Hva er WASM-filformatet?
En .wasm-fil er en kompilert WebAssembly-modul: portabel binær bytekode for en stabelbasert virtuell maskin. Utviklere skriver kode i C, C++, Rust, Go eller et annet støttet språk og kompilerer den til .wasm slik at den kjører med hastighet nær det som er nativt. På nettet kjører modulen sammen med JavaScript; nettleseren henter den og utfører den i en sandkasse uten direkte tilgang til systemet ditt.
WebAssembly er en åpen standard fra W3C WebAssembly Working Group, først stabil i mars 2017 og en W3C-anbefaling siden desember 2019. Hver modul starter med en 8-byte header 00 61 73 6D 01 00 00 00 (strengen \0asm pluss et versjonsfelt), etterfulgt av nummererte seksjoner for typer, importer, funksjoner, minne, eksporter og koden. Den lesbare tekstmotparten er .wat-formatet.
Sikkerhet og trygghet
RISIKO: MEDIUMWebAssembly 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.
Formatdetaljer
i et nøtteskall- 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.
Programmer som åpner WASM-filer
.wasm served by a page and shows the disassembled module in the Debugger panel. .wasm modules automatically when a web page instantiates them; DevTools can disassemble and debug them. wasm2wat file.wasm -o file.wat to disassemble the binary into readable text; wasm-objdump prints section details. .wasm module with wasmer run file.wasm, including WASI programs. wasm2wat file.wasm; installable via Homebrew. wasm2wat file.wasm or dump sections with wasm-objdump -x file.wasm. Tekniske detaljer
dyp spesifikasjon| Encoding | Binary bytecode (stack-machine instructions) |
| Byte order | Little-endian for multi-byte scalars; LEB128 for integers |
| Container | Module = 8-byte header followed by a sequence of numbered sections |
| Compression | None built in; commonly served with gzip or Brotli over HTTP |
| Typical size | Tens of KB to several MB depending on the compiled program |
| Structure | Header (magic + version) then sections: Type, Import, Function, Table, Memory, Global, Export, Start, Element, Code, Data, plus optional Custom sections (names, DWARF debug info). |
| Integrity | No internal checksum; integrity handled by transport (HTTPS) or Subresource Integrity on the web |
| Platforms | Windows, macOS, Linux, Android, iOS, Web |
| Initial Release Full | March 2017 (MVP / binary format version 1) |
| Notes | Text-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 Set | Virtual stack machine, structured control flow, 32/64-bit integers and floats, linear memory |
| Debug Info | Optional DWARF data and a name section carried in Custom sections |
| Utgitt | 2017 |
| Siste versjon | WebAssembly 3.0 (2025); binary version field 0x01 |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | webassembly.github.io |
WASM-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om WASM-filer.
Ofte stilte spørsmål
Hvordan åpner jeg en WASM-fil?
wasm2wat file.wasm fra WABT, eller kjør den utenfor en nettleser med Wasmtime eller Wasmer.Kan jeg redigere en WASM-fil?
.wat med wasm2wat, rediger denne, og sett den sammen igjen med wat2wasm. For reelle endringer redigerer du normalt den originale kildekoden i C, C++ eller Rust og kompilerer på nytt.Hva er forskjellen mellom .wasm og .wat?
.wasm er den kompakte binærfilen en maskin utfører; .wat er den tilsvarende menneskelig lesbare teksten (WebAssembly Text Format). De kan konverteres frem og tilbake tapsfritt med WABT.Hvorfor laster nettleseren min ned en .wasm-fil i stedet for å kjøre den?
.wasm med MIME-typen application/wasm. Hvis den sendes som en generisk type eller teksttype, kan nettleseren laste den ned eller nekte å strøm-kompilere den. Rett opp serverens innholdstype («content type»).Er det trygt å kjøre en WASM-fil?
Hvilke programmer lager WASM-filer?
wasm32-target med wasm-pack, TinyGo/Go og Clang/LLVM produserer .wasm-filer.