Title case that respects the Turkish I
Title-casing Turkish text is a famous trap for software. The reason is the language’s two distinct letters: the dotted i and the dotless ı. Their uppercase forms differ from the ASCII default, so a naive toUpperCase turns istanbul into the wrong Istanbul instead of the correct İstanbul. This tool applies the proper Turkish locale rules so every word is capitalized correctly.
How it works
For each word, the tool capitalizes only the first cased letter and lowercases the rest, using Turkish locale mappings:
- lowercase
i(dotted) → uppercaseİ(dotted) - lowercase
ı(dotless) → uppercaseI(plain) - uppercase
I→ lowercaseı, uppercaseİ→ lowercasei
Internally it converts case with the tr-TR locale and explicitly fixes the i/ı pair before applying toLocaleUpperCase. Whitespace between words is preserved so spacing and line breaks survive unchanged.
Example
input: istanbul ışık ılgın iyi
output: İstanbul Işık Ilgın İyi
Notice istanbul gains a dotted capital İ, while ışık and ılgın take a plain I. An ASCII title-case tool would get all four words wrong.
Tips and notes
- Use this whenever you generate Turkish headings, names, or labels programmatically — the I bug is easy to ship and hard to spot in review.
- The tool only touches the first letter of each word; it does not force ALL CAPS or sentence case.
- All processing is local to your browser, so pasted text stays private.