What does the Case Converter do?
The Case Converter rewrites any block of text into a different capitalization style — instantly, with one click. Paste in "hello world" and you can get back HELLO WORLD, Hello World, helloWorld, hello_world, hello-world, or HelloWorld, depending on which button you press.
Eight conversions are built in: UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, and kebab-case. The result updates as you type. Nothing is sent anywhere — the conversion runs in your browser using a few lines of JavaScript, which is why it's instant and why a 50,000-character paste is no slower than a 5-character one.
Most online case converters either bury the feature inside a fifteen-tool toolbar or open with a 14-day trial of a "writing assistant." This one just converts cases. Paste, click, copy, move on.
When you'll reach for it
Case conversion sounds trivial until you've done it by hand thirty times in a row. The cases below are the ones that come up most often:
- Developers renaming variables when switching languages (Python likes
snake_case, JavaScript wantscamelCase, React components needPascalCase) - Writers and editors fixing a headline that's been pasted in all caps from a Google Doc, or normalizing chapter titles across a manuscript
- SEO and marketing generating URL slugs from page titles (a page called "10 Tips for Better Sleep" becomes
10-tips-for-better-sleep) - Database admins cleaning up column names imported from a spreadsheet ("First Name" →
first_name) - Designers writing copy that the rest of a design system will style — flat lowercase input, with capitalization handled by CSS later
- Students reformatting citation titles for bibliographies, where some styles require Title Case and some require sentence case
The other audience is anyone who's ever angrily retyped a paragraph because they had caps lock on. Drop the wrong-cased text in, click lowercase, paste it back. Twenty seconds instead of two minutes.
The eight cases, with a worked example
Let's run the same input through all eight conversions and see what comes out. Starting text:
hello world
Each button transforms it differently:
- UPPERCASE →
HELLO WORLD— every letter capitalized - lowercase →
hello world— every letter dropped to lowercase - Title Case →
Hello World— first letter of every word capitalized - Sentence case →
Hello world— first letter of the first word only - camelCase →
helloWorld— first word lowercase, subsequent words capitalized, no spaces - PascalCase →
HelloWorld— every word capitalized, no spaces - snake_case →
hello_world— every word lowercase, joined by underscores - kebab-case →
hello-world— every word lowercase, joined by hyphens
The same logic scales to longer text. "User profile settings page" becomes:
- UPPERCASE →
USER PROFILE SETTINGS PAGE - camelCase →
userProfileSettingsPage - PascalCase →
UserProfileSettingsPage - snake_case →
user_profile_settings_page - kebab-case →
user-profile-settings-page
One paste, eight options, one click. The conversions handle punctuation and special characters by stripping or normalizing them, depending on the target case — snake_case and kebab-case drop punctuation entirely because most systems that accept those formats don't allow it.
Where each case is the right answer
Picking the right case isn't aesthetic — every programming language, every database, every URL standard has conventions. Use the wrong one and your code linter complains, your URL breaks, or your database query returns nothing.
| Case | Example | Where you use it | Where you don't |
|---|---|---|---|
| UPPERCASE | API_KEY | Constants, environment variables, SQL keywords, acronyms | Body text (reads as shouting) |
| lowercase | username | HTML tags, file extensions, email addresses, package names | Proper nouns, headings |
| Title Case | The Great Gatsby | Book/film titles, headings (AP style), button labels | Variable names, URLs |
| Sentence case | The great gatsby | Subheadings (Google's preferred style), tweet copy, modern UI | Print book titles, formal citations |
| camelCase | userName | JavaScript variables, Java methods, JSON keys, Swift properties | CSS classes, URLs, Python (use snake_case) |
| PascalCase | UserProfile | React components, C# classes, TypeScript types, Go exported names | JavaScript variables (those are camelCase) |
| snake_case | user_name | Python variables, Ruby variables, PostgreSQL columns, Rust functions | JavaScript (use camelCase), URLs (use kebab-case) |
| kebab-case | user-name | URLs, CSS classes, HTML attributes, Vue components, package.json names | Variable names in most languages (the hyphen reads as subtraction) |
A few practical patterns the table doesn't capture. In a React project, you'll constantly bounce between PascalCase (the component name, UserProfile), camelCase (the prop, userProfile), and kebab-case (the file slug, user-profile). The Case Converter does all three from the same input — type the human phrase once, click through the three buttons, paste each into the right place.
For SEO and URLs, kebab-case is the right answer almost every time. Google treats hyphens as word separators in URLs; it treats underscores as part of a single token. /word-counter ranks for "word counter." /word_counter is interpreted as a single word that nobody searches for.
The edge cases nobody warns you about
Case conversion has more gotchas than its simple description suggests. A few patterns worth knowing before you trust an automated converter (this one included) on important text:
- Acronyms in Title Case. Standard Title Case capitalizes only the first letter of each word, which turns "NASA launches new probe" into "Nasa Launches New Probe." If acronym preservation matters, run your text through and then manually fix the acronyms — no automated tool does this perfectly because it can't tell US (the country) from us (the pronoun) without context.
- Locale-specific casing. Turkish has two distinct letter
i's — one dotted, one not. JavaScript'stoUpperCase()turns lowercase dottediinto uppercaseIinstead of the Turkish dotted capitalİ. For Turkish, Azerbaijani, and a few other locales, the standard conversion is wrong. Use a locale-aware library if accuracy matters. - Special characters in camelCase and PascalCase. What happens to apostrophes, accented letters, or emoji? Most converters (this one included) strip them, which means "it's working" becomes
itsWorking. Fine for most code but worth checking if you're processing user data. - Empty strings and single words. A one-word input gives back a one-word output. "hello" in camelCase is
hello, in PascalCase isHello. The interesting differences only show up across word boundaries. - SCREAMING_SNAKE_CASE. The convention for constants in many languages (
MAX_RETRIES,API_BASE_URL) isn't listed as a separate button — convert to snake_case first, then to uppercase. Two clicks instead of one, but the result is what you want.
Why so many cases exist
Case conventions are partly historical and partly pragmatic. Before underscores were allowed in early programming languages, camelCase was the only way to combine words into a single identifier. When underscores became legal, Python and Ruby preferred snake_case because the underscore reads as a space. URLs got hyphens because underscores didn't render reliably across browsers in the 1990s — Google's URL parsing still reflects that history.
Title Case versus sentence case in headings is a more recent debate. AP style (used by most newspapers) prefers Title Case. Modern UI guidelines from Google, GitHub, and Atlassian have shifted to sentence case because it reads as friendlier and matches how people actually speak. If you're writing for the web today, sentence case is the safer bet; for print, follow whatever house style applies.
The takeaway: case conventions are conversations between communities. Match the case to the destination, not your preference. The Case Converter doesn't pick — it just lets you switch quickly enough that picking the right one stops being a chore.
Related text tools
Case conversion is often one step in a longer text cleanup. A few neighbors worth knowing about:
- Word Counter — counts words, characters, sentences, and paragraphs. Useful before you convert case, to confirm the input is what you expect.
- Character Counter — focused character counting with platform limits (Twitter, SMS, meta descriptions). Convert case first, then check whether the result fits.
- Sentence Counter — when you're polishing structure rather than capitalization.
- Vowel Counter — for word games, linguistics work, or readability checks.
Frequently asked questions
Is my text stored anywhere?
No. The Case Converter runs entirely in your browser as JavaScript. Your text never reaches any server, never gets logged, and never persists past closing the tab. Safe to use on confidential drafts, internal documents, or anything you'd rather not paste into a cloud service.
What's the difference between Title Case and Sentence case?
Title Case capitalizes the first letter of every significant word: "The Quick Brown Fox Jumps Over the Lazy Dog." Sentence case capitalizes only the first letter of the first word (plus proper nouns): "The quick brown fox jumps over the lazy dog." Title Case is traditional for headlines and book titles. Sentence case is the modern default for UI headings and most web copy.
Does Title Case capitalize small words like "the" and "of"?
The Case Converter's Title Case capitalizes every word, including small ones. Strict AP and Chicago style would leave articles, prepositions, and conjunctions lowercase unless they're the first or last word. If you need that distinction, run through Title Case and then manually drop the small words to lowercase — it's faster than the reverse.
Why does camelCase strip my punctuation?
Because the target environments don't allow it. JavaScript variable names can only contain letters, digits, underscores, and dollar signs. Apostrophes, hyphens, and emoji aren't legal characters. The converter strips them so the output is a valid identifier rather than syntactically broken code.
How do I get SCREAMING_SNAKE_CASE for constants?
Convert to snake_case first, then to UPPERCASE. "max retries" → max_retries → MAX_RETRIES. Two button clicks. We didn't add a dedicated button because the combination covers it and adding another button would clutter the interface.
Does case conversion work for non-English text?
Yes for most European languages — Spanish, French, German, Italian, Portuguese all use the same Latin alphabet rules and convert correctly, including accented characters in UPPERCASE and lowercase ("café" → CAFÉ). Turkish has known edge cases with the dotted/dotless i. Languages that don't use case (Chinese, Japanese, Arabic, Hebrew) pass through unchanged for upper and lower; the joining cases (camelCase, kebab-case, etc.) work as long as words are space-separated.
What's the largest text I can convert?
Practically, there's no limit. Because the conversion runs in your browser, the only cap is how much text your browser will hold in a single textarea — usually well over a million characters. A full novel will convert in under a second.