Case Converter

Convert text between UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, and aLtErNaTiNg instantly.

Input Text

Frequently Asked Questions

Title Case capitalizes the first letter of every word. This tool capitalizes all words for simplicity. In strict editorial style (AP, Chicago), short prepositions and articles like the, a, of, in are not capitalized unless they're the first or last word.
camelCase starts with a lowercase letter: myVariableName. It's used in JavaScript, Java, and Swift for variable and function names. PascalCase (also called UpperCamelCase) starts with an uppercase letter: MyClassName. It's used in C#, PHP, and most languages for class names.
snake_case (underscores) is used in Python for variables and function names, database column names, and file names in Linux. kebab-case (hyphens) is used in HTML/CSS class names, URL slugs, and CLI flag names because hyphens are URL-safe and more readable in hyperlinks.
In strict editorial Title Case (AP or Chicago style), short words like a, an, the, and, but, or, for, in, on, at, to, of, up are not capitalized unless they are the first or last word of the title. For example: "The Cat in the Hat" — "in" and "the" (within the title) stay lowercase. This tool capitalizes all words for simplicity.
ALL CAPS is used for acronyms (NASA, HTML, API), strong warnings (WARNING, CAUTION), constants in code (MAX_VALUE, API_KEY in Python and JavaScript), and emphasis in informal contexts. Avoid using ALL CAPS for long passages — it is harder to read and widely considered to represent shouting in online communication.
Sentence case capitalizes only the first word of a sentence and proper nouns — it looks like a normal sentence. Title Case capitalizes the first letter of most words. Sentence case is preferred for UI labels, button text, and subheadings in many modern style guides (Google, Microsoft), while Title Case is traditional for book and article titles.
kebab-case (lowercase words separated by hyphens) is the recommended format for URLs. Google treats hyphens as word separators, making them preferable to underscores. Example: /blog/how-to-use-case-converter. Underscores are treated as connectors, meaning word_count is indexed as a single word rather than two.
camelCase joins words by capitalizing each subsequent word's first letter, starting with a lowercase letter: getUserName, myVariableCount. It is the standard naming convention for variables and functions in JavaScript, Java, Swift, and Kotlin.
The only difference is the first letter: PascalCase starts with an uppercase letter (UserProfile), while camelCase starts with a lowercase letter (userProfile). PascalCase is used for class names in most languages — C#, PHP, Java, Python — and for React component names. camelCase is used for variables and functions.
Both separate words in lowercase, but with different characters. snake_case uses underscores (my_variable) and is the standard in Python, Ruby, and database columns. kebab-case uses hyphens (my-variable) and is used in CSS class names, HTML attributes, and URL paths. Hyphens cannot be used in most programming language identifiers because they are interpreted as the minus operator.

About This Text Case Converter

This free text case converter instantly converts any text to UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, and alternating case. Paste text, click a button, and copy the result — no installation required.

When to use this tool

  • Converting variable names between coding conventions
  • Fixing ALL-CAPS text pasted from a document or email
  • Preparing URL slugs and identifiers from a human-readable title
  • Normalising text formatting in bulk before importing to a database

Standards & References

Related Articles

In-depth guides and technical articles.

View all →
camelCase vs snake_case Isn't a Style Choice in APIs — It's a Contract, and Changing It Breaks Your Consumers
camelCase in JSON APIs is a contract, not a preference — switching to snake_case between API versions is a breaking change even if field semantics are identical. Here's how case style encodes mutability (SCREAMING_SNAKE_CASE signals constant), why kebab-case is limited to CSS/HTML/URLs (the hyphen is a subtraction operator in real languages), and the one-boundary transformation pattern that keeps database snake_case, API camelCase, and frontend TypeScript aligned without chaos.
Why Your Database Uses snake_case, Your JSON Uses camelCase, and Your .env Uses SCREAMING_SNAKE_CASE — and What Breaks When You Mix Them
Database column names, JSON fields, environment variables, and CSS classes each use different casing conventions — and each choice reflects a constraint from where that identifier is used. Here's why PostgreSQL lowercases your column names, the JSON snake_case vs camelCase cross-ecosystem problem, why environment variables are SCREAMING_SNAKE_CASE, and the file-name case-sensitivity bug that works on macOS and breaks on Linux production servers.
Title Case Isn't One Rule: How AP, Chicago, and MLA Disagree on Prepositions and Hyphens
"The Art of War" or "The Art Of War"? AP style capitalizes 4+ letter prepositions; Chicago and MLA lowercase all prepositions regardless of length. Here's how major style guides disagree on prepositions, why hyphenated compounds are the hardest case for any automated title-case tool, and why "to" as an infinitive marker needs different treatment than "to" as a preposition.
Why "JohnSmith" and "johnsmith" Are the Same Account Here But Different Accounts There: Case Sensitivity in Login Systems
"JohnSmith" and "johnsmith" might be the same account on one platform and two different accounts on another — usernames, emails, and passwords each have different case-sensitivity conventions, and none of them are universal. Here's why email local-parts are technically case-sensitive but practically never are, why username case-sensitivity varies by platform and creates genuinely hard migration problems if changed later, why passwords must remain case-sensitive for security, and why mobile autocapitalize causes invisible login failures.
Unicode Case Conversion Challenges: The Turkish I Problem, German ß, and Locale-Aware APIs
JavaScript's toUpperCase() returns the wrong character for Turkish 'i', and uppercasing German ß changes the string length from 6 to 7 characters. Here's the Unicode case conversion edge cases that cause real bugs, locale-aware API alternatives in JavaScript and Python, and why title case rules differ across languages.