Title Case: The Quick Brown Fox Jumps Over the Lazy Dog
UPPER CASE
THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
lower case
the quick brown fox jumps over the lazy dog
Sentence case
The quick brown fox jumps over the lazy dog
camelCase
theQuickBrownFoxJumpsOverTheLazyDog
snake_case
the_quick_brown_fox_jumps_over_the_lazy_dog
kebab-case
the-quick-brown-fox-jumps-over-the-lazy-dog
Characters
43
Words
9
43 characters in 9 words: 0 uppercase and 35 lowercase letters, 0 digits, 8 spaces and 0 other characters.
Characters by type
How it's calculated S
Title Case
Every word is capitalized except articles, conjunctions and prepositions of three letters or fewer (a, an, the, and, but, for, of, on, to…), which stay lowercase unless they are the first or last word or follow a colon (AP style). Existing capitals are lowered first, so acronyms need fixing by hand.
Sentence case
Everything is lowercased, then the first letter of each sentence and the pronoun “I” are capitalized. Proper nouns can't be detected.
Identifier cases
Split into 9 words (the, quick, brown, fox, jumps, over, the, lazy, dog) at spaces, punctuation and lower-to-upper case changes; apostrophes are dropped.
About the case converter
The converter rewrites text in seven cases at once. Upper and lower case follow the Unicode default case mappings, so ß becomes SS. Title case capitalizes every word except articles, conjunctions and prepositions of three letters or fewer, which stay lowercase unless they come first, last or after a colon (AP style). Sentence case lowercases everything, then capitalizes the first letter of each sentence and the pronoun I. camelCase, snake_case and kebab-case split the text into words at spaces, punctuation and lower-to-upper changes, and drop apostrophes.
People use it to fix headings typed in capitals, format titles and turn phrases into variable names. The default, "the quick brown fox jumps over the lazy dog", becomes "The Quick Brown Fox Jumps Over the Lazy Dog" in title case and the_quick_brown_fox_jumps_over_the_lazy_dog in snake_case; it has 43 characters and 9 words.
Title and sentence case lower existing capitals first, so acronyms such as NASA and proper nouns need fixing by hand.
How to convert text to title case, sentence case and more
Title case capitalizes every word except short articles, conjunctions and prepositions in the middle, so "the quick brown fox jumps over the lazy dog" becomes "The Quick Brown Fox Jumps Over the Lazy Dog". Sentence case capitalizes only the first word of each sentence and the pronoun I. Uppercase and lowercase change every letter.
Title case rules (AP style)
These words stay lowercase unless they are the first word, the last word, or follow a colon, period, question mark or exclamation mark:
Articles: a, an, the
Conjunctions: and, but, for, nor, or, so, yet
Prepositions of three letters or fewer: as, at, by, in, of, off, on, per, to, up, via
Every other word is capitalized, including four-letter words such as with and from: "life with a dog: what to expect" becomes "Life With a Dog: What to Expect".
A short word right after a colon is capitalized too, so "the lord of the rings: the return of the king" becomes "The Lord of the Rings: The Return of the King".
The Chicago Manual of Style lowercases prepositions of any length, such as between, so check which style your publication follows.
Sentence case
Sentence case lowercases everything, then capitalizes the first letter, each letter that follows a period, question mark or exclamation mark and a space, and the pronoun I.
"HELLO WORLD. how ARE you? i am fine" becomes "Hello world. How are you? I am fine". It cannot recognize names, so "i met alice in london" becomes "I met alice in london".
Abbreviations also trip it: "see e.g. the notes" becomes "See e.g. The notes".
camelCase, snake_case and kebab-case
These join words without spaces so a phrase can serve as a name in code. The text is split into words at spaces, punctuation and lower-to-upper changes, and apostrophes are dropped:
"XMLHttpRequest parser" becomes xmlHttpRequestParser, xml_http_request_parser and xml-http-request-parser.
"don't stop-me now" becomes dontStopMeNow: the hyphen splits words, the apostrophe does not.
Python's PEP 8 style guide uses snake_case for functions and variables, CSS properties such as background-color use kebab-case, and JavaScript's built-in methods such as toUpperCase use camelCase.
Check the result before using it as a name. "2nd place winner" becomes 2nd_place_winner, and most programming languages reject an identifier that starts with a digit.
Uppercase, lowercase and special letters
Upper and lower case follow Unicode's default case mappings. German ß maps to SS, so "straße" (6 characters) uppercases to "STRASSE" (7), even though a capital ẞ exists (Unicode case-mapping FAQ).
The default mappings ignore language-specific rules. Turkish writes a capital dotted İ for i, but the default turns "istanbul" into "ISTANBUL".
Counting characters and words
Characters are Unicode code points, with spaces and punctuation included. The pangram above has 43: 35 lowercase letters and 8 spaces. Some emoji count as two, such as 👍🏽, a thumbs-up plus a skin-tone modifier.
A word is a run of text between spaces that contains a letter or a digit. !!! has no words, and "你好 世界" has two, because Chinese is split only where spaces are.
Example counts
Input
Characters
Words
Default
43.000000
9.000000
Acronym boundaries
21.000000
2.000000
Sharp s
6.000000
1.000000
Non Latin
5.000000
2.000000
Punctuation only
3.000000
0.000000
Default: the pangram above.
Acronym boundaries: "XMLHttpRequest parser".
Sharp s: "straße".
Non Latin: "你好 世界".
Punctuation only: !!!, which leaves the camelCase, snake_case and kebab-case versions empty.
What to fix by hand
Title case and sentence case lower every existing capital first, so a few things need a manual pass:
Acronyms and brand names. "NASA and iPhone" becomes "Nasa and Iphone" in title case.
Ordinals. "2nd place winner" becomes "2Nd Place Winner", because the first letter of each word is capitalized.
Proper nouns in sentence case, such as the names in "I met alice in london".
To count words and estimate reading time for longer text, use the word counter.
Worked examples
Pangram
Text
the quick brown fox jumps over the lazy dog
Show first
Title Case
Title Case
The Quick Brown Fox Jumps Over the Lazy Dog
UPPER CASE
THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
camelCase
theQuickBrownFoxJumpsOverTheLazyDog
snake_case
the_quick_brown_fox_jumps_over_the_lazy_dog
kebab-case
the-quick-brown-fox-jumps-over-the-lazy-dog
Characters
43
Words
9
Checked against: Independent calculation
Title with a colon
Text
the lord of the rings: the return of the king
Show first
Title Case
Title Case
The Lord of the Rings: The Return of the King
Checked against: AP rule: short function words stay lowercase except first, last and after a colon
Sentence case with a lone i
Text
HELLO WORLD. how ARE you? i am fine
Show first
Sentence case
Sentence case
Hello world. How are you? I am fine
Checked against: re implementation: capitalize after. ! ? and the pronoun I
Acronym and camel humps
Text
XMLHttpRequest parser
Show first
snake_case
snake_case
xml_http_request_parser
camelCase
xmlHttpRequestParser
kebab-case
xml-http-request-parser
Checked against: re split at [a-z0-9][A-Z] and [A-Z]+[A-Z][a-z] boundaries
Questions
Which words are not capitalized in title case?
In AP style, articles (a, an, the) and conjunctions and prepositions of three letters or fewer (and, but, for, nor, or, so, yet, as, at, by, in, of, off, on, per, to, up, via) stay lowercase unless they are the first or last word or follow a colon. Words of four letters or more, such as "over" and "with", are capitalized. The Chicago Manual of Style differs: it lowercases prepositions of any length, such as "between".
What is the difference between title case and sentence case?
Title case capitalizes most words (How to Write a Good Title); sentence case capitalizes only the first word, proper nouns and the pronoun I (How to write a good title). APA Style uses sentence case for the titles of articles and books in reference lists and title case for headings and for titles mentioned in the text.
What are camelCase, snake_case and kebab-case?
They join words without spaces so a phrase can be used as a name in code. camelCase capitalizes each word after the first (xmlHttpRequestParser), snake_case joins lowercase words with underscores (xml_http_request_parser) and kebab-case with hyphens (xml-http-request-parser). Python's PEP 8 style guide uses snake_case for function and variable names; kebab-case appears in CSS property names such as background-color and in URLs.
Why does ß become SS in upper case?
The Unicode Standard's default full case mapping, listed in SpecialCasing.txt, maps the German sharp s (ß) to the two letters SS, so "straße" (6 characters) becomes "STRASSE" (7). A capital sharp s, ẞ, was added in Unicode 5.1 in 2008, but the default uppercase mapping still gives SS. The character count here is for the text you typed.
Does the character count include spaces?
Yes. Characters counts everything you typed, spaces and punctuation included, and the chart splits the total into uppercase and lowercase letters, digits, spaces and other characters. The default sentence has 43 characters: 35 lowercase letters and 8 spaces. Each Unicode code point counts once, so some emoji count as two. Words are runs of text between spaces that contain a letter or digit.
This calculator includes 6 worked examples with independently sourced answers. They run in the test suite, and you can run them here too.
Put this calculator on your site
Paste this where you want the calculator to appear. It is free to use, it stays in step with corrections made here, and the credit line below it links back so your readers can find the full version.