Identifiers for JavaScript, Java, and most APIs
camelCase is the identifier style used in JavaScript, Java, Swift, Kotlin, and most JSON APIs: the first word is lowercase and every following word starts with a capital, with no separators between words. user profile data -> userProfileData. The format is compact and fits any language that bans hyphens and dots in identifiers.
The engine first tokenises your input by replacing underscores and dashes with spaces, splitting on lowercase-to-uppercase transitions (so userProfileData is treated as three tokens, not one), lowercasing everything, and splitting on whitespace. The result is a clean array of lowercase words with no empty entries. The first word is then output as-is, and every subsequent word has its first letter uppercased.
For programming-language style guides: JavaScript and TypeScript use camelCase for variables, parameters, and most function names. Java uses it for fields and methods. Swift and Kotlin use camelCase for properties and methods. Most REST APIs use camelCase for JSON keys. Pair this tool with PascalCase (classes, types) and CONSTANT_CASE (constants) for a full identifier-style conversion set.
How to use convert text to camelcase
- 1Paste or type your phrase into the input panel on the left.
- 2The camelCase identifier appears in the output panel on the right as you type.
- 3Mixed input is fine:
USER PROFILE,user-profile,user_profile, anduserProfileall produceuserProfile. - 4Click Copy in the output header to paste the identifier into your code.
- 5For class names, switch to PascalCase; for snake or kebab variants, see the related tools below.
Keyboard shortcuts
Drive TextResult without touching the mouse.
| Shortcut | Action |
|---|---|
| Ctrl F | Open the find & replace panel inside the input Plus |
| Ctrl Z | Undo the last input change |
| Ctrl Shift Z | Redo |
| Ctrl Shift Enter | Toggle fullscreen focus on the editor Plus |
| Esc | Close find & replace, or exit fullscreen |
| Ctrl K | Open the command palette to jump to any tool Plus |
| Ctrl S | Save current workflow draft Plus |
| Ctrl P | Run a saved workflow Plus |
What this tool actually does
Word boundary detection
The tokeniser handles four kinds of separators: underscores (user_profile), dashes (user-profile), whitespace (user profile), and lowercase-to-uppercase transitions (userProfile). All four are recognised, so any common naming style as input gives the same output.
Already-formatted input round-trips
Pasting userProfileData back in still produces userProfileData. The lowercase-to-uppercase split picks up the existing word boundaries, so the conversion is idempotent on identifier-style input.
First word stays lowercase
After tokenising, the first word is emitted as tokens[0] (already lowercased by the tokeniser), and each subsequent word has its first letter uppercased. Empty input produces an empty string.
Digits stick to the previous word
Digits do not cause a split, so user2 profile becomes user2Profile. If you want digits split out (user 2 profile -> user2Profile still), no extra config is needed because the tokeniser already collapses adjacent letter+digit groups.
Pairs naturally with the case family
Sibling tools share the same tokeniser. Run the same input through PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case, or Train-Case for the same word boundaries in different formats.
Worked example
Spaces, dashes, and shouty caps all collapse to the same camelCase result. The tokeniser lowercases each word first, so USER ID becomes userId with the first word lowercase and the rest capitalised.
user profile data fetch-user-by-id USER ID lookup
userProfileData fetchUserById userIdLookup
Settings reference
| Input | camelCase output |
|---|---|
user profile |
userProfile |
user-profile |
userProfile |
user_profile |
userProfile |
USER PROFILE |
userProfile |
UserProfile |
userProfile (lowercase-to-uppercase split picks up the boundary) |
user2 profile |
user2Profile (digits stick to their word) |
FAQ
How is camelCase different from PascalCase?
userProfile); PascalCase capitalises it (UserProfile). Most languages use camelCase for variables and methods, PascalCase for classes and types.Will it handle dashes and underscores?
user_profile, user-profile, and user profile all produce userProfile.What happens to digits?
user2 profile becomes user2Profile. user 2 profile becomes user2Profile as well, since the tokeniser will lowercase and join lone digits to adjacent words.Is the conversion idempotent?
userProfileData back in produces userProfileData. The lowercase-to-uppercase split picks up the existing word boundaries, so a second run is a no-op.