Skip to content

Case ConverterBeta

Switch text between UPPERCASE, lowercase, Title Case, camelCase, snake_case, kebab-case and more. Your text never leaves your browser.

0 characters · 0 lines

0 characters · 0 lines

How to use

Paste your text into the box and pick a conversion mode. There’s no button to press, and the result keeps updating as you edit the text — copy it with the button next to it.

Supported conversion modes

  • UPPERCASE / lowercase: converts the whole text to uppercase or lowercase.
  • Title Case: capitalizes the first letter of each space-separated word. Example: “the quick brown fox” → “The Quick Brown Fox”.
  • Sentence case: capitalizes the first letter of each sentence (ending in ., ? or !) and lowercases the rest.
  • iNVERSE cASE: flips uppercase to lowercase and lowercase to uppercase.
  • aLtErNaTe CaSe: alternates lowercase and uppercase, but only across letters that actually have a case (the meme-style capitalization).
  • camelCase / PascalCase / snake_case / kebab-case / CONSTANT_CASE: the five naming conventions used for variables, functions and constants in code. The converter recognizes word boundaries even in text that’s already split by spaces, underscores (_), hyphens (-) or camelCase, and reassembles it in the style you choose. Example: “user_first_name” → camelCase “userFirstName”; “user first name” → kebab-case “user-first-name”.

How case and language (locale) interact

Case-mapping rules can differ slightly between languages. The best-known example is Turkish: converting lowercase i to uppercase gives dotted İ, and converting uppercase I to lowercase gives dotless ı — different from the English I/i pair. This tool only lets you pick a locale from the 5 languages this site supports (Korean, English, Japanese, German, Spanish), and none of them have such special rules between each other, so the result is the same whichever one you choose. That said, some conversions change length regardless of locale because the rule comes from the Unicode standard itself — the German ß → SS case above is one example, covered in the FAQ.

Privacy

Your text is converted inside this browser only. It is not saved or sent anywhere, and it disappears when you close the page.

Frequently asked questions

What's the difference between picking a locale and 'No locale'?

For most alphabetic languages, picking a locale makes no difference to the result. A few languages do have their own case-mapping rules on the same alphabet (Turkish, for example, distinguishes a dotless i from a dotted İ), so choosing that locale matters there. Among the 5 languages this site supports (Korean, English, Japanese, German, Spanish), none of them have such special rules, so any of them gives the same result. 'No locale' simply uses JavaScript's default (Unicode-standard) case-mapping rules.

Why does uppercasing the German ß turn it into two letters, SS?

The Unicode standard itself defines the uppercase form of lowercase ß (eszett) as the two letters SS, and this applies no matter which locale you pick. So converting 'straße' to uppercase gives 'STRASSE' (7 letters, one more than the original 6), and converting it back to lowercase gives 'strasse' — the original ß is not restored. Keep this in mind if you're also counting characters.

Does the locale affect camelCase or snake_case conversions too?

No. The identifier styles (camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE) are programming naming conventions, so they always follow the same rule (plain ASCII-style casing) regardless of language. The locale selector is disabled when one of these modes is selected.