Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The maxByteLength accessor property of ArrayBuffer instances represents the maximum length, in bytes, that the ArrayBuffer 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


Resizable ArrayBuffer and growable SharedArrayBuffer
# sec-get-arraybuffer.prototype.maxbytelength

Browser compatibility

BCD tables only load in the browser

See also