Identifiers for classes and types
PascalCase (also called UpperCamelCase) is the identifier style used for classes, types, and constructors in most curly-brace languages. user profile data becomes UserProfileData: every word capitalised, no separators, no leading lowercase. Compare with camelCase, which keeps the first word lowercase for variables and methods.
The engine first tokenises your input by replacing underscores and dashes with spaces, splitting on lowercase-to-uppercase transitions, lowercasing everything, and splitting on whitespace. Each resulting token has its first letter uppercased and the rest left lowercase. The result is a clean PascalCase identifier regardless of how the input was formatted.
Style-guide notes: C# and .NET use PascalCase for almost every public identifier (classes, methods, properties, namespaces). Java uses PascalCase for class names. Swift and Kotlin use PascalCase for types and protocols. TypeScript uses PascalCase for types, interfaces, and React components. Pair this tool with camelCase for variables and CONSTANT_CASE for constants.
How to use convert text to pascalcase
- 1Paste or type your phrase into the input panel on the left.
- 2The PascalCase 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 variables and methods, switch to camelCase.
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
Same tokeniser as camelCase. Underscores, dashes, whitespace, and lowercase-to-uppercase transitions all count as word boundaries, so any common input format produces the same output.
First word capitalised too
Unlike camelCase, every token (including the first) has its first letter uppercased. user profile -> UserProfile, not userProfile. This is the only difference between PascalCase and camelCase in this tool.
Already-formatted input round-trips
Pasting UserProfileData back in still produces UserProfileData. The lowercase-to-uppercase split picks up the existing word boundaries, so a second run is a no-op.
Digits stick to the previous word
user2 profile becomes User2Profile. Digits do not cause a split, so a number attached to a word stays attached.
Pairs with the case family
Sibling tools share the same tokeniser. Switch between camelCase, snake_case, kebab-case, CONSTANT_CASE, dot.case, and Train-Case for the same input.
Worked example
Every word, including the first, is capitalised. Mixed input formats (spaces, dashes, shouty caps) all produce the same PascalCase result because the tokeniser normalises before joining.
user profile data fetch-user-by-id USER ID lookup
UserProfileData FetchUserById UserIdLookup
Settings reference
| Input | PascalCase output |
|---|---|
user profile |
UserProfile |
user-profile |
UserProfile |
user_profile |
UserProfile |
USER PROFILE |
UserProfile |
userProfile |
UserProfile (boundary picked up via lower-to-upper split) |
user2 profile |
User2Profile (digits stick to their word) |
FAQ
How is PascalCase different from camelCase?
UserProfile); camelCase keeps it lowercase (userProfile). Most languages use PascalCase for class and type names, camelCase for variables and methods.Will it handle dashes and underscores?
user_profile, user-profile, and user profile all produce UserProfile.Is PascalCase the same as UpperCamelCase?
What about acronyms like XMLHttpRequest?
XMLHttpRequest tokenises as xmlhttp + request and outputs XmlhttpRequest. If you need acronym preservation, run find and replace on the output to fix specific cases like XMLHttpRequest.