This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.
The getBigUint64() method of DataView instances reads 8 bytes starting at the specified byte offset of this DataView and interprets them as a 64-bit unsigned 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 an unsigned 64-bit integer const max = 2n ** 64n - 1n; const view = new DataView(buffer); view.setBigUint64(1, max); console.log(view.getBigUint64(1)); // Expected output: 18446744073709551615n
getBigUint64(byteOffset) getBigUint64(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 0 to 264-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.getBigUint64(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 | |
getBigUint64 |
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/getBigUint64