How to capitalize the first letter of each word in a string using JavaScript?

In JavaScript, you can capitalize the first letter of each word in a string by splitting the string into individual words, capitalizing each word's first letter, and then joining them back together.

Syntax

string.split(' ')           // Split string into array of words
word.charAt(0)              // Get first character
word.toUpperCase()          // Convert to uppercase
word.substring(1)           // Get rest of the word
array.join(' ')             // Join words back with spaces

Using split(), charAt(), and toUpperCase()

function capitalizeTheFirstLetterOfEachWord(words) {
    var separateWord = words.toLowerCase().split(' ');
    for (var i = 0; i 

My Name Is John
Hello World
Javascript Is Awesome

Using map() for Cleaner Code

function capitalizeWords(str) {
    return str.toLowerCase().split(' ').map(word => {
        return word.charAt(0).toUpperCase() + word.substring(1);
    }).join(' ');
}

console.log(capitalizeWords("the quick brown fox"));
console.log(capitalizeWords("learn javascript programming"));
The Quick Brown Fox
Learn Javascript Programming

Handling Edge Cases

function safeCapitalizeWords(str) {
    if (!str || typeof str !== 'string') return '';
    
    return str.toLowerCase().split(' ').map(word => {
        return word.length > 0 ? word.charAt(0).toUpperCase() + word.substring(1) : word;
    }).join(' ');
}

console.log(safeCapitalizeWords(""));           // Empty string
console.log(safeCapitalizeWords("a"));          // Single character
console.log(safeCapitalizeWords("a b c"));      // Single characters
console.log(safeCapitalizeWords("  extra  spaces  "));  // Multiple spaces

A
A B C
  Extra  Spaces  

How It Works

The capitalization process follows these steps:

  1. toLowerCase() - Convert entire string to lowercase for consistency
  2. split(' ') - Split string into array of individual words
  3. charAt(0) - Extract the first character of each word
  4. toUpperCase() - Capitalize the first character
  5. substring(1) - Get remaining characters of the word
  6. join(' ') - Combine words back into a single string

Comparison

Method Code Length Readability Performance
For Loop Longer Good Faster
map() Method Shorter Better Slightly slower

Conclusion

Use split(), charAt(), and toUpperCase() to capitalize each word's first letter. The map() approach provides cleaner, more readable code for modern JavaScript development.

Updated on: 2026-03-15T23:18:59+05:30

3K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements