String.prototype.toLocaleLowerCase()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The toLocaleLowerCase() method of String values returns this string converted to lower case, according to any locale-specific case mappings.
Try it
const dotted = "İstanbul";
console.log(`EN-US: ${dotted.toLocaleLowerCase("en-US")}`);
// Expected output: "i̇stanbul"
console.log(`TR: ${dotted.toLocaleLowerCase("tr")}`);
// Expected output: "istanbul"
Syntax
toLocaleLowerCase()
toLocaleLowerCase(locales)
Parameters
localesOptional-
A string with a BCP 47 language tag, or an array of such strings. Indicates the locale to be used to convert to lower case according to any locale-specific case mappings. For the general form and interpretation of the
localesargument, see the parameter description on theIntlmain page.Unlike other methods that use the
localesargument,toLocaleLowerCase()does not allow locale matching. Therefore, after checking the validity of thelocalesargument,toLocaleLowerCase()always uses the first locale in the list (or the default locale if the list is empty), even if this locale is not supported by the implementation.
Return value
A new string representing the calling string converted to lower case, according to any locale-specific case mappings.
Description
The toLocaleLowerCase() method returns the value of the string converted
to lower case according to any locale-specific case mappings.
toLocaleLowerCase() does not affect the value of the string itself. In most
cases, this will produce the same result as toLowerCase(), but for some locales, such as Turkish, whose case mappings do not
follow the default case mappings in Unicode, there may be a different result.
Examples
>Using toLocaleLowerCase()
"ALPHABET".toLocaleLowerCase(); // 'alphabet'
"\u0130".toLocaleLowerCase("tr") === "i"; // true
"\u0130".toLocaleLowerCase("en-US") === "i"; // false
const locales = ["tr", "TR", "tr-TR", "tr-u-co-search", "tr-x-turkish"];
"\u0130".toLocaleLowerCase(locales) === "i"; // true
Specifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-string.prototype.tolocalelowercase> |
| ECMAScript® 2026 Internationalization API Specification> # sup-string.prototype.tolocalelowercase> |
Browser compatibility
Loading…