Case Converter
Paste text and switch between eight letter-case styles: four for writing and four for code. The result updates as you type, keeps your line breaks, and follows Unicode case rules rather than a simple A–Z table.
0 characters · 0 words · 0 lines
0 characters · 0 words · 0 lines
Runs entirely in this browser tab. Your text is never uploaded or stored.
What it does
Case Converter rewrites letter case: UPPER CASE, lower case, Title Case, Sentence case, the programmer styles camelCase, snake_case and kebab-case, and aLtErNaTiNg case. It uses Unicode case mapping, with an option for Turkish dotted and dotless i.
User Profile ID
user_profile_id
The eight styles and where each is used
UPPER CASE and lower case need no introduction, but they are rarely the end goal: headlines usually want Title Case, where every word starts with a capital, and body text pasted in all caps usually wants Sentence case, where only the first letter of each sentence is capitalised. Style guides disagree about small words in titles (AP and Chicago both lower-case short prepositions and articles, with different lists), so this converter capitalises every word and leaves the exceptions to you.
The code styles split text into words at spaces, punctuation and existing capital letters, so XMLHttpRequest becomes xml_http_request in snake_case. camelCase is the JavaScript and Java convention for variables, snake_case is standard in Python and SQL column names, and kebab-case is used for URLs, CSS class names and file names. aLtErNaTiNg case is purely decorative and mostly appears in memes.
Why case conversion is harder than it looks
Case mapping is defined by the Unicode Standard, not by the 26 letters of English, and some mappings change the length of the text. The German ß becomes SS in upper case, so a word can grow by one letter. The Greek capital Σ has two lower-case forms: σ inside a word and ς at the end of one. Ligatures such as fi expand to two letters when capitalised.
Turkish and Azerbaijani have four letters where English has two: dotted i and İ, dotless ı and I. With default Unicode rules, lower-casing "İ" produces an i followed by a combining dot, and upper-casing "i" produces a plain I, which turns istanbul into the wrong spelling. Tick the Turkish option and the converter uses the locale-specific mapping, so istanbul becomes İSTANBUL and ILIK becomes ılık. This is also why code that compares strings with toUpperCase can fail for Turkish users, a bug famous enough to have its own name, the Turkey test.
Tips for clean results
Acronyms are the main thing to check after a conversion. Title Case writes NASA as Nasa and Sentence case writes it as nasa, because the converter cannot know which words are names. Fix those by hand, or convert only the part of the text that needs it. When you prepare identifiers, remove characters such as quotes and emoji first; they are dropped from camelCase, snake_case and kebab-case output. If you also need to know how long the text is in words or characters, paste it into the Word Counter.
Frequently asked questions
- Does the case converter keep my line breaks?
- Yes. Every style works line by line, so lists and paragraphs keep their shape. In camelCase, snake_case and kebab-case each line becomes its own identifier.
- Why did a German ß turn into SS?
- That is the standard Unicode upper-case mapping for ß. A capital ẞ exists (added in Unicode 5.1), but default case conversion still produces SS, as German spelling rules traditionally require.
- How does the converter split words for snake_case?
- It starts a new word at every space or punctuation mark, at every switch from lower to upper case, and before the last capital of an acronym followed by lower case, so HTMLParser becomes html_parser.
- When should I turn on the Turkish rules?
- Whenever the text is Turkish or Azerbaijani. Without them, i and I map as in English, which misspells words that use the dotted capital İ or the dotless small ı.
- Can it convert to PascalCase?
- Use camelCase and capitalise the first letter of each line; PascalCase differs only in that first letter. Constant style (UPPER_SNAKE_CASE) is snake_case followed by UPPER CASE.