Case Converter

Switch text between UPPER, lower, Title, camelCase, snake_case and more.

Runs in your browser. Your input is not uploaded.

Convert to
Characters
0
Words
0
Lines
0

How to change text case

  1. Type or paste your text into the Your text box.
  2. Choose a style. The result updates instantly as you type or switch styles.
  3. Press Copy to copy the result.

The styles

StyleExampleTypical use
UPPERCASETHE QUICK BROWN FOXHeadings, acronyms, emphasis
lowercasethe quick brown foxNormalising text, email addresses
Title CaseThe Quick Brown FoxHeadlines, book and film titles
Sentence caseThe quick brown foxBody text, UI labels, fixing CAPS LOCK
camelCasetheQuickBrownFoxJavaScript and Java variables
PascalCaseTheQuickBrownFoxClass and component names
snake_casethe_quick_brown_foxPython, database columns
kebab-casethe-quick-brown-foxURLs, CSS classes, file names
CONSTANT_CASETHE_QUICK_BROWN_FOXConstants, environment variables

Rules this converter follows

  • Title Case capitalises every word except short minor words (a, an, the, and, but, or, nor, for, so, yet, as, at, by, in, of, off, on, per, to, up, via, vs), which stay lowercase unless they are the first or last word or follow a colon. Each part of a hyphenated word is capitalised: “Well-Known”.
  • Sentence case capitalises the first word of each sentence and each line, and the word “I”.
  • Acronyms: in Title and Sentence case, words written entirely in capitals, like “HTML” or “NASA”, are kept as they are. Title case also keeps names with their own capitals, like “iPhone” or “JavaScript”. If at least half the words are in capitals, the text is treated as all-caps and fully re-cased.
  • Programming cases (camel, Pascal, snake, kebab and constant) split words at spaces, punctuation, and existing case changes, so XMLHttpRequest becomes xml_http_request. Apostrophes are removed (“don’t” becomes dont), and each line is converted separately.

Language support and limitations

  • Accented and non-Latin letters such as é, ß, ж and ω are supported.
  • Conversions use language-neutral Unicode rules, so results are identical in every browser. A few languages have special rules this does not apply: for example, in Turkish, uppercase “i” should be “İ”.
  • Some characters change length: the German “ß” becomes “SS” in uppercase.
  • Scripts without capital letters, such as Chinese or Arabic, are unchanged by case conversion.

Frequently asked questions

What is the difference between camelCase and PascalCase?

Both join words without spaces and capitalise each word. In camelCase the first word stays lowercase (userName); in PascalCase it is capitalised too (UserName). JavaScript and Java typically use camelCase for variables and PascalCase for classes.

When should I use snake_case or kebab-case?

snake_case is common for Python variables, database columns and many APIs. kebab-case is used in URLs, CSS class names and file names. CONSTANT_CASE (also called SCREAMING_SNAKE_CASE) is used for constants and environment variables.

Why did my proper nouns become lowercase in sentence case?

The converter cannot tell which words are names. It capitalises the first word of each sentence, the word “I”, and keeps words written in capitals such as “NASA”. Other words become lowercase, so you may need to re-capitalise names such as “London” or “Ada” afterwards.