UPPERCASE, lowercase, Title Case, camelCase — text comes in more shapes than most people notice, and each one carries meaning beyond the words themselves. Use the wrong case in the wrong place and your heading looks amateur, your code won't compile, or your email reads as shouting. This guide explains the main casing styles, when each one is appropriate, and the mistakes to avoid.
The everyday cases
UPPERCASE (ALL CAPS)
Every letter capitalised: "SALE ENDS FRIDAY". Use sparingly — for short warnings, signage, or legal headings where maximum visibility matters. In running text, all caps is harder to read (word shapes disappear, slowing reading by roughly 10–15% in studies) and online it's universally read as shouting. A full email in caps doesn't emphasise your point; it just annoys the reader.
lowercase
Every letter small: "sale ends friday". Standard for body text everywhere. Deliberate all-lowercase styling appears in some brand identities and informal writing, but in formal contexts it reads as careless — like you couldn't be bothered with the shift key.
Title Case
Major words capitalised: "Sale Ends Friday". The standard for headings, book titles, and article headlines in English. The fiddly part is which words count as "major": style guides differ on whether to capitalise short prepositions and articles ("The Cat in the Hat" vs "The Cat In The Hat"). Pick one convention — typically, capitalise everything except articles (a, an, the), short prepositions (in, on, of), and short conjunctions (and, but, or) — and apply it consistently.
Sentence case
Only the first word (and proper nouns) capitalised: "Sale ends Friday". Increasingly popular for headings on the modern web — it feels calmer and more conversational than Title Case, and it's what most style guides now recommend for UI text, buttons, and subheadings.
The programmer's cases
Code can't contain spaces in names, so programmers join words with capitalisation or symbols instead. You'll meet these constantly even if you don't code:
- camelCase —
saleEndsFriday: first word lowercase, subsequent words capitalised. The humps in the middle suggest a camel's back. Standard in JavaScript and Java. - PascalCase —
SaleEndsFriday: every word capitalised, also called UpperCamelCase. Used for class names in most languages. - snake_case —
sale_ends_friday: words joined with underscores. Standard in Python and common in database fields. - kebab-case —
sale-ends-friday: words joined with hyphens. Used in URLs, CSS classes, and HTML attributes (hyphens, not underscores, because they're easier to read in web addresses). - CONSTANT_CASE —
SALE_ENDS_FRIDAY: screaming snake case, reserved for constants — values that never change.
The practical rule: match the convention of whatever you're working in. Mixing saleEndsFriday and sale_ends_friday in the same project is a reliable source of bugs and code-review complaints.
When to use which: a quick decision guide
- Essay/report headings: Title Case (traditional) or sentence case (modern) — check your style guide.
- Website buttons and menus: sentence case ("Add to cart", not "Add To Cart") — current UX best practice.
- Warning that must not be missed: UPPERCASE, but keep it to a few words ("DO NOT UNPLUG").
- File names and URLs: lowercase with hyphens (
summer-sale-report.pdf) — avoids case-sensitivity bugs on Linux servers. - Variable names: your language's convention (camelCase in JavaScript, snake_case in Python).
- Email subject lines: sentence case or Title Case — never all caps unless you enjoy the spam folder.
Converting case without retyping
Manually recapitalising a paragraph is tedious and error-prone — it's easy to miss a word or "correct" a proper noun into something wrong. The reliable approach is to select the text and convert it mechanically with a case converter tool, then proofread the result. Machine conversion handles the grunt work (every word, every time); your eyes handle the judgement calls the machine can't make, like whether "US" in your text means the country or the pronoun "us".
Two judgement calls converters can't make for you:
- Proper nouns in Title Case. A converter capitalises every word, turning "eBay" into "Ebay" and "iPhone" into "Iphone". Fix brand names and unusual capitalisation by hand afterwards.
- Acronyms in sentence case. Converting "NASA launched the rocket" to sentence case gives "Nasa launched the rocket". Restore acronyms manually.
Common mistakes
- Random Capitalisation for Emphasis. Capitalising arbitrary Words in a Sentence doesn't add emphasis — it just looks like you don't know the rules. Use italics or bold instead.
- All-caps paragraphs. Beyond a line or two, readability collapses and the shouting effect takes over.
- Inconsistent headings. "Getting started" next to "Advanced Configuration" next to "FAQ" — pick Title Case or sentence case and use it for every heading at the same level.
- Case-sensitive chaos in code and URLs.
Report.pdfandreport.pdfare different files on most web servers. Lowercase everything in URLs and filenames and the problem disappears. - Trusting autocorrect with proper nouns. Autocapitalisation "fixes" like turning "iPhone" into "Iphone" slip into published text more often than anyone admits. Proofread after any automated conversion.
Frequently asked questions
Is writing in all caps actually considered rude?
Online, yes — it's been read as shouting since the early days of the internet, and that convention hasn't softened. In print contexts like warning labels or legal headings it's neutral and functional. Context is everything: a three-word warning is fine; a three-paragraph email is not.
Should headings be Title Case or sentence case?
Both are acceptable; consistency matters more than the choice. Traditional publishing (books, academic papers) favours Title Case. Modern web and UX writing increasingly favours sentence case as friendlier and easier to scan. Check if your organisation or style guide mandates one.
What's the difference between camelCase and PascalCase?
Only the first letter: camelCase starts lowercase (myVariable), PascalCase starts uppercase (MyVariable). By convention, camelCase is for variables and functions, PascalCase for classes and types. The distinction helps readers instantly tell what kind of thing a name refers to.
Why do programmers use snake_case instead of just spaces?
Because spaces terminate names in virtually every programming language — my variable reads as two separate things to a compiler. Underscores (or capitals, or hyphens) join the words into a single identifier while keeping them readable.