camelCase, snake_case, kebab-case, PascalCase: Naming Conventions Explained

What each text case style is, where it's used in JavaScript, Python, CSS, URLs, and constants, and how to convert between them safely.

2026-09-26 · 2 min readTry the Case Converter →

Programmers use several naming styles because names can't contain spaces. Each language and context has its own convention, and following it makes code easier to read and less likely to clash with tools and linters.

The styles

camelCase           userAccountId
PascalCase          UserAccountId
snake_case          user_account_id
SCREAMING_SNAKE     USER_ACCOUNT_ID
kebab-case          user-account-id
Train-Case          User-Account-Id
lowercase           useraccountid

Where each is used

  • camelCase: variables and functions in JavaScript, TypeScript, Java, and Swift.
  • PascalCase: class names, React components, and types in many languages; also C# methods.
  • snake_case: variables and functions in Python, Ruby, and Rust; also database column names.
  • SCREAMING_SNAKE_CASE: constants and environment variables (MAX_RETRIES, DATABASE_URL).
  • kebab-case: CSS class names, HTML attributes, file names, and URLs, since hyphens are readable in links and search engines treat them as word separators.

Title case vs sentence case

For prose rather than code, sentence case capitalizes only the first word and proper nouns, while title case capitalizes the main words. Many style guides for interfaces prefer sentence case because it reads more naturally.

Converting between styles

  1. 1Split the name into words on spaces, underscores, hyphens, and capital-letter boundaries.
  2. 2Lowercase the words, then rejoin them in the target style.
  3. 3Watch acronyms: XMLHttpRequest and userID may not split cleanly.
  4. 4Rename in your editor with a refactor tool rather than find and replace, so references update safely.

Practical tips

  • Follow the style guide of the language or project instead of choosing your own.
  • Use descriptive names: userAccountId beats uai.
  • Keep API field names consistent; when JSON uses snake_case and your code uses camelCase, convert at the boundary in one place.
  • In URLs, prefer lowercase kebab-case slugs.

Frequently asked questions

+What is the difference between camelCase and PascalCase?

camelCase starts with a lowercase letter (userName), PascalCase starts with an uppercase letter (UserName).

+Which case should I use for URLs?

Lowercase kebab-case, such as my-blog-post, which is readable and search-engine friendly.

+What is snake_case used for?

Python and Ruby variable names, and database column names.

+What is SCREAMING_SNAKE_CASE?

All uppercase words separated by underscores, used for constants and environment variables.

Case Converter

Free, runs in your browser — nothing you enter is uploaded.

Open tool →

More guides