🐫 Case Converter

Convert a variable name, title or phrase into camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, or Title Case — handy for renaming identifiers across programming languages.

How your input is split into words

Every format is built from one list of lower-case words, so the split is the part that decides everything. Three passes produce it:

1. insert a space at each lower-or-digit -> UPPER boundary
2. turn every run of _ or - into a space
3. trim, split on whitespace, lower-case each word

That means "helloWorld", "hello_world", "hello-world" and "Hello World" all reduce to the same two words and give identical output. The starting value "hello world example" becomes helloWorldExample, HelloWorldExample, hello_world_example, hello-world-example, HELLO_WORLD_EXAMPLE and Hello World Example.

What separates words, and what does not

InputWords foundcamelCase
getUserIDget, useridgetUserid
XMLHttpRequestxmlhttp, requestxmlhttpRequest
user_first-nameuser, first, nameuserFirstName
hello.worldhello.worldhello.world

Only whitespace, underscores, hyphens and a lower-to-upper transition break a word. Dots, slashes, apostrophes and commas are treated as ordinary letters and survive into the output, which is usually a sign the text needs cleaning before it becomes an identifier. Input made only of underscores or hyphens leaves no words at all, and the tool says so instead of returning six empty rows.

A run of capitals is never split, because the boundary rule needs a lower-case letter or digit on its left. HTTPServer is read as one word, not two.

Frequently asked questions

What is the difference between camelCase and PascalCase?

Only the first letter. camelCase leaves the first word lower-case (userFirstName); PascalCase capitalises every word including the first (UserFirstName). They are sometimes called lower and upper camel case.

How do I convert snake_case to camelCase?

Paste the snake_case name in. Underscores are read as word breaks, so user_first_name comes back as userFirstName on the camelCase row, and as user-first-name on the kebab-case row for CSS or URLs.

Why did my acronym lose its capitals?

Every word is lower-cased before it is rebuilt, so getUserID becomes getUserid rather than getUserID. Put a separator inside the acronym - get_user_id - if you want it treated as its own word.