Skip to content
WASM Analyzer LogoWASM Analyzer LogoWASM Analyzer
GitHub

Types

WebAssembly supports the following types:

typeexplanation
externrefExternal object reference; references to objects owned by the host language
f3232-bit floating point data
f6464-bit floating point data
funcrefFunction reference
i3232-bit integer, interpretation as signed/unsigned depending on context
i6462-bit integer, interpretation as signed/unsigned depending on context
v128128-bit number vector: Does not distinguish between floating point or integer data, nor signed or unsigned integers

The above types can be further divided into overlapping categories:

type categoryexplanationmembers
numtypeNumeric valuesi32 | i64 | f32 | f64
reftypeReferencesexternref | funcref
valtypeValue typesnumtype | reftype| vectype or externref | funcref | i32 | i64 | f32 | f64 | v128
vectypeVectorsv128

In addition, the following typings exist:

type or type categoryexplanationdefined as
externtypeClassification for imports and external valuesfunctype | globaltype | memtype | tabletype
functypeFunction signaturesresulttyperesulttype
globaltypeMutable or immutable globally accessible valtypesmutable valtype | immutable valtype
limitsSize ranges for linear memoriesobject: {min: u32, optional max: u32}
memtypeClassification for linear memorieslimits
resulttypeClassification for the results of functions or instruction setsvector, sequence of valtype
tabletypeClassification for Wasm Tableslimits + a reftype