This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.
The getBigInt64() method of DataView instances reads 8 bytes starting at the specified byte offset of this DataView and interprets them as a 64-bit signed integer. There is no alignment constraint; multi-byte values may be fetched from any offset within bounds.
// Create an ArrayBuffer with a size in bytes const buffer = new ArrayBuffer(16); // Highest possible BigInt value that fits in a signed 64-bit integer const max = 2n ** (64n - 1n) - 1n; const view = new DataView(buffer); view.setBigInt64(1, max); console.log(view.getBigInt64(1)); // Expected output: 9223372036854775807n
getBigInt64(byteOffset) getBigInt64(byteOffset, littleEndian)
byteOffsetThe offset, in bytes, from the start of the view to read the data from.
littleEndian OptionalIndicates whether the data is stored in little- or big-endian format. If false or undefined, a big-endian value is read.
A BigInt from -263 to 263-1, inclusive.
RangeErrorThrown if the byteOffset is set such that it would read beyond the end of the view.
const { buffer } = new Uint8Array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]);
const dataview = new DataView(buffer);
console.log(dataview.getBigInt64(1)); // 72623859790382856n
| 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 | |
getBigInt64 |
67 | 79 | 68 | 54 | 15 | 67 | 68 | 48 | 15 | 9.0 | 67 | 15 | 1.0.0 | 1.0 | 10.4.0 |
© 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/DataView/getBigInt64