Uint8Array - JavaScript | MDN
Description
Uint8Array is currently the only TypedArray subclass that has additional methods compared to other typed arrays. Because of its nature as a generic byte array, it is the most suitable for working with arbitrary binary data. It supports two sets of methods for the creation, serialization, and modification of Uint8Array data to/from hex strings and base64 strings.
Uint8Array.fromBase64(),Uint8Array.prototype.toBase64(), andUint8Array.prototype.setFromBase64()for working with base64 strings, where 3 bytes are encoded by 4 characters that are either 0–9, A–Z, a–z, "+", and "/" (or "-" and "_", if using URL-safe base64).Uint8Array.fromHex(),Uint8Array.prototype.toHex(), andUint8Array.prototype.setFromHex()for working with hex strings, where every byte is encoded by two characters, each one being either 0–9 or A–F (case-insensitive).
Constructor
Uint8Array()-
Creates a new
Uint8Arrayobject.
Static properties
Also inherits static properties from its parent TypedArray.
Uint8Array.BYTES_PER_ELEMENT-
Returns a number value of the element size.
1in the case ofUint8Array.
Static methods
Inherits static methods from its parent TypedArray.
Uint8Array.fromBase64()-
Creates a new
Uint8Arrayobject from a base64-encoded string. Uint8Array.fromHex()-
Creates a new
Uint8Arrayobject from a hex-encoded string.
Instance properties
Also inherits instance properties from its parent TypedArray.
These properties are defined on Uint8Array.prototype and shared by all Uint8Array instances.
Uint8Array.prototype.BYTES_PER_ELEMENT-
Returns a number value of the element size.
1in the case of aUint8Array. Uint8Array.prototype.constructor-
The constructor function that created the instance object. For
Uint8Arrayinstances, the initial value is theUint8Arrayconstructor.
Instance methods
Inherits instance methods from its parent TypedArray.
Uint8Array.prototype.setFromBase64()-
Populates this
Uint8Arrayobject with bytes from a base64-encoded string, returning an object indicating how many bytes were read and written. Uint8Array.prototype.setFromHex()-
Populates this
Uint8Arrayobject with bytes from a hex-encoded string, returning an object indicating how many bytes were read and written. Uint8Array.prototype.toBase64()-
Returns a base64-encoded string based on the data in this
Uint8Arrayobject. Uint8Array.prototype.toHex()-
Returns a hex-encoded string based on the data in this
Uint8Arrayobject.
Examples
Different ways to create a Uint8Array
js
// From a length
const uint8 = new Uint8Array(2);
uint8[0] = 42;
console.log(uint8[0]); // 42
console.log(uint8.length); // 2
console.log(uint8.BYTES_PER_ELEMENT); // 1
// From an array
const x = new Uint8Array([21, 31]);
console.log(x[1]); // 31
// From another TypedArray
const y = new Uint8Array(x);
console.log(y[0]); // 21
// From an ArrayBuffer
const buffer = new ArrayBuffer(8);
const z = new Uint8Array(buffer, 1, 4);
console.log(z.byteOffset); // 1
// From an iterable
const iterable = (function* () {
yield* [1, 2, 3];
})();
const uint8FromIterable = new Uint8Array(iterable);
console.log(uint8FromIterable);
// Uint8Array [1, 2, 3]
Specifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification # sec-typedarray-objects |