Convert Text to PascalCase for Class, Type, and Component Names
PascalCase capitalizes the first letter of every word and runs them together, like
UserProfileImage. It is the convention for class names in C# and Java, React
component names, and TypeScript interfaces and types. You will also see it called
UpperCamelCase, particularly in older .NET style guides — the two names mean the
same thing. This converter rewrites text from any common naming style into PascalCase,
one line at a time, entirely in your browser.
Why does XMLHttpRequest become XmlHttpRequest?
Because every word is title-cased uniformly: the first letter is capitalized and the rest
is lowercased, with no special case for acronyms. So XMLHttpRequest comes out
as XmlHttpRequest and parseHTMLString as
ParseHtmlString. This is the behaviour you should expect, not a bug —
and it matches Microsoft's own .NET naming guidelines, which recommend title-casing
acronyms of three letters or more (Xml, Http) and reserving
all-caps for two-letter acronyms like ID and IO.
If you need an acronym preserved in full caps, fix it up after converting — the tool deliberately applies one consistent rule rather than guessing which uppercase runs are acronyms and which are shouted words.
PascalCase or camelCase — which do I want?
They are the same transformation apart from the very first character: PascalCase
capitalizes the first word (UserProfile), camelCase leaves it lowercase
(userProfile). The split is conventional rather than technical. Use
PascalCase for things that name a type: classes, interfaces, enums, React
components, TypeScript type aliases. Use
camelCase for things that name a value:
variables, function names, object properties, and method names in JavaScript and Java.
What can I paste in, and what happens to numbers?
Plain sentences, camelCase, snake_case,
kebab-case, dot.case, SCREAMING_SNAKE_CASE, or a
mix. Punctuation and spacing of any kind act as word separators and are dropped, so
Hello, World! becomes HelloWorldFoo-style output with the
punctuation removed.
Digits stay attached to the word before them: user2Name becomes
User2Name and version2point0 becomes
Version2Point0. This matches the
camelCase Converter and is deliberately different from
the dot.case and
kebab-case converters, which isolate a digit as its
own word because separators make that readable — something PascalCase, having no
separators, cannot do.
Where is PascalCase used?
C# and .NET use it for classes, methods, properties, namespaces, and
enum members — it is the dominant convention across the whole framework.
Java uses it for class and interface names, alongside camelCase methods.
React requires it for component names, because JSX treats a lowercase tag
as an HTML element and an uppercase one as a component, so <MyButton />
works where <myButton /> silently does not.
TypeScript uses it for interfaces, type aliases, and enums. It also turns
up in Go for exported identifiers, where the initial capital is what makes a name public.
Last reviewed: August 2026