Guides/camelCase vs PascalCase vs snake_case
camelCase vs PascalCase vs snake_case
These styles all join multi-word names without spaces. The difference is capitalization and whether underscores appear.
What they look like
- camelCase:
helloWorldExample— first word lower, later words capitalized. - PascalCase:
HelloWorldExample— every word capitalized (also called UpperCamelCase). - snake_case:
hello_world_example— lowercase with underscores.
When to use which
- camelCase — JavaScript/TypeScript variables and functions; JSON fields in many APIs; Java methods.
- PascalCase — class names (Java, C#, TypeScript); React components; some public types.
- snake_case — Python names (PEP 8); many database columns; some Ruby and Rust conventions.
Worked examples
- Phrase:
user account id
camelCase → userAccountId
PascalCase → UserAccountId
snake_case → user_account_id - React: component
UserProfile(PascalCase); propuserName(camelCase). - Python: function
get_user_name; classUserProfilestill PascalCase by convention. - URLs still prefer kebab-case — see snake vs kebab.
Common mistakes
- Mixing camelCase JSON with snake_case DB columns without an explicit mapping layer.
- Using PascalCase for ordinary JavaScript variables (works, but fights community style).
- Putting hyphens in identifiers where the language treats
-as minus.
Convert related styles
The freeCase Converterhandles UPPER, lower, Title, sentence, snake_case, and kebab-case — handy when preparing names before you apply camel/Pascal by hand. Also:title vs sentence case.