Text Case Converter
Convert text to UPPERCASE, lowercase, Title Case, camelCase, snake_case, kebab-case and more.
Text Case Converter
Free ToolHow to use Text Case Converter
**What Is Text Case Conversion?**
Text case conversion is the process of transforming a string of text so that each character follows a specific capitalization pattern. Whether you're a developer naming variables, a writer formatting headlines, or a student following an academic style guide, getting the case right matters. Inconsistent capitalization looks unprofessional in published content and causes runtime errors in code. This free text case converter handles all major case formats instantly — no installation, no account, no cost. It also shows a live word and character count so you can track content length while converting.
**The 11 Case Types You Need to Know**
Before you convert anything, it helps to understand what each format is designed for:
| Case Type | Example | Typical Use |
|---|---|---|
| UPPERCASE | HELLO WORLD | Legal headings, emphasis, acronyms |
| lowercase | hello world | URLs, usernames, CSS class names |
| Title Case | Hello World | Book titles, article headlines, headings |
| Sentence case | Hello world | Body text, email subjects, subtitles |
| camelCase | helloWorld | JavaScript variables and functions |
| PascalCase | HelloWorld | Java/C# class names, React components |
| snake_case | hello_world | Python variables, database column names |
| kebab-case | hello-world | CSS class names, URL slugs, HTML attributes |
| SCREAMING_SNAKE_CASE | HELLO_WORLD | Constants in most languages (Python, Java, C++) |
| Alternating case | hElLo WoRlD | Social media memes, sarcasm, creative design |
| Toggle/Inverse case | hELLO wORLD | Fixing accidental caps-lock, creative formatting |
Each format exists for a specific ecosystem. Mixing them causes confusion — and in code, it causes bugs.
**Alternating Case and Toggle Case — The Creative Formats**
Two case types deserve special attention because they serve purposes very different from the others.
**Alternating case** (also called aLtErNaTiNg CaSe or mocking case) switches between uppercase and lowercase on every character: `hElLo WoRlD`. This format went viral as the "mocking SpongeBob" meme on social media — it signals sarcasm or mockery in informal online communication. Designers also use alternating case for eye-catching typographic effects in logos, posters, and social media graphics where every-other-capital creates a distinctive rhythm. If you're writing a caption that says something is painfully obvious, alternating case is the standard shorthand.
**Toggle case** (also called inverse case or reverse case) flips every letter's existing case: uppercase becomes lowercase, lowercase becomes uppercase. `Hello World` becomes `hELLO wORLD`. The most practical use is fixing accidental caps-lock text. If you typed a full paragraph with caps lock on — `I FINISHED THE REPORT AND SENT IT TO THE CLIENT` — you don't need to retype it. Paste it here, click Toggle, and get `i finished the report and sent it to the client`. From there, apply Sentence case and you're done. Toggle case is also used in password obfuscation exercises and basic cipher demonstrations.
**Step-by-Step: How to Use This Tool**
1. **Paste your text** into the input box. You can paste a single word, a full paragraph, or thousands of words — the converter handles any length. The word and character count updates live as you type.
2. **Select your target case** from the buttons: UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, SCREAMING_SNAKE_CASE, Alternating case, or Toggle case.
3. **Click the button** or select the option. The converted text appears instantly in the output box.
4. **Copy the result** with the one-click copy button. Your clipboard is updated immediately.
No form submission, no page reload. Conversion happens entirely in your browser — your text never leaves your device.
**Real-World Conversion Examples**
Let's walk through actual transformations so you can see exactly what changes:
*Input:* `the quick brown fox jumps over the lazy dog`
- **UPPERCASE:** `THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG`
- **Title Case:** `The Quick Brown Fox Jumps Over the Lazy Dog`
- **Sentence case:** `The quick brown fox jumps over the lazy dog`
- **camelCase:** `theQuickBrownFoxJumpsOverTheLazyDog`
- **PascalCase:** `TheQuickBrownFoxJumpsOverTheLazyDog`
- **snake_case:** `the_quick_brown_fox_jumps_over_the_lazy_dog`
- **kebab-case:** `the-quick-brown-fox-jumps-over-the-lazy-dog`
- **SCREAMING_SNAKE_CASE:** `THE_QUICK_BROWN_FOX_JUMPS_OVER_THE_LAZY_DOG`
- **Alternating case:** `tHe QuIcK bRoWn FoX jUmPs OvEr ThE lAzY dOg`
- **Toggle case:** `THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG` (inverts the lowercase input to uppercase)
For a multi-word identifier like a database column name, the difference between `userFirstName` (camelCase) and `user_first_name` (snake_case) determines whether your ORM query works or fails silently.
**Programming Language Conventions**
Every major programming language or framework has a dominant convention. Violating it triggers linting errors and fails code reviews:
**JavaScript / TypeScript:**
- Variables and functions → camelCase: `getUserById`, `isLoggedIn`
- Classes and React components → PascalCase: `UserProfile`, `AuthProvider`
- Constants → SCREAMING_SNAKE_CASE: `MAX_RETRY_COUNT`, `API_BASE_URL`
- CSS class names → kebab-case: `btn-primary`, `card-header`
**Python:**
- Variables and functions → snake_case: `get_user_by_id`, `is_logged_in`
- Classes → PascalCase: `UserProfile`, `DatabaseConnection`
- Constants → SCREAMING_SNAKE_CASE: `MAX_RETRIES`, `DEFAULT_TIMEOUT`
- Per PEP 8, the official Python style guide, snake_case is mandatory for all function and variable names
**Java / Kotlin:**
- Variables and methods → camelCase: `getUserById`, `isAuthenticated`
- Classes and interfaces → PascalCase: `UserRepository`, `PaymentService`
- Constants (static final) → SCREAMING_SNAKE_CASE: `MAX_POOL_SIZE`
- Packages → all lowercase with dots: `com.company.projectname`
**Database (SQL):**
- Column names → snake_case: `first_name`, `created_at`, `user_id`
- Most SQL databases are case-insensitive for column names, but snake_case is the universally accepted convention
- PostgreSQL automatically lowercases unquoted identifiers, so `FirstName` becomes `firstname` — use snake_case to avoid surprises
**URLs and Slugs:**
- Always kebab-case: `/blog/how-to-use-react-hooks` not `/blog/how_to_use_react_hooks`
- Google treats hyphens as word separators; underscores in URLs can harm SEO
**Writing Style Guide Rules for Title Case**
Title case is the most nuanced format because it's governed by multiple competing style guides. Here are the rules for the four most common in US publishing:
**AP Style (Associated Press — used in journalism):**
- Capitalize all words of four letters or more
- Do NOT capitalize: a, an, the, and, but, or, for, nor, yet, so (unless first/last word)
- Example: *The Art of War and How to Apply It*
**Chicago Manual of Style (used in books and academic publishing):**
- Capitalize the first and last words always
- Lowercase: articles (a, an, the), coordinating conjunctions (and, but, or, nor, for, so, yet), prepositions of any length
- Example: *Gone with the Wind: A Novel of the Old South*
**APA Style (used in psychology and social sciences):**
- In the reference list: only capitalize the first word, proper nouns, and the first word after a colon
- In the body text: follow title case for periodical names
- Example reference: *The effects of sleep deprivation on cognitive performance*
**MLA Style (used in humanities and literature):**
- Capitalize the first and last words of titles and subtitles
- Capitalize all "major" words — nouns, verbs, adjectives, adverbs, and subordinating conjunctions
- Lowercase: articles (a, an, the), prepositions (in, on, at, by, for, with), coordinating conjunctions (and, but, or)
- Example: *Of Mice and Men: A Study of Dreams and Friendship in America*
- MLA and Chicago are very similar; the key difference is that MLA lowercases all prepositions regardless of length, same as Chicago
This tool applies standard Title Case rules (capitalize all words except short conjunctions, articles, and prepositions when not in the first or last position).
**Common Mistakes and How to Avoid Them**
**Mistake 1: Using snake_case in JavaScript variable names**
JavaScript's ecosystem (React, Node.js, Express) universally uses camelCase. Writing `user_first_name` instead of `userFirstName` in a JS codebase will trigger ESLint warnings and confuse other developers.
**Mistake 2: Using kebab-case in Python**
Python identifiers cannot contain hyphens — `my-function` is a syntax error (Python reads the hyphen as a minus sign). Always use `my_function` in Python.
**Mistake 3: Wrong title case for small prepositions**
Don't write: *The Battle Of The Bulge*. Correct: *The Battle of the Bulge*. Prepositions like "of," "in," "at," and "on" are lowercase unless they start or end the title.
**Mistake 4: Inconsistent case in database schemas**
Mixing `user_id` and `userId` in the same schema causes query failures when you switch ORMs or move between languages. Pick snake_case and enforce it across your entire schema.
**Mistake 5: Sentence case vs. lowercase confusion**
Lowercase makes everything small: `the quick brown fox`. Sentence case capitalizes only the very first letter: `The quick brown fox`. They look similar but are semantically different — sentence case is correct for body text; lowercase is for code identifiers.
**Pro Tips for Power Users**
**Fix caps lock accidents instantly:** Typed a whole paragraph in all caps by mistake? Paste it here, click Toggle Case to flip every letter, then click Sentence Case to clean it up. What would have been a full retype takes three seconds.
**Convert database exports to code-ready format:** If your database uses snake_case column names (`first_name`, `last_name`) and your frontend expects camelCase props (`firstName`, `lastName`), paste the column names here, convert to camelCase, and use the results directly as your object property names.
**Clean up ALL-CAPS legacy content:** Old systems sometimes store data in UPPERCASE (names, addresses). Paste it here, convert to Title Case or Sentence case, and it becomes usable for modern interfaces.
**Generate consistent CSS class names:** Paste your component or feature names and convert to kebab-case to get CSS-ready identifiers: `UserProfileCard` → `user-profile-card`.
**Bulk convert API field names:** Many public APIs return PascalCase or inconsistent naming. Paste the field list, convert to camelCase or snake_case, and map your response accordingly.
**Social media formatting:** Use UPPERCASE for strong emphasis in tweets or posts. Use alternating case for the sarcasm/mocking tone that's standard in meme captions. Use Title Case for professional LinkedIn posts and article headlines.
**Why Browser-Based Conversion Is Faster Than Writing Code**
You could write a Python script or use a JavaScript regex to convert case. But for one-off tasks, opening this tool is faster. There's no terminal to open, no package to install, no script to save. For developers, this tool is best for quick conversions during design or documentation phases — not as a replacement for programmatic case conversion in production code (where a library like `lodash` or Python's built-in `.upper()`, `.lower()`, and `.title()` methods should handle it). For writers and content creators, it replaces manual reformatting that's easy to get wrong and tedious to do at scale.
Frequently Asked Questions
Recommended
Related Tools
Text
Text Diff Checker
Compare two texts side by side and highlight every addition, deletion, and change instantly.
Open tool
TextLorem Ipsum Generator
Generate lorem ipsum placeholder text instantly — choose paragraphs, sentences, or words with one click.
Open tool
TextWord Counter
Count words, characters, sentences. Get top keywords and reading level score.
Open tool