How to Convert a Number to a String in JavaScript

When working with JavaScript, you’ll often find yourself needing to convert values from one data type to another. This process is especially common when dealing with numbers and strings, as data received from a user or an API might not always be in the format you need. Understanding how to convert numbers to strings in JavaScript is crucial for developers of all levels. In this article, we will discuss various methods of transforming numbers into strings, compare these methods, and determine which one is the most suitable for different situations.

Why Convert Numbers to Strings?

JavaScript provides several ways to convert numbers to strings. If you’re wondering when and why you might need to perform such a conversion, consider the following scenarios:

  • Preparing a number for display on a webpage.
  • Concatenating numeric values with text in a string.
  • Storing numeric data as a string in a database.

Each of these scenarios requires a reliable method to change a number into a string format without losing any data. Now, let’s explore the different methods available in JavaScript for achieving this.

Using the .toString() Method

One of the most common methods to convert a number to a string in JavaScript is the .toString() method. To use it, simply call .toString() on a number variable:

let myNumber = 123;
let myString = myNumber.toString();
console.log(myString); // "123"

While this method is straightforward and widely used, it’s important to note that using .toString() on a number literal directly (like 123.toString()) can lead to a syntax error because the JavaScript engine might confuse the dot with a decimal point. Instead, you should separate the number and the .toString() method with parentheses:

let myString = (123).toString();

The .toString() method also allows you to convert a number to a different base or radix. For instance, you can convert a number to its hexadecimal representation:

let hexString = (15).toString(16); // "f"

Using the .toString() method provides clarity and an explicit way to convert a number to a string.

Utilizing the String() Constructor

Another approach to converting numbers to strings is using the String() constructor. This method also handles null or undefined values without throwing an error:

let myNumber = 123;
let myString = String(myNumber);
console.log(myString); // "123"

The String() constructor is particularly useful when you need to ensure that even non-numeric values are handled gracefully.

Leveraging Template Literals

Template literals are a feature in ES6 (ECMAScript 2015) that allows for the incorporation of variables and expressions within a string. They are delimited with backticks (`) and are an elegant way to convert numbers to strings:

let myNumber = 123;
let myString = ${myNumber}; console.log(myString); // "123"

Template literals can be especially handy when you need to build a string that includes multiple numbers and text elements.

Concatenating with an Empty String

Converting a number to a string is as simple as concatenating it with an empty string:

let myNumber = 123;
let myString = myNumber + "";
console.log(myString); // "123"

This method is quick and requires no function calls. However, be aware that it may not be obvious to someone reading your code that this operation is intended for type conversion.

Performance Considerations

In modern JavaScript development, performance is often on the developers’ minds. Though the difference in speed between these methods is typically insignificant, it can become noticeable when dealing with massive numbers of conversions. Testing methods in your specific environment and considering factors such as code clarity and maintainability is always wise.

When to Use Each Method

  • Use .toString() when you need to specify a numeral system or for clarity in your code.
  • Opt for String() when dealing with variables that might be null or undefined.
  • Choose template literals for easily embedding numbers in strings, especially when working with multiple variables and literals.
  • Use concatenation for quick conversions, but remember that it may not make your intent as clear as the other methods.

In conclusion, JavaScript offers several ways to convert numbers to strings, each with its own advantages. It’s important to choose the method that best suits your particular use case, taking into consideration factors like code readability and the possibility of encountering null or undefined values.

Remember to test various methods and assess their performance if you’re working in a performance-critical application. Ultimately, using the most appropriate conversion method will lead to cleaner, more efficient, and understandable code.


We’ve reviewed several techniques for converting numbers to strings in JavaScript, each with its own context of best use. Understanding these methods will not only enhance your coding capabilities but also ensure your applications function smoothly when dealing with different data types.

Continually practice these conversion techniques, as familiarity will help you instinctively know which method to use in various coding situations. Explore further with online exercises, and consider getting certified to verify your skills. For those interested in delving deeper into JavaScript, our guide provides a pathway to mastering the language and taking your web development expertise to the next level.