Convert text to Title Case

Title case capitalises the first letter of every word and lowercases the rest. Paste any text and the result updates as you type, with toggles to keep ALL CAPS acronyms (NASA, HTML), force specific words (iPhone, JavaScript), or skip words you want left alone (and, of, the). Switch to sentence case if you only want the first letter of each sentence.

Input
Line 1:1 LF cloud_done Saved locally
Result Title Case
0 lines 0 chars

Title case with rules you control

Title case takes a string like the quick brown fox and returns The Quick Brown Fox. The simple rule (capitalise word boundaries, lowercase everything else) works for most prose, but it breaks on acronyms, brand names, and short connector words. The four toggles in the action bar let you encode the rules you actually want.

Keep CAPS protects ALL CAPS tokens longer than one character. Turn it on (the default) and NASA, HTML, USA stay upright instead of being flattened to Nasa, Html, Usa. Force Caps takes a comma- or space-separated list of words that should always be title-cased even if you typed them in lowercase or mid-cap (useful for iphone -> Iphone, or any brand you keep lowercase by accident).

Ignore takes another word list. Words on this list keep whatever case they came in with, so a list like and, of, the lets you write a heading The Lord of the Rings without the engine fighting you over the connectives. Turn on Per Line when each line is its own headline; the case rules then reset at every newline instead of running across the whole block.

How to use convert text to title case

  1. 1Paste your text into the input panel on the left.
  2. 2Tick or untick Keep CAPS in the action bar to control whether ALL CAPS tokens stay upright.
  3. 3Type any always-cap brand names into Force Caps, separated by commas or spaces.
  4. 4Type any never-touch words into Ignore. Lower-case connector words like and, of, the are typical here.
  5. 5Toggle Per Line if each line should be treated as its own headline.

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

The engine matches \w\S* in JavaScript: every run of letters/digits/underscore that starts at a non-word boundary. Each match has its first character uppercased and the rest lowercased, with overrides applied in order.

Keep CAPS preserves acronyms

When the toggle is on (the default), any token that is already entirely uppercase and longer than one character passes through untouched. NASA released the API stays NASA Released The API instead of becoming Nasa Released The Api. Single letters still title-case so a stray I stays an I.

Force Caps word list

The text field accepts a comma-, semicolon-, or space-separated list. Each entry is matched case-insensitively against every word in the input. Matches are forced to Capitalised regardless of how you typed them. Useful for brands you keep lowercase: type iphone, css, javascript and the engine title-cases them on every run.

Ignore word list

A second word list, same syntax. Words on this list are returned exactly as you typed them (no case change at all). Use it for connector words in headline rules: and, of, the, in, for, on stay lowercase mid-title.

Per Line for stacked headlines

When the toggle is off the engine treats the whole input as one paragraph. Turn it on and the input is split on \r?\n, each line is title-cased independently, and the lines are rejoined with \n. Use it when you have one headline per line and want each treated as a fresh title.

Worked example

With Keep CAPS on, NASA survives. Add iphone, css to Force Caps and the second line becomes NASA Released The IPhone CSS Build; add of, the to Ignore and the third line becomes The Lord of the Rings.

Input
the quick brown fox
NASA released the iphone css build
the lord of the rings
Output
The Quick Brown Fox
NASA Released The Iphone Css Build
The Lord Of The Rings

Settings reference

Setting Effect on output
Keep CAPS On (default): tokens that are already ALL CAPS and longer than one character pass through. Off: every token is title-cased, so NASA -> Nasa.
Force Caps Comma-, semicolon-, or space-separated word list. Each match is rewritten as Capitalised regardless of source case. Empty by default.
Ignore Comma-, semicolon-, or space-separated word list. Matches keep whatever case they had in the input. Empty by default.
Per Line Off (default): the whole input is one block. On: each line is title-cased independently, useful for stacked headlines.
Punctuation and digits Pass through unchanged. Apostrophes inside words are treated as part of the same word, so don't becomes Don't, not Don'T.
Whitespace and line endings Unchanged. LF stays LF, CRLF stays CRLF.

FAQ

How do I keep ALL CAPS acronyms upright?
Leave Keep CAPS on (the default). Tokens longer than one character that are already entirely uppercase pass through, so NASA, HTML, USA, API stay as you typed them. Turn the toggle off if you want every word title-cased without exceptions.
How do I lowercase connector words like "of" and "the"?
Type the connector words into Ignore, separated by commas or spaces (e.g. and, of, the, in, for). Words on the list are returned in whatever case you typed them, so write the input in lowercase and the output keeps them lowercase mid-title.
Can I force a brand like iPhone to capitalise correctly?
Add it to Force Caps. Matches are rewritten as Iphone. The engine does not handle internal caps (iPhone exactly) automatically; for that, run the result through find and replace after.
Why is my heading per-line not working?
Turn on Per Line in the action bar. With it off, the engine treats the whole input as one paragraph; with it on, every newline starts a fresh title.
Does it follow APA / Chicago title-case rules?
Not on its own. The base rule capitalises every word. To approximate APA or Chicago style, add the connector words to Ignore (a, an, and, as, at, but, by, for, in, of, on, or, the, to, up) and the engine will leave them lowercase.