Capitalize every word

Capitalize words rewrites the first letter of every word in your text without touching the letters that follow. Paste hello world and get Hello World. Unlike title case, this transform leaves the rest of each word untouched, so a word you typed as iPhone stays IPhone unless you add it to the ignore list. Use Ignore to protect brand spellings from any change at all.

Input
Line 1:1 LF cloud_done Saved locally
Result Capitalize Words
0 lines 0 chars

Word-start capitalisation, no second-letter rules

Capitalize words is the simplest of the per-word case tools. The engine matches every word boundary with /\b\w/g and uppercases the character it finds there. The rest of each word is left exactly as you typed it. hello WORLD becomes Hello WORLD; the second word stays shouty because the engine never touches characters past the first.

Compare with title case, which lowercases the rest of each word and adds rules for acronyms and connector words. Compare with sentence case, which capitalises only the first letter of each sentence. Capitalize words sits in between: every word's first letter, no second-letter rewriting.

Ignore takes a comma-, semicolon-, or space-separated list of words. Any word in the input that matches an ignore-list entry (case-insensitively) is returned exactly as you typed it. This is the right place to protect brand names like iPhone, eBay, iOS, where the second letter is the capital and you do not want the engine flipping it.

How to use capitalize every word

  1. 1Paste or type your text into the input panel on the left.
  2. 2The result updates as you type: every word's first letter is capitalised.
  3. 3Type any brand names you want left alone into Ignore, separated by commas or spaces (e.g. iPhone, eBay, iOS).
  4. 4Click Copy in the output header to copy the result.
  5. 5Click Download to save the result as a plain-text file.

Keyboard shortcuts

Drive TextResult without touching the mouse.

Shortcut Action
Ctrl FOpen the find & replace panel inside the input Plus
Ctrl ZUndo the last input change
Ctrl Shift ZRedo
Ctrl Shift EnterToggle fullscreen focus on the editor Plus
EscClose find & replace, or exit fullscreen
Ctrl KOpen the command palette to jump to any tool Plus
Ctrl SSave current workflow draft Plus
Ctrl PRun a saved workflow Plus

What this tool actually does

Word-boundary detection with \b

The engine matches /\b\w/g, which finds every transition from non-word to word character. The character at that transition is uppercased; the rest of the word is left as-is. Apostrophes count as non-word, so don't capitalises both D and T as separate "words".

Rest-of-word untouched

Capitalize words never lowercases a non-leading character. hello WORLD becomes Hello WORLD. iPhone becomes IPhone (because the leading i is uppercased to I, and the P already inside is left alone). If you want full title-case rewriting, use title case.

Ignore word list

A free-text field that accepts a comma-, semicolon-, or space-separated list. Each entry is matched case-insensitively against every word in the input. Matches return verbatim, perfect for brand names like iPhone, eBay, iOS, npm, jQuery where the second-letter capital matters and you do not want the leading lowercase rewritten.

Apostrophes split words

Because \b sees apostrophe as a word boundary, don't is treated as two words and produces Don'T. To avoid that, add the contraction to Ignore or use title case, which uses \w\S* and keeps contractions intact.

Diacritics preserved

Word-leading accented letters capitalise correctly. élève becomes Élève, accent intact. The rest of the word is unchanged.

Worked example

Note QUICK stays in caps because the engine only rewrites the first letter. Add iPhone, eBay to Ignore and the second line becomes iPhone And eBay Are Brands with the brand spellings intact.

Input
hello world
iphone and ebay are brands
the QUICK brown fox
Output
Hello World
Iphone And Ebay Are Brands
The QUICK Brown Fox

Settings reference

Setting Effect on output
Ignore Comma-, semicolon-, or space-separated word list. Each match is returned exactly as typed in the input. Empty by default.
Word-leading letter Uppercased via toUpperCase().
Rest of word Pass through. hello WORLD -> Hello WORLD.
Apostrophes Treated as a word boundary. don't -> Don'T unless added to Ignore.
Punctuation and digits Pass through. Punctuation acts as a word boundary; digits at the start of a "word" are not changed (digits have no case).
Whitespace and line endings Unchanged. LF stays LF, CRLF stays CRLF.

FAQ

How is this different from title case?
Capitalize words only rewrites the first letter of each word. Title case also lowercases the rest of each word and adds toggles for acronym preservation, force-caps, ignore lists, and per-line headlines. Pick capitalize words when you have mixed-case input you want to preserve and only need the leading letters fixed.
Why is iPhone becoming IPhone?
The engine uppercases the first letter (i -> I) but leaves the rest as typed (Phone). That gives IPhone. Add iPhone to Ignore to protect the brand spelling, or use title case with Force Caps if you want full title-case rewriting.
Why does don't become Don'T?
The regex \b\w sees the apostrophe as a word boundary, so don't is treated as two short words: don and t. Add don't to Ignore, or switch to title case which uses \w\S* and keeps contractions whole.
Will it lowercase shouty input first?
No. Capitalize words only touches the leading letter. HELLO WORLD stays HELLO WORLD. To flatten shouty input, run lowercase first then capitalize words second.
Is the output sent anywhere?
No. The transform runs entirely in your browser via JavaScript. Nothing is uploaded, nothing is logged.