Get to know MDN better
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2020.
The BigInt.asIntN() static method truncates a BigInt value to the given number of least significant bits and returns that value as a signed integer.
The amount of bits available for the returned BigInt. Should be an integer between 0 and 253 - 1, inclusive.
bigintThe BigInt value to truncate to fit into the supplied bits.
The value of bigint modulo 2 ** bits, as a signed integer.
Thrown if bits is negative or greater than 253 - 1.
The BigInt.asIntN method truncates a BigInt value to the given number of bits, and interprets the result as a signed integer. For example, for BigInt.asIntN(3, 25n), the value 25n is truncated to 1n:
25n = 00011001 (base 2) ^=== Use only the three remaining bits ===> 001 (base 2) = 1nIf the leading bit of the remaining number is 1, the result is negative. For example, BigInt.asIntN(4, 25n) yields -7n, because 1001 is the encoding of -7 under two's complement:
25n = 00011001 (base 2) ^==== Use only the four remaining bits ===> 1001 (base 2) = -7nNote: BigInt values are always encoded as two's complement in binary.
Unlike similar language APIs such as Number.prototype.toExponential(), asIntN is a static property of BigInt, so you always use it as BigInt.asIntN(), rather than as a method of a BigInt value. Exposing asIntN() as a "standard library function" allows interop with asm.js.
The BigInt.asIntN() method can be useful to stay in the range of 64-bit arithmetic.
| ECMAScript® 2027 Language Specification # sec-bigint.asintn |
Enable JavaScript to view this browser compatibility table.
This page was last modified on Jul 10, 2025 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.