Uppercase the first letter of a string in JS

29 March, 2021
3 min read

With JavaScript we can do one thing in different ways and it can be a bit threatening, now we will see one of those occasions.

JavaScript offers many ways to capitalize a string to make the first character uppercase. Learn the various ways, and also find out which one you should use, using plain JavaScript.

chartAt + slice

The first way to do this is through a combination of cartAt() and slice(). With chartAt() uppercases the first letter, and with slice() slices the string and returns it starting from the second character:

const name = 'codax';
const nameCapitalized = name.charAt(0).toUpperCase() + name.slice(1);
// expected output: "Codax"

You can create a function to do that:

const capitalize = (s) => {
  return s.charAt(0).toUpperCase() + s.slice(1);
};

capitalize('codax'); // "Codax"

replace

My favorite is with replace() because I love regex (even if I'm not an expert) and regex is more customizable in general.

const name = 'codax';
const nameCapitalized = name.replace(/^\w/, (c) => c.toUpperCase()));
// expected output: "Codax"

You can also make it a function:

const capitalize = (s) =>
  return s.replace(/^\w/, (c) => c.toUpperCase()));
}

capitalize('codax'); // "Codax"

Conclusion

For readability, I recommend the first option (chartAt + slice), and for speed, I recommend the second option (replace). If you know other/better ways please leave below in the comments, or how to improve on the ones mentioned here. Thanks.