Skip to main content Accessibility Feedback

How to convert strings to numbers with vanilla JS (and back again)

Today, we’re going to look at three methods you can use to convert a string into a number, and one method for converting a number into a string.

Let’s dig in.


You can use the parseInt() method to convert a string into an integer (a whole number), or turn a decimal into an integer.

Pass in the string (or number) as the first argument. The second argument is called the radix. This is the base number used in mathematical systems. For our use, it should always be 10.

// returns 42
parseInt('42', 10);

// also returns 42
parseInt('42px', 10);

// ALSO also returns 42
parseInt(42.1234, 10);

Here’s a demo of the parseInt() method.


You can use the parseFloat() method to convert a string into a point number (a number with decimal points). Pass in the string as an argument.

If the number has no decimal places, an integer is returned.

// returns 3.14

// also returns 3.14

// returns 3

Here’s a demo of the parseFloat() method.


You can also use the Number() method to convert a string into a number.

Sometimes it returns integer. Other times it returns a float. And if you pass in a string with random text in it, you’ll get NaN, an acronym for Not a Number.

As a result of this inconsistency, I personally prefer to use parseInt() or parseFloat(). If you know the format of the number you’d like, use those instead. If you want the string to fail with NaN if it has other characters in it, though, Number() may actually be a better choice.

// returns 123

// returns 12.3

// returns NaN

Here’s a demo of the Number() method.


You can use the Number.toString() method to convert a number into a string.

let pi = 3.14;
let eleven = 11;

// returns "3.14"

// returns "11"

Here’s a demo of the Number.toString() method.