Turkish Title Case

Turkish i/İ vs i/I uppercase rules — not standard ASCII toUpperCase

Convert Turkish text to title case with correct locale rules: lowercase i becomes dotted İ and dotless ı becomes plain I. Avoids the classic Istanbul-vs-İstanbul bug that ASCII toUpperCase produces.

Why does Istanbul become İstanbul?

In Turkish, lowercase i is a dotted letter whose uppercase form keeps the dot: İ. So the city name istanbul correctly title-cases to İstanbul. A plain ASCII toUpperCase would wrongly produce Istanbul with a dotless capital.

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) → uppercase I (plain)
  • uppercase I → lowercase ı, uppercase İ → lowercase i

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.