Text case converter

Paste text and choose a case: upper, lower, title, sentence or inverted, plus the programmer cases. Only letters of bicameral scripts change (Latin, Greek, Cyrillic, Armenian). Arabic, Hebrew, Persian and Urdu have no capital and small letters at all, so their letters come back exactly as they were. To change small to capital letters choose UPPERCASE, and to go the other way choose lowercase.

Loading the tool…

Processing and privacy: The result is calculated inside your browser and your data is not sent to any server.

How to use it

  1. Paste your text into the input box, or press “Load example”.
  2. Pick the case you want, and the locale if your text is Turkish, Greek or Lithuanian.
  3. For title and sentence case, decide whether the remaining letters are lowered or kept as typed (to protect iPhone and USA).
  4. Press “Convert” for large text, then copy the result or download it as a text file.

Example

The built-in example has four lines: “منتج iphone 15 pro جديد”, then “the quick brown fox. hello world!”, then the Greek “ΟΔΟΣ ΣΟΦΟΣ”, then “istanbul straße”.

Upper case with locale en turns the first line into “منتج IPHONE 15 PRO جديد”: only the two Latin words changed, while “منتج”, “جديد” and “15” stayed exactly as they were. The fourth line becomes “ISTANBUL STRASSE” because the German ß upper-cases to SS. The counters read 58 cased letters, 8 uncased letters and 49 changed characters.

Title case gives “منتج Iphone 15 Pro جديد”, “The Quick Brown Fox. Hello World!”, “Οδος Σοφος” and “Istanbul Straße”. Note that the Greek sigma at the end of a word becomes ς and not σ: the browser applies that rule itself.

Choose the Turkish locale with upper case and the fourth line becomes “İSTANBUL STRASSE” with a dot on the capital I, which is what Turkish requires.

Limits and caveats

  • Tested with 100,000 lines (about 2.5 MB): title case takes about 2 seconds, invert about 1.5 seconds and upper/lower under a third of a second, and the page does not respond while it computes. Automatic conversion therefore stops above about 4,000 lines or 150,000 characters and the “Convert” button takes over. The preview shows only the first 300 lines; copy and download always use the full result. At that size the text box also shows every line in one direction (taken from its first letter), because working out a direction per line makes the browser very slow.
  • Arabic, Hebrew, Persian, Urdu, Chinese, Japanese and Korean are unicameral: they have no capital and small letters. The tool does not change their letters, remove diacritics or reshape anything. When your text contains no cased letter at all, the tool says so instead of showing an identical result as if something had happened.
  • Sentence case follows punctuation: a full stop, exclamation mark, question mark, “…”, the Arabic question mark ؟ or the Urdu full stop ۔ followed by white space. Abbreviations such as “e.g.” are therefore treated as the end of a sentence, and the tool knows no proper nouns, so “ahmad” only becomes “Ahmad” when it follows a full stop.
  • Title case finds word boundaries with Intl.Segmenter in your browser; where that is missing, a documented fallback applies: a word is a run of letters or digits, optionally joined by an apostrophe. The “keep small words lowercase” option is an English style based on a fixed list of 20 words (a, an, and, as, at, but, by, for, if, in, nor, of, on, or, per, the, to, up, via, vs); the first and last word of a line are never lowered.
  • Invert works character by character, so it cannot apply the Greek final-sigma rule: ΟΔΟΣ becomes οδοσ with a normal sigma instead of οδος. The programmer cases (camelCase, snake_case, kebab-case) are designed for Latin text; Arabic letters stay as words but have no case, so they are simply joined.

Questions about this tool

Why does my Arabic text not change?

Because the Arabic alphabet has no capital and small letters, and neither do Hebrew, Persian or Urdu. UPPERCASE and lowercase only exist in bicameral scripts: Latin, Greek, Cyrillic and Armenian. So “منتج iphone 15 pro جديد” upper-cased changes only iphone and pro. If your text has no cased letter at all, the tool tells you instead of presenting a result that is identical to the input.

What does the locale setting do?

Some letters map differently per language. In Turkish and Azerbaijani the letter i has its own pair: small i becomes capital İ with a dot, and capital I becomes dotless ı; “istanbul” becomes İSTANBUL in Turkish and ISTANBUL in English. In Greek, accents are dropped when upper-casing: οδός becomes ΟΔΟΣ. Choose “English / default” for everything else.

How do I keep words like iPhone and USA in title case?

Turn off “lower the rest of each word”. The tool then only raises the first letter of each word and leaves the rest as you typed it, so iPhone stays IPhone and USA stays USA. With the option on they become Iphone and Usa.

How do I convert small letters to capital letters?

Paste your text and choose “UPPERCASE”: every small Latin, Greek or Cyrillic letter becomes a capital, while digits and Arabic letters stay as they are. “welcome to riyadh” becomes “WELCOME TO RIYADH”; choose “lowercase” to go from capital to small. Copy the result or download it as a text file.

How do I change text to sentence case or title case?

Choose “Sentence case” to capitalise only the first letter of each sentence, or “Title Case” to capitalise the first letter of every word. “HELLO WORLD. welcome to riyadh” becomes “Hello world. Welcome to riyadh” in sentence case and “Hello World. Welcome To Riyadh” in title case. Turn off “Lower the rest of each word” if you need to keep acronyms such as USA.