padStart and padEnd String Methods in JavaScript


While this tutorial has content that we believe is of great benefit to our community, we have not yet tested or edited it to ensure you have an error-free learning experience. It's on our list, and we're working on it! You can help us out by using the "report an issue" button at the bottom of the tutorial.

padStart and padEnd are two new methods available on JavaScript strings. As their name implies, they allow for formatting a string by adding padding characters at the start or the end. Keep in mind that these two methods are new and browser support is still very limited.

Both methods work in the same way, with the only difference being that with padStart the padding is added at the start of the string and with padEnd the padding added at then end.

They take a targetLength argument for the desired length or the string an optional padString argument that defaults to a space when not provided. The padString will be repeated if needed to fill the desired targetLength.

Here are a few examples:

"Dog!".padStart(10); // "      Dog!"
"Dog!".padEnd(14, ' Woof'); // "Dog! Woof Woof"

"A longer string here".padEnd(10); // "A longer string here"

padStart and padEnd come-in handy for formatting numbers and formatting for console outputting:

let values = ['17.99', '200', '3400.57', '7.97', '567'];

let formattedValues = values.map(value => {
  let nbr = parseFloat(value).toFixed(2);

  return ('$' + nbr.toString()).padStart(9);  


//    $17.99
//   $200.00
//  $3400.57
//     $7.97
//   $567.00
Creative Commons License