Case converter

UPPER · lower · Title · Sentence · camelCase · snake_case · kebab-case

Change text between eleven cases, including proper title case that keeps short joining words lowercase. Converts as you type, entirely in your browser.

0 characters · 0 words · 0 lines

Drop a text file here, or . It is read in your browser and never uploaded.

0 characters

Every case, side by side

CaseExample
UPPERTHE QUICK BROWN FOX
lowerthe quick brown fox
TitleThe Quick Brown Fox
SentenceThe quick brown fox
camelCasetheQuickBrownFox
PascalCaseTheQuickBrownFox
snake_casethe_quick_brown_fox
kebab-casethe-quick-brown-fox
CONSTANTTHE_QUICK_BROWN_FOX
aLtErNaTiNgtHe QuIcK
iNVERSEtHE qUICK bROWN fOX

The programming cases — camelCase, PascalCase, snake_case, kebab-case and CONSTANT_CASE — all split your text into words first, so they accept input in any existing case. Pasting "user_first_name" and choosing camelCase gives "userFirstName" rather than leaving the underscores in place.

Frequently asked questions

Is the case converter free?

Yes, with no account and no length limit.

How is Title Case different from capitalising every word?

Proper title case keeps short joining words — a, an, the, of, to, and, in, for — lowercase unless they are the first or last word. "The Rise of the Machines" is title case; "The Rise Of The Machines" is just every word capitalised. This tool applies the first rule.

What is the difference between camelCase and PascalCase?

Both join words with no separator and capitalise each word, but camelCase leaves the first word lowercase (userName) while PascalCase capitalises it too (UserName). By convention camelCase is used for variables and functions, PascalCase for classes and types.

When would I use snake_case or kebab-case?

snake_case is conventional in Python, Ruby and SQL column names. kebab-case suits URLs, CSS class names and file names, because a hyphen is safe in all three where an underscore can be hard to see in an underlined link.

Does it work with accented and non-Latin text?

Yes. Word splitting uses Unicode letter properties rather than A–Z, so accented Latin, Cyrillic and Greek text convert correctly. Scripts without upper and lower case, such as Arabic or Chinese, pass through unchanged — which is correct, since they have no case to convert.