Encoders & Utilities

Case Converter

Convert between UPPER, lower, Title, camelCase, snake_case.

Text to convert Paste a phrase, identifier, or sentence. Mixed case and Unicode are fine.
All 10 conversions
UPPER CASE
KEBAB-CASE-STRING
lower case
kebab-case-string
Title Case
Kebab-Case-String
Sentence case
Kebab-case-string
camelCase
kebabCaseString
PascalCase
KebabCaseString
snake_case
kebab_case_string
kebab-case
kebab-case-string
CONSTANT_CASE
KEBAB_CASE_STRING
dot.case
kebab.case.string

About this tool

Case Converter takes any text and re-cases it on demand: UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, plus toggles for the rarer dot.case, path/case, and aLtErNaTiNg. Each format is shown in its own row so you can copy the exact one you need without re-running the conversion.

Title and Sentence case use a small stop-words list (English: "and", "of", "the", etc.) so titles read naturally — "The Lord of the Rings", not "The Lord Of The Rings". For camelCase, snake_case, and friends, the tool tokenises the input first (splitting on whitespace, punctuation, and existing case transitions), then re-joins with the target separator and casing rules. Non-ASCII characters are preserved when possible — "über" stays "über" through every transformation.

When to use this tool

  • Renaming code identifiers. A function imported as getUserId needs to become get_user_id in Python or GET_USER_ID as an env var — paste once, copy the variant.
  • Normalising data exports. A CSV column called First Name becomes first_name for the database and firstName for the API.
  • Writing consistent titles and headings. Apply Title Case automatically instead of guessing capitalisation rules.
  • Generating slugs for URLs. Turn "How to set up Docker" into how-to-set-up-docker in one click.

The naming-convention zoo

Different ecosystems prefer different conventions: JavaScript and Java favour camelCase for variables and PascalCase for classes; Python uses snake_case for functions and PascalCase for classes; Ruby uses snake_case for everything except class names; C# uses PascalCase even for methods. Environment variables are universally CONSTANT_CASE. URL slugs are kebab-case. Each convention is unambiguous in its own ecosystem; mixing them is what makes naming hard.

Frequently asked questions

What is the difference between camelCase and PascalCase?

In camelCase the first letter is lowercase: getUserName. In PascalCase (sometimes called UpperCamelCase) the first letter is uppercase: GetUserName. JavaScript and Java use camelCase for variables and functions, PascalCase for classes; C# uses PascalCase for both. The only difference is the very first letter.

Why does Title Case leave "of" and "the" lowercase?

English Title Case rules (Chicago, AP, MLA — they all roughly agree) keep short function words lowercase unless they are the first or last word of the title. The convention exists because "The Lord Of The Rings" reads less naturally than "The Lord of the Rings". Our stop-word list covers the common cases; if you need to preserve every word capitalised, pick "Upper Each Word" instead.

Does it work with non-English text?

For uppercase/lowercase and identifier formats, yes — Unicode case mapping is applied, so "über" becomes "ÜBER" or "Über" correctly. Title Case in non-English languages is trickier (German capitalises all nouns; French has different rules for "le" and "la") and our stop-word list only covers English. For other languages, use the "Upper Each Word" variant and edit manually.

Can it round-trip safely?

Mostly yes for the identifier formats — converting userName to user_name and back gives userName again. Title Case → lowercase → Title Case loses the stop-word handling unless you keep the original. Always keep the source of truth in one canonical case (typically snake_case for storage, camelCase for code, kebab-case for URLs) and derive the others on demand.