Capitalize Each Word
Capitalize the first letter of every word in your text.
The capitalize each word
Paste your text and every word gets a capital first letter while the rest stays as you typed it, with apostrophes handled correctly so don't becomes Don't; switch to Title case to keep short words such as a, of and to lowercase the way APA Style does, or pick Lowercase rest first to fix text typed in ALL CAPS.
About capitalizing each word
The WordBench capitalize each word tool uppercases the first letter of every word and leaves the rest of each word exactly as you typed it. Paste a heading, a list of names or a column of tags and copy back a version in which each word begins with a capital.
Contractions and possessives come out right. An apostrophe between two letters stays inside the word, so don't becomes Don't and jane's becomes Jane's, not Don'T and Jane'S. Spaces, hyphens, slashes, underscores, brackets and opening quote marks do start a new word, so state-of-the-art becomes State-Of-The-Art and 'quoted' becomes 'Quoted'.
Pick one of three styles above the text box. Capitalize Each Word is the default. Title case (APA) follows APA Style and keeps short articles, conjunctions and prepositions lowercase inside a title. Lowercase rest first flattens text that arrived in ALL CAPS before capitalizing; skip it when the text contains acronyms you want to keep. The style you pick is kept in the page link, so ?style=title opens the tool in title case.
Capitalize each word vs title case
Capitalize each word is mechanical: every word gets a capital, including a, of and the. It is what Word's Capitalize Each Word command and the PROPER function in Excel and Google Sheets do, and it suits names, tags, menu labels and any list where every word carries the same weight.
Title case is a style rule for titles and headings. APA Style capitalizes the first word of a title and of a subtitle, the first word after a colon, every word of four letters or more (With, From, Between) and every major word, which includes short verbs and pronouns such as Is, Be and It. Only minor words of three letters or fewer stay lowercase: the articles a, an and the, short conjunctions such as and, but, or and nor, and short prepositions such as at, by, in, of, on, to and via.
The Title case option applies those rules to each line separately, so a pasted list of headings converts in one go. It leaves acronyms and words with internal capitals, such as NASA and iPhone, exactly as typed. What it cannot do is read grammar: it lowercases up wherever it appears, so a phrasal verb such as Set Up needs a manual check.
Why don't turns into Don'T in other tools
A common way to find where a word starts is to look for any character that is not a letter. An apostrophe is not a letter, so the t in don't is taken as the start of a new word. Microsoft documents exactly that rule for Excel's PROPER function, which capitalizes the first letter and any letter that follows a character other than a letter: don't comes back as Don'T and it's as It'S.
Python's str.title() has the same habit, and the Python documentation says so with its own example, in which they're bill's friends from the UK comes back as They'Re Bill'S Friends From The Uk. In JavaScript the familiar /\b\w/g one-liner hits the same wall: MDN defines a word boundary as the point between a word character (A to Z, a to z, 0 to 9 and the underscore) and anything else, and an apostrophe is anything else.
WordBench starts a new word only after a space, a hyphen, a slash, an underscore, an opening bracket or a double quote, or at a single quote that itself follows one of those. An apostrophe between two letters stays inside the word. The one trade-off is a name such as O'Neil: type the second capital yourself and the tool keeps it, because it never lowercases a letter unless you pick Lowercase rest first.
How to capitalize each word in Excel, Google Sheets and Word
Excel: in an empty column, enter =PROPER(A2), fill it down, then copy the results and paste them over the originals as values. PROPER also lowercases every other letter, which is why Microsoft's own examples turn this is a TITLE into This Is A Title, 2-way street into 2-Way Street and 76BudGet into 76Budget. Contractions come back as Don'T, so check them afterwards.
Google Sheets: =PROPER(A2) works the same way. Google's help page recommends it for proper nouns such as names and places rather than paragraphs, and warns that it lowercases every letter that is not at the start of a word, so mcLeod comes back as Mcleod.
Word: select the text, go to Home > Change Case and choose Capitalize Each Word, or press Shift+F3 until that case appears. Microsoft notes that this option also lowercases the other letters of each word, and that Word for the web does not support changing case, so use the desktop app or paste the text here.
How to capitalize each word in CSS, Python and JavaScript
CSS: text-transform: capitalize uppercases the first letter of each word when the text is displayed. MDN notes that the other characters keep the case they were written in, and that punctuation and symbols at the start of a word are skipped, so the capital lands on the first letter or number. Because it is a style, use it for headings and buttons, and convert the text itself when the capitals have to end up in your data.
Python: str.title() capitalizes each word but treats apostrophes as word breaks, as shown above. string.capwords(s) avoids that because it splits on whitespace only. It capitalizes each word with str.capitalize(), which lowercases the rest of the word, and joins the words with single spaces, so runs of spaces collapse and leading and trailing spaces are removed.
JavaScript has no built-in method for this. A short regular expression that uppercases a letter at the start of the text or after whitespace avoids the apostrophe problem: text.replace(/(^|\s)(\p{L})/gu, (m, gap, letter) => gap + letter.toUpperCase()). The u flag lets \p{L} match any Unicode letter, where \w only matches A to Z, digits and the underscore.
The same text, capitalized four ways
Each row shows one input as this tool returns it with and without title case, next to what Excel's PROPER function returns for the same text.
| Input | Capitalize each word | Title case (APA) | Excel PROPER |
|---|---|---|---|
| the lord of the rings: a guide to words | The Lord Of The Rings: A Guide To Words | The Lord of the Rings: A Guide to Words | The Lord Of The Rings: A Guide To Words |
| don't stop, it's ACME | Don't Stop, It's ACME | Don't Stop, It's ACME | Don'T Stop, It'S Acme |
| state-of-the-art tools for NASA | State-Of-The-Art Tools For NASA | State-of-the-Art Tools for NASA | State-Of-The-Art Tools For Nasa |
| how to fix a title in excel | How To Fix A Title In Excel | How to Fix a Title in Excel | How To Fix A Title In Excel |
| QUARTERLY REPORT FOR GLOBEX | QUARTERLY REPORT FOR GLOBEX | Quarterly Report for Globex | Quarterly Report For Globex |
The Excel column follows Microsoft's documented rule for PROPER: a capital at the start and after any character that is not a letter, every other letter lowercase. Pick Lowercase rest first and the last row becomes Quarterly Report For Globex, the same as the Excel column but with apostrophes left intact.
Who uses it
Worked example
Start with the line "a quiet afternoon at globex HQ: don't miss it".
Capitalize each word returns A Quiet Afternoon At Globex HQ: Don't Miss It. Every word gets a capital, HQ keeps the capitals you typed, and the apostrophe in don't stays inside the word.
Title case returns A Quiet Afternoon at Globex HQ: Don't Miss It. The minor word at drops to lowercase, A keeps its capital because it opens the title, and Don't keeps its capital because it is the first word after the colon.
Frequently asked questions
What is the difference between capitalize each word and title case? Capitalize each word gives every word a capital, including a, of and the. Title case follows APA Style: articles, and conjunctions or prepositions of three letters or fewer, stay lowercase unless they start the title or a subtitle, and every other word is capitalized. Use title case for headlines and headings, and every-word capitals for names, tags and labels.
What is the difference between capitalize each word and title case?
Capitalize each word gives every word a capital, including a, of and the. Title case follows APA Style: articles, and conjunctions or prepositions of three letters or fewer, stay lowercase unless they start the title or a subtitle, and every other word is capitalized. Use title case for headlines and headings, and every-word capitals for names, tags and labels.
Does it lowercase the rest of each word?
Not by default. Only the first letter of each word changes, so acronyms such as NASA and any capitals you typed on purpose are kept. Pick Lowercase rest first when text arrived in ALL CAPS: it lowercases everything before capitalizing, so DON'T PANIC becomes Don't Panic, and acronyms then need fixing by hand.
Why does Excel turn don't into Don'T?
Excel's PROPER capitalizes every letter that follows a character other than a letter, and an apostrophe is not a letter. Python's str.title() does the same. This tool keeps an apostrophe between two letters inside the word, so don't becomes Don't, while a quote mark at the start of a word still counts, so 'quoted' becomes 'Quoted'.
How does it handle hyphenated words?
Each part of a hyphenated word counts as a word, so state-of-the-art becomes State-Of-The-Art. In title case the minor words inside the compound stay lowercase, giving State-of-the-Art, and the second part of a hyphenated major word is capitalized, as in APA's own example Self-Report.
Is there a shortcut for this in Word?
Yes. Select the text and press Shift+F3 until the case you want appears, or use Home > Change Case > Capitalize Each Word. Word's version also lowercases the other letters of each word. According to Microsoft, Word for the web does not support changing case.
Does it work with accented letters and other alphabets?
Yes. Any character Unicode classes as a letter can start a word, so école becomes École and über becomes Über. Text in scripts that have no capital letters passes through unchanged.
Is my text stored anywhere?
Nothing is uploaded: the conversion runs entirely in your browser. Your text is kept in this browser's local storage so it survives a refresh, and Clear removes it.
Sources
- PROPER function, Microsoft Support (Excel)
- PROPER, Google Docs Editors Help (Google Sheets)
- Change the capitalization or case of text, Microsoft Support (Word)
- text-transform, MDN Web Docs
- Word boundary assertion, MDN Web Docs
- str.title(), Python documentation
- string.capwords(), Python documentation
- Title case capitalization, APA Style
Exactly what this tool counts, and why the result can differ from your word processor, is written out on the methodology page. Platform character limits, with the unit each one counts in and the date it was checked, are on the character limits pages.
Related tools
Use the case converter for UPPERCASE, Sentence case or code names such as camelCase, and Slugify when the words are headed for a URL.