files/en-us/web/javascript/reference/global_objects/uint8array/index.md
The Uint8Array typed array represents an array of 8-bit unsigned integers. 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).
Uint8Array is a subclass of the hidden {{jsxref("TypedArray")}} class.
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 object.Also inherits static properties from its parent {{jsxref("TypedArray")}}.
1 in the case of Uint8Array.Inherits static methods from its parent {{jsxref("TypedArray")}}.
Uint8Array object from a base64-encoded string.Uint8Array object from a hex-encoded string.Also inherits instance properties from its parent {{jsxref("TypedArray")}}.
These properties are defined on Uint8Array.prototype and shared by all Uint8Array instances.
1 in the case of a Uint8Array.Uint8Array instances, the initial value is the {{jsxref("Uint8Array/Uint8Array", "Uint8Array")}} constructor.Inherits instance methods from its parent {{jsxref("TypedArray")}}.
Uint8Array object with bytes from a base64-encoded string, returning an object indicating how many bytes were read and written.Uint8Array object with bytes from a hex-encoded string, returning an object indicating how many bytes were read and written.Uint8Array object.Uint8Array object.// 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}}
{{Compat}}
Uint8Array in core-js