The maxByteLength accessor property of ArrayBuffer instances returns the maximum length (in bytes) that this array buffer can be resized to.

Try it


The maxByteLength property is an accessor property whose set accessor function is undefined, meaning that you can only read this property. The value is established when the array is constructed, set via the maxByteLength option of the ArrayBuffer() constructor, and cannot be changed.

This property returns 0 if this ArrayBuffer has been detached. If this ArrayBuffer was constructed without specifying a maxByteLength value, this property returns a value equal to the value of the ArrayBuffer's byteLength.


Using maxByteLength

In this example, we create an 8-byte buffer that is resizable to a max length of 16 bytes, then return its maxByteLength:

const buffer = new ArrayBuffer(8, { maxByteLength: 16 });

buffer.maxByteLength; // 16


ECMAScript Language Specification
# sec-get-arraybuffer.prototype.maxbytelength

Browser compatibility

BCD tables only load in the browser

See also