🐪 CamelCase Converter
Convert your text to CamelCase, snake_case, and kebab-case formats
Enter some text above to convert cases
CamelCase Converter
A CamelCase converter rewrites plain words into programmer-style identifiers — "hello world" becomes helloWorld — and this one produces six formats at once: PascalCase, camelCase, snake_case, kebab-case, dot.notation, and path/notation. Type or paste words above and copy whichever style your language or platform expects.
Key takeaways
- Generates 6 identifier styles from one input: PascalCase, lowerCamelCase, snake_case, kebab-case, dot.notation, path/notation.
- Punctuation is stripped before conversion; digits are kept with their word.
- Use camelCase for JavaScript/Java variables, PascalCase for classes, snake_case for Python, kebab-case for URLs and CSS.
- Single words are returned unchanged in lowerCamelCase and snake_case — that is correct, not a bug.
- A complete case converter for programmers: six identifier styles from one input, no signup.
- Conversion runs in your browser; nothing is uploaded.
What is camel case?
Camel case is a naming convention where multi-word identifiers are joined without spaces and each new word starts with a capital letter, like userProfileName — the capitals resemble a camel's humps. Its capitalized-first-word sibling is called PascalCase (UserProfileName). Both are standard in programming because most languages forbid spaces in variable names.
How this CamelCase converter works
Type plain words and the tool splits your input on whitespace into word tokens, stripping punctuation and symbols first (so "user's data!" becomes the words "users" and "data"). It then rebuilds the tokens six ways: capitalizing every word for PascalCase, lowercasing the first word for lowerCamelCase, and joining with underscores, hyphens, dots, or slashes for the other four. Whether you need a camel case generator, a pascal case converter, or a snake case and kebab case converter, this one page covers all of them — digits stay attached to their word, so "level 2" becomes level2 in camelCase and level_2 in snake_case.
All six transformations are pure string operations executed in your browser via the page's converter engine — no server, no delay, no data leaving your device.
Worked example: convert to camelCase and friends
Input: hello world example. One input, six copy-ready outputs:
| Style | Output | Where you'll see it |
|---|---|---|
| PascalCase (UpperCamelCase) | HelloWorldExample | Class names in Java, C#, Python |
| lowerCamelCase | helloWorldExample | Variables in JavaScript, Java |
| snake_case | hello_world_example | Python variables, Ruby, SQL columns |
| kebab-case | hello-world-example | URL slugs, CSS classes, HTML attributes |
| dot.notation | hello.world.example | Java packages, config keys |
| path/notation | hello/world/example | File paths, route segments |
How to use this tool
- Type or paste plain words into the input field (e.g. "user profile name").
- The tool instantly generates all six identifier styles below.
- Copy the style your language or platform expects.
- Note that punctuation is stripped automatically — "don't stop" becomes
dontStop.
CamelCase vs PascalCase: which one do you need?
The two get confused constantly, so here is the rule of thumb used across mainstream style guides: lowerCamelCase (first word lowercase) for variables, functions, and properties — fetchUserData() in JavaScript. PascalCase (every word capitalized) for classes, types, and components — UserProfile in Java or a React component. Google's Java style, Airbnb's JavaScript guide, and PEP 8 for Python all agree on this split, and this converter gives you both from the same input so you can match any codebase.
Which case style for which language
| Language / platform | Variables | Classes / types | Constants |
|---|---|---|---|
| JavaScript / TypeScript | lowerCamelCase | PascalCase | UPPER_SNAKE_CASE |
| Python | snake_case | PascalCase | UPPER_SNAKE_CASE |
| Java / C# | lowerCamelCase | PascalCase | UPPER_SNAKE_CASE |
| Go | lowerCamelCase (private) / PascalCase (exported) | PascalCase | PascalCase or UPPER_SNAKE |
| CSS / HTML | kebab-case for classes and attributes | — | |
| URLs / file names | kebab-case (lowercase, hyphens) | — | |
Limitations
Honest edges: punctuation is removed rather than converted, so "don't" becomes "dont" — check possessives and contractions in identifiers by hand. Acronyms are treated as ordinary words ("API key" → apiKey, ApiKey), while some teams prefer APIKey; the tool follows the common lowercased-acronym convention and won't guess your team's rule. Non-Latin scripts pass through the splitter but won't capitalize meaningfully. And like any case tool, it cannot reverse-engineer word boundaries from an already-joined identifier — userprofilename will not split back into words.
CamelCase converter vs alternatives
| Method | Best for | Watch out for |
|---|---|---|
| This converter | Six styles at once from plain words | One input box; manual copy per style |
| IDE refactor/rename | Renaming identifiers across a whole codebase safely | Overkill for a single name |
| Lowercase converter | Plain all-small text (pre-step for slugs) | No word-joining logic |
Lodash _.camelCase() | In-code conversion inside JS projects | Requires adding a dependency |
Python re one-liners | Batch-renaming files or columns | Easy to get edge cases wrong |
Frequently Asked Questions
How to convert to camelCase?
Type plain words like "user profile" into the tool above. It instantly returns lowerCamelCase (userProfile) plus five other styles. Copy the one you need — no signup, no upload.
What is the difference between camelCase and PascalCase?
camelCase lowercases the first word (userName) and is used for variables and functions. PascalCase capitalizes every word (UserName) and is used for classes and types. This tool generates both from the same input.
Which case should I use for programmers' identifiers?
Follow your language's convention: camelCase variables in JavaScript/Java, snake_case in Python/Ruby, kebab-case for CSS classes and URL slugs, PascalCase for class names almost everywhere. The table above maps each language.
Does the converter handle snake_case and kebab-case too?
Yes — every input produces six outputs: PascalCase, lowerCamelCase, snake_case, kebab-case, dot.notation, and path/notation. You get all of them at once instead of converting six separate times.
What happens to punctuation and apostrophes?
Punctuation is stripped before conversion because identifiers can't contain it. "don't stop!" becomes dontStop / dont_stop. Review contractions manually if the exact wording matters.
Can it convert a single word?
Yes, but a single word has no boundaries to join: "user" returns user, User, user, user, user, user. That is correct behavior — case styles only differ when there are two or more words.
How are numbers treated in conversion?
Digits stay attached to their word: "level 2 boss" becomes level2Boss, Level2Boss, level_2_boss, and so on. Leading digits are kept as-is, though some languages forbid identifiers that start with a number.
Is my input sent to a server?
No. All six conversions run in your browser with JavaScript. Your words never leave your device.
Can I convert snake_case back to normal words?
Not with this tool — it converts words into identifiers, not the reverse. Splitting an existing identifier back into words is a separate job; for quick cleanup of pasted text, try the text cleaner instead.
More text utilities: the lowercase converter and uppercase converter for plain case changes, the title case converter for headlines — all in the text utility tools collection.