English

Case Converter — UPPER, lower, camelCase

See nine case formats side by side and copy the one you need

Runs in your browser · nothing is uploaded

Applies that language's upper/lower-case rules. Scripts without case (Korean, Chinese, Japanese) stay unchanged.

UPPER CASE
lower case
Title Case
Sentence case
camelCase
PascalCase
snake_case
kebab-case
CONSTANT_CASE

What it is

This case converter turns your text into nine formats at the same time. Use it for ordinary writing, like making a heading Title Case or fixing text typed with caps lock on, or for code, like converting a phrase to camelCase, PascalCase, snake_case, kebab-case or CONSTANT_CASE. Each result has its own copy button.

How to use

  1. Type or paste text. Every format updates as you type.
  2. With several lines, the programming formats (camel, Pascal, snake, kebab, constant) are applied to each line separately and line breaks are kept.
  3. Choose a language rule if you need one, such as Turkish.
  4. Press Copy next to the format you want.

How it works

  • UPPER and lower use the browser’s locale-aware conversion, so Unicode rules apply: the German ß becomes SS in uppercase.
  • Title Case capitalizes the first letter of each word and lowercases the rest. A letter after an apostrophe is not treated as a new word, so it’s becomes It’s.
  • Sentence case lowercases everything, then capitalizes the first letter of each sentence: at the start and after a period (.), question mark (?), exclamation mark (!) or line break. Other punctuation such as a colon does not start a sentence.
  • Word splitting breaks at spaces and punctuation, between a lowercase letter or digit and a capital, and before the last capital of an acronym that is followed by lowercase, as in XML and Http.
  • camelCase, PascalCase, snake_case, kebab-case and CONSTANT_CASE join the split words with no separator, an underscore or a hyphen. Punctuation is treated as a separator and dropped, so don’t becomes don_t in snake_case.
  • Characters without case, including Korean, Chinese, Japanese and emoji, are never changed by case conversion.

Examples

Input Format Result
hello world foo camelCase helloWorldFoo
XMLHttpRequest snake_case xml_http_request
XMLHttpRequest kebab-case xml-http-request
base64Encode CONSTANT_CASE BASE64_ENCODE
the quick BROWN fox Title Case The Quick Brown Fox
안녕 세계 snake_case 안녕_세계
istanbul (Turkish) UPPER İSTANBUL

FAQ

Does it handle acronyms like XMLHttpRequest?

Yes. A run of capitals is treated as one acronym, and the last capital starts the next word when a lowercase letter follows. XMLHttpRequest becomes xml_http_request. Digits stay attached to the letters before them, so base64Encode becomes base64_encode.

What happens to Korean, Chinese or emoji?

Scripts without upper and lower case, such as Korean, Chinese and Japanese, are left unchanged, and so are emoji. In snake_case and similar formats only the separators change.

Why is there a Turkish option?

In Turkish and Azeri the uppercase of i is the dotted İ and the lowercase of I is the dotless ı. With the Turkish rules selected, istanbul becomes İSTANBUL. With the default rules it becomes ISTANBUL.

Is my text sent to a server?

No. All conversion runs in your browser.

Missing a tool?