Lowercase the First Character of a String in JavaScript or Node.js

When working with strings you may want to transform the first character of a given value. This could happen when you scaffold files for a project and want to ensure a given function name starts with a lowercase character.

Or you’re doing something else and still want to know how to lowercase the first character of a string using JavaScript. Then, please read on.

Node.js Series Overview

  1. String Replace All Appearances
  2. Remove All Whitespace From a String in JavaScript
  3. Generate a Random ID or String in Node.js or JavaScript
  4. Remove Extra Spaces From a String in JavaScript or Node.js
  5. Remove Numbers From a String in JavaScript or Node.js
  6. Get the Part Before a Character in a String in JavaScript or Node.js
  7. Get the Part After a Character in a String in JavaScript or Node.js
  8. How to Check if a Value is a String in JavaScript or Node.js
  9. Check If a String Includes All Strings in JavaScript/Node.js/TypeScript
  10. Check if a Value is a String in JavaScript and Node.js
  11. Limit and Truncate a String to a Given Length in JavaScript and Node.js
  12. Split a String into a List of Characters in JavaScript and Node.js
  13. How to Generage a UUID in Node.js
  14. Reverse a String in JavaScript or Node.js
  15. Split a String into a List of Lines in JavaScript or Node.js
  16. Split a String into a List of Words in JavaScript or Node.js
  17. Detect if a String is in camelCase Format in Javascript or Node.js
  18. Check If a String Is in Lowercase in JavaScript or Node.js
  19. Check If a String is in Uppercase in JavaScript or Node.js
  20. Get the Part After First Occurrence in a String in JavaScript or Node.js
  21. Get the Part Before First Occurrence in a String in JavaScript or Node.js
  22. Get the Part Before Last Occurrence in a String in JavaScript or Node.js
  23. Get the Part After Last Occurrence in a String in JavaScript or Node.js
  24. How to Count Words in a File
  25. How to Shuffle the Characters of a String in JavaScript or Node.js
  26. Append Characters or Words to a String in JavaScript or Node.js
  27. Check if a String is Empty in JavaScript or Node.js
  28. Ensure a String Ends with a Given Character in JavaScript or Node.js
  29. Left-Trim Characters Off a String in JavaScript or Node.js
  30. Right-Trim Characters Off a String in JavaScript or Node.js
  31. Lowercase the First Character of a String in JavaScript or Node.js
  32. Uppercase the First Character of a String in JavaScript or Node.js
  33. Prepend Characters or Words to a String in JavaScript or Node.js
  34. Check if a String is a Number
  35. Convert a String to Buffer
  36. Prevent Line Breaks in String Template Literals
  37. How to Implement a Custom `toString` Method
  38. What Is `Symbol.toStringTag` and How to Use It (Coming soon)

Lowercase the First Letter of a String in JavaScript

Lowercasing the first character comes with some checks before changing the casing of a string.

First, you must ensure a given value is a string. You can use the typeof operator for that check. We also have a dedicated tutorial on checking whether a value is a string which could be of interest to you.

Second, you can only lowercase the first character in a string if its value isn’t empty. In case of an empty string you want to return an empty string as well.

Third, process the lowercasing using JavaScript’s String#toLowerCase method.

Here’s a lcFirst utility method accepting a string as an argument and returning the string with a lowercased first character:

/**
 * Lowercases the first character in the `string`.
 *
 * @param {String} string
 *
 * @returns {String}
 */
function lcFirst (string) {  
  if (typeof string !== 'string') { 
    return ''
  }

  if (string.length === 0) {
    return string
  }

  return string[0].toLowerCase() + string.slice(1)
}

Now you can use the created lcFirst function like this:

lcFirst()  
// ''

lcFirst('')  
// ''

lcFirst('A')  
// 'a'

lcFirst('ABC')  
// 'aBC'

lcFirst('UserModel')  
// 'userModel'

lcFirst('Future Studio')  
// 'future Studio'

Use the @supercharge/strings Package

I’m the maintainer of the @supercharge/strings package, which provides convenient string utilities. The @supercharge/strings package comes with a handy Str#lcFirst method.

This lcFirst method lowercases the first character in a string and leaves the rest “as is”:

import { Str } from '@supercharge/string'

Str().lcFirst().get()  
// ''

Str('').lcFirst().get()  
// ''

Str('A').lcFirst().get()  
// 'a'

Str('ABC').lcFirst().get()  
// 'aBC'

Str('UserModel').lcFirst().get()  
// 'userModel'

Str('Future Studio').lcFirst().get()  
// 'future Studio'

Enjoy lowercasing the first character of a string!


Mentioned Resources

Explore the Library

Find interesting tutorials and solutions for your problems.