Float16Array
Baseline Newly available
This feature works across the latest devices and browser versions. This feature might not work in older devices or browser versions. It's been available across browsers since April 2025.
The Float16Array typed array represents an array of 16-bit floating point numbers in the platform byte order. If control over byte order is needed, use DataView instead. The contents are initialized to 0 unless initialization data is explicitly provided. Once established, you can reference elements in the array using the object's methods, or using standard array index syntax (that is, using bracket notation).
Float16Array is a subclass of the hidden TypedArray class.
Note: Float16 support is not universal, both in the JavaScript API and the underlying CPU architecture. Using it may result in slower performance on some platforms. It is intended for interacting with highly optimized and performance-sensitive systems such as float-backed canvases, WebGPU, WebGL, and deep learning models including stable diffusion.
Constructor
-
Float16Array() - Creates a new
Float16Arrayobject.
Static properties
Also inherits static properties from its parent TypedArray.
-
Float16Array.BYTES_PER_ELEMENT - Returns a number value of the element size.
2in the case ofFloat16Array.
Static methods
Inherits static methods from its parent TypedArray.
Instance properties
Also inherits instance properties from its parent TypedArray.
These properties are defined on Float16Array.prototype and shared by all Float16Array instances.
-
Float16Array.prototype.BYTES_PER_ELEMENT - Returns a number value of the element size.
2in the case of aFloat16Array. -
Float16Array.prototype.constructor - The constructor function that created the instance object. For
Float16Arrayinstances, the initial value is theFloat16Arrayconstructor.
Instance methods
Inherits instance methods from its parent TypedArray.
Examples
Different ways to create a Float16Array
// From a length
const float16 = new Float16Array(2);
float16[0] = 42;
console.log(float16[0]); // 42
console.log(float16.length); // 2
console.log(float16.BYTES_PER_ELEMENT); // 2
// From an array
const x = new Float16Array([21, 31]);
console.log(x[1]); // 31
// From another TypedArray
const y = new Float16Array(x);
console.log(y[0]); // 21
// From an ArrayBuffer
const buffer = new ArrayBuffer(32);
const z = new Float16Array(buffer, 4, 4);
console.log(z.byteOffset); // 4
// From an iterable
const iterable = (function* () {
yield* [1, 2, 3];
})();
const float16FromIterable = new Float16Array(iterable);
console.log(float16FromIterable);
// Float16Array [1, 2, 3]
Specifications
Browser compatibility
| Desktop | Mobile | Server | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
Float16Array |
135 |
135 |
129 |
120 |
18.2 |
135 |
129 |
89 |
18.2 |
29.0 |
135 |
18.2 |
1.1.23 |
1.43 |
24.0.0 |
Float16Array |
135 |
135 |
129 |
120 |
18.2 |
135 |
129 |
89 |
18.2 |
29.0 |
135 |
18.2 |
1.1.23 |
1.43 |
24.0.0 |
See also
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float16Array