Convert text to PascalCase

PascalCase joins your words into a single identifier where every word, including the first, starts with a capital. Paste user profile data and get UserProfileData. PascalCase is the standard for class and type names in C#, .NET, Java, Swift, Kotlin, and TypeScript. For the lowercase-first variant used in variables, see camelCase.

Input
Line 1:1 LF cloud_done Saved locally
Result PascalCase
0 lines 0 chars

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

  1. 1Paste or type your phrase into the input panel on the left.
  2. 2The PascalCase identifier appears in the output panel on the right as you type.
  3. 3Mixed input is fine: user profile, user-profile, user_profile, and userProfile all produce UserProfile.
  4. 4Click Copy in the output header to paste the identifier into your code.
  5. 5For variables and methods, switch to camelCase.

Keyboard shortcuts

Drive TextResult without touching the mouse.

Shortcut Action
Ctrl FOpen the find & replace panel inside the input Plus
Ctrl ZUndo the last input change
Ctrl Shift ZRedo
Ctrl Shift EnterToggle fullscreen focus on the editor Plus
EscClose find & replace, or exit fullscreen
Ctrl KOpen the command palette to jump to any tool Plus
Ctrl SSave current workflow draft Plus
Ctrl PRun 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.

Input
user profile data
fetch-user-by-id
USER ID lookup
Output
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?
PascalCase capitalises the first word too (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?
Yes. The tokeniser collapses underscores, dashes, whitespace, and lowercase-to-uppercase transitions into the same set of word boundaries. user_profile, user-profile, and user profile all produce UserProfile.
Is PascalCase the same as UpperCamelCase?
Yes, the two names refer to the same convention. Some style guides call it PascalCase (after the Pascal language), others call it UpperCamelCase to contrast with lowerCamelCase. The output of this tool matches both terms.
What about acronyms like XMLHttpRequest?
The tokeniser splits on lowercase-to-uppercase transitions only, so 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.
How do I convert to other identifier styles?
Use camelCase for lowercase-first, snake_case for underscores, kebab-case for dashes, CONSTANT_CASE for upper-snake, dot.case for dots, or Train-Case for capitalised dashes.