Number.parseInt()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

The Number.parseInt() static method parses a string argument and returns an integer of the specified radix or base.

Try it

function roughScale(x, base) {
  const parsed = Number.parseInt(x, base);
  if (Number.isNaN(parsed)) {
    return 0;
  }
  return parsed * 100;
}

console.log(roughScale(" 0xF", 16));
// Expected output: 1500

console.log(roughScale("321", 2));
// Expected output: 0

Syntax

js
Number.parseInt(string)
Number.parseInt(string, radix)

Parameters

string

The value to parse, coerced to a string. Leading whitespace in this argument is ignored.

radix Optional

An integer between 2 and 36 that represents the radix (the base in mathematical numeral systems) of the string.

If radix is undefined or 0, it is assumed to be 10 except when the number begins with the code unit pairs 0x or 0X, in which case a radix of 16 is assumed.

Return value

An integer parsed from the given string.

If the radix is smaller than 2 or bigger than 36, or the first non-whitespace character cannot be converted to a number, NaN is returned.

Examples

Number.parseInt vs. parseInt

This method has the same functionality as the global parseInt() function:

js
Number.parseInt === parseInt; // true

Its purpose is modularization of globals. Please see parseInt() for more detail and examples.

Specifications

Specification
ECMAScript® 2025 Language Specification
# sec-number.parseint

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
parseInt

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

See also