Convert case
UPPERCASE, lowercase, Title Case, Sentence case and every programmer case — with the two things other converters get wrong: real title-case rules, and languages where "i" does not capitalise to "I".
- Never stored
- No queue, no waiting
- No signup, no watermark
Converted appears here.
How it works
Paste your text
A phrase, a list, a variable name — anything.
Pick a case
Each one shows an example, so you are not guessing what "kebab-case" looks like.
Copy the result
Convert line by line if you have a list to do at once.
Which rule each case applies
Title case and Sentence case treat the capitals you already typed in opposite ways, and that is the thing that catches people out. Title case leaves any word carrying a capital after its first letter exactly as written — iPhone, NASA, McDonald — and only makes decisions about the rest. Sentence case lowercases the whole passage first and then capitalises after each full stop, question mark, exclamation mark or ellipsis, so NASA becomes Nasa and no list of exceptions protects it. Sentence case has no abbreviation rule either, so "e.g. this" gains a capital where the word counter on this site would not have split the sentence at all. For a passage full of acronyms, Title case is the safe one and Sentence case needs reading afterwards.
The default language setting is no language. Upper and lower use the browser's plain rules unless you pick Turkish, Azeri, Lithuanian or Greek from the list, so Turkish text converted on the default setting comes out with English's dotted and dotless i — the page notices a dotless ı or a dotted İ in what you pasted and says so rather than letting it through in silence. The warning about German ß becoming SS covers UPPERCASE and CONSTANT_CASE, which are the two you are most likely to want; the alternating and inverted cases also capitalise it, and do not warn.
Title case decides word by word on whitespace alone, so anything joined by a hyphen or a slash counts as one word and receives one capital: "mother-in-law" stays "Mother-in-law". The programmer cases split on something else entirely — capitals, digits, spaces, underscores, hyphens, dots and slashes — with the extra rule that keeps a run of capitals together, which is what makes XMLHttpRequest into xml_http_request rather than xmlhttp_request. Converting a list line by line splits on line feeds only, so a carriage return from a Windows file stays attached to the end of each line and travels into the result with it.
When you want something else
Anything that has to be reversible should not be uppercased at all. There is no way back from SS to ß, from an accentless Greek capital to the accented original, or from a name list whose internal capitals you needed — the information is gone rather than hidden, so keep the original alongside whatever you convert. That is not a limitation of this page; it is what casing is.
For a file rather than a paste, the obvious command-line answers are the trap. tr and awk's toupper are ASCII-only: they will uppercase the English letters in a name list and leave every accented one untouched, which corrupts the list quietly and looks like it worked. A Python or Node one-liner does the Unicode-correct thing instead, and for Turkish, Azeri, Lithuanian or Greek you need a call that takes a locale — the same four this page offers, for the same reason. Renaming a folder of files to lower case is a different job again, and one where a case-insensitive filesystem, which is the default on macOS and Windows, will treat README and readme as the same name.
Frequently asked questions
Is my text stored anywhere?
No. Nothing is stored and no request is made. You can disconnect from the internet after the page loads and it keeps working.
What makes Title Case different here?
It follows the actual style rule rather than just capitalising every word. "the lord of the rings" becomes "The Lord of the Rings" — "of" and the second "the" stay lowercase, because articles, conjunctions and short prepositions do. The first and last word are always capitalised however minor they are, so "of mice and men" becomes "Of Mice and Men". Most online converters produce "The Lord Of The Rings", which no style guide anywhere endorses.
Why did it leave "iPhone" and "NASA" alone?
Because a word with a capital letter inside it was spelled that way deliberately. Re-casing "iPhone" to "Iphone" or "NASA" to "Nasa" would be wrong, so any word carrying an interior capital is passed through untouched.
What is the Turkish option for?
Turkish and Azeri have two letter i's: a dotted one and a dotless one. Lowercase "i" capitalises to "İ" (with the dot), and "I" lowercases to "ı" (without). So "istanbul" upper-cased under English rules gives "ISTANBUL", which is not the name of the city — it needs "İSTANBUL". This is a well-known source of real bugs, and it is why a language is offered rather than assumed. Greek and Lithuanian have their own rules too, and both are here.
Does it convert camelCase to snake_case?
Yes, in every direction — camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, dot.case and path/case all convert between one another. Acronyms are handled properly, which is the part that usually breaks: "XMLHttpRequest" splits into XML, Http and Request, giving "xml_http_request". A converter that only splits at lowercase-to-uppercase boundaries produces "xmlhttp_request".
Is anything lost converting to uppercase?
Sometimes, and you are warned when it is. German "ß" becomes "SS" in capitals and cannot be turned back automatically — "STRASSE" might have been "Straße" or "Strasse". Greek drops its accents in capitals, which is correct Greek but also one-way.
Good to know: Two conversions lose information and cannot be undone. German ß becomes SS in uppercase and there is no way back, because SS is also just two letters. Turkish and Azeri have a dotted and a dotless i that map differently from English — pick the language if your text is in one of them, or i and I will come out wrong.
Put this tool on your website
Free for any blog, class page or help article. Paste one snippet and your visitors can use it right on your page.
More Text Utilities tools
Word Counter
Words, sentences and reading time
Duplicate Line Remover
Remove repeats, sort and tidy a list
Character Counter
Characters, bytes and what your limit really counts
Text Compare
See exactly what changed between two versions
HTML Minifier
Shrink HTML without breaking the page
CSS Minifier
Shrink a stylesheet, or be told why not