Hvad er WASM-filformatet?
En .wasm-fil er et kompileret WebAssembly-modul: portabel binær bytecode til en stak-baseret virtuel maskine. Udviklere skriver kode i C, C++, Rust, Go eller et andet understøttet sprog og kompilerer det til .wasm, så det kører tæt på indfødt hastighed. På nettet kører modulet sammen med JavaScript; browseren henter det og eksekverer det i en sandkasse uden direkte adgang til dit system.
WebAssembly er en åben standard fra W3C WebAssembly Working Group, første gang stabil i marts 2017 og en W3C-anbefaling siden december 2019. Hvert modul starter med en 8-byte header 00 61 73 6D 01 00 00 00 (strengen \0asm plus et versionsfelt), efterfulgt af nummererede sektioner for typer, imports, funktioner, hukommelse, exports og koden. Den læsbare tekst-modpart er .wat-formatet.
Sikkerhed og tryghed
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
kort fortalt- 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 der åbner 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. wasm2wat file.wasm; installable via Homebrew. wasm2wat file.wasm or dump sections with wasm-objdump -x file.wasm. Tekniske detaljer
dyb specifikation| 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 |
| Udgivet | 2017 |
| Seneste version | WebAssembly 3.0 (2025); binary version field 0x01 |
| Åben standard | Ja · royaltyfri |
| Specifikation | webassembly.github.io |
WASM-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om WASM-filer.
Ofte stillede spørgsmål
Hvordan åbner jeg en WASM-fil?
wasm2wat file.wasm fra WABT, eller køre den uden for en browser med Wasmtime eller Wasmer.Kan jeg redigere en WASM-fil?
.wat med wasm2wat, rediger den, og saml den derefter igen med wat2wasm. Ved reelle ændringer redigerer du normalt den originale C, C++ eller Rust kildekode og rekompilerer.Hvad er forskellen på .wasm og .wat?
.wasm er den kompakte binære fil, som en maskine eksekverer; .wat er den tilsvarende menneskeligt læsbare tekst (WebAssembly Text Format). De kan konverteres frem og tilbage uden tab med WABT.Hvorfor downloader min browser en .wasm-fil i stedet for at køre den?
.wasm med MIME-typen application/wasm. Hvis den serveres som en generisk type eller teksttype, kan browseren finde på at downloade den eller nægte at stream-kompilere den. Ret serverens content type.Er en WASM-fil sikker at køre?
Hvilke programmer opretter WASM-filer?
wasm32-target med wasm-pack, TinyGo/Go og Clang/LLVM producerer .wasm-output.