Codectionary / Developer documentation / JavaScript

padStart(), padEnd(), repeat()

padStart() and padEnd() pad a string with a specified character until it reaches a target length, commonly used for formatting numbers with leading zeros or aligning text in columns. repeat() returns a new string with the original repeated a specified number of times.

Syntax

str.padStart(targetLength, padString)
str.padEnd(targetLength, padString)
str.repeat(count)

Examples

Padding Numbers

A common use case: formatting numbers with leading zeros.

console.log("5".padStart(2, "0"));  // "05"
console.log("42".padStart(5, "0")); // "00042"
console.log("7".padEnd(3, "*"));    // "7**"

// Formatting a countdown timer
function formatTime(minutes, seconds) {
  return `${String(minutes).padStart(2, "0")}:${String(seconds).padStart(2, "0")}`;
}
console.log(formatTime(3, 5)); // "03:05"

repeat()

Repeating a string a specified number of times.

console.log("ab".repeat(3)); // "ababab"
console.log("-".repeat(20)); // "--------------------"

// Simple indentation helper
function indent(text, level) {
  return "  ".repeat(level) + text;
}
console.log(indent("nested item", 2)); // "    nested item"

Best practices

  • Use padStart() for right-aligning content like numbers, and padEnd() for left-aligning content like table columns
  • Convert numbers to strings first with String() before padding, since pad methods only work on strings
  • Use repeat() for generating separator lines, indentation, or simple ASCII visualizations
  • Watch out for negative or non-integer arguments to repeat() - they throw a RangeError

At a glance

Purpose
Application logic and interaction
File extension
.js ยท .mjs
Runs in
Browsers and JavaScript runtimes
Usually used with
HTML, CSS and Web APIs

Specifications & further reading

Related JavaScript documentation