Case Converter Guide: When to Use Each Case Style and Why It Matters
Case style β UPPERCASE, lowercase, Title Case, camelCase, snake_case β looks like a tiny detail, but it carries strong signals. The wrong case in the wrong place reads as unprofessional, breaks search, fails code, or makes content hard to scan. This guide covers the cases, their conventions, and where each belongs.
Every writing tradition has rules about capitalization, and they don't all agree. English book titles capitalize most words; news headlines often capitalize only the first. German capitalizes every noun. Korean has no concept of case. Programmers invented several styles (camelCase, snake_case, kebab-case) to embed structure in identifiers without spaces. The result is that 'just retyping with different capitals' isn't always trivial β there are genuine conventions to follow.
A case converter automates the mechanical part. The harder part is knowing which style to pick for which context. This guide covers the most common conventions, with practical examples of where each one is correct.
The case styles you'll meet
- UPPERCASE
- All letters capitalized. Used for emphasis, acronyms (NASA, USA), warning text, and shouting. Generally not for body content.
- lowercase
- All letters lowercase. Casual, intimate, sometimes artistic. Email addresses, URLs, hashtags.
- Title Case
- First Letter Of Each Major Word Capitalized. Book titles, article headlines, song titles. Several variants for handling small words ('a', 'the', 'of').
- Sentence case
- Only the first letter of the sentence capitalized β like normal prose. Used in product UI strings, modern blog posts, and some headline conventions.
- camelCase
- firstWordLowercaseRestCapitalized. JavaScript variables, function names. No spaces or punctuation.
- PascalCase
- EveryWordCapitalized. Class names in most languages, React components. Like camelCase but the first word is also capitalized.
- snake_case
- words_separated_by_underscores. Python variables, database column names.
- kebab-case
- words-separated-by-hyphens. URLs, CSS class names, HTML attributes.
- CONSTANT_CASE (SCREAMING_SNAKE_CASE)
- ALL_CAPS_WITH_UNDERSCORES. Constants and environment variables in most languages (MAX_SIZE, API_KEY).
Where each case belongs
| Context | Convention | Example |
|---|---|---|
| English book title | Title Case | The Great Gatsby |
| Modern article headline | Sentence case (often) | Why your inbox is making you anxious |
| Some newspaper headlines, e.g. The New York Times (AP headlines use sentence case) | Title Case | Senate Approves New Tax Law |
| Email subject line | Sentence case | Re: Project update for Friday |
| URL slug | kebab-case | /blog/why-naming-matters |
| JavaScript variable | camelCase | userName, totalPrice |
| Python variable | snake_case | user_name, total_price |
| React component | PascalCase | UserProfile, NavBar |
| CSS class | kebab-case | .user-profile, .nav-bar |
| Database column | snake_case | user_name, created_at |
| Environment variable | SCREAMING_SNAKE_CASE | DATABASE_URL, API_KEY |
| File name | kebab-case or snake_case | user-profile.tsx, user_profile.py |
| Hashtag | PascalCase or lowercase | #GoodMorning or #goodmorning |
Title Case is more complicated than it looks
Different style guides have slightly different rules for which words to capitalize. AP style capitalizes nouns, pronouns, verbs, and adjectives, plus articles/prepositions of four or more letters. Chicago style is similar but with subtler edge cases. APA capitalizes all words of four or more letters. The differences are small but matter for editorial work.
The most common practical rule: capitalize the first and last words always; capitalize all 'major' words in between (nouns, verbs, adjectives, adverbs); lowercase short articles ('a', 'an', 'the'), conjunctions ('and', 'but', 'or'), and prepositions of three letters or fewer ('in', 'on', 'of'). 'The Lord of the Rings' follows this rule.
Conversion tips this tool handles
- β’Existing names keep their word breaks β userName becomes user_name, XMLParser becomes xml_parser, getHTTPResponseCode becomes get-http-response-code. The old version lowercased everything first, so camelCase of userName was username.
- β’Hangul, kana and Cyrillic count as letters. The old version treated anything outside Latin letters and digits as a separator, so snake_case of μ¬μ©μ μ΄λ¦ was empty.
- β’Code names (camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case) convert line by line, so a pasted list stays a list.
- β’Title Case capitalises the first and last word and the word after a colon, keeps articles, conjunctions and short prepositions lower case in between, and leaves acronyms such as NASA alone.
- β’Sentence case starts each sentence and line with a capital and keeps acronyms and the pronoun I. If the whole input is in capitals, acronyms cannot be told apart, so everything is lowered.
Extended FAQ
Why are some apps strict about which case I use?
File names and URL paths are case-sensitive on Linux servers, while Windows and macOS ignore case by default β which is why an image that works locally can break once uploaded. 'Image.JPG' and 'image.jpg' are different files. Programming languages also enforce case-sensitivity for variable names. Be especially careful with these.
Should hashtags be #PascalCase or #lowercase?
PascalCase is recommended for accessibility β screen readers can correctly announce '#GoodMorning' as 'Good Morning' but treat '#goodmorning' as 'goodmorning' (one word). Visually both work, but accessibility wins.
What's the difference between Title Case and Headline Case?
They're often used interchangeably. Some style guides distinguish 'Title Case' (book/article titles, more capitals) from 'Sentence case' (just the first word). 'Headline case' usually refers to the news convention, which sits in between.
Does case-insensitive search ignore my case choice?
Most modern search engines (Google, site search) are case-insensitive β your query in any case matches content in any case. But string comparison in programming languages is case-sensitive, and databases differ: LIKE is case-sensitive in PostgreSQL but not under MySQL's default collation.
Is the text I convert here saved or shared?
No. Conversion runs entirely in your browser; nothing is uploaded.
