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
- 1Paste your text into the input panel on the left.
- 2Tick or untick Keep CAPS in the action bar to control whether ALL CAPS tokens stay upright.
- 3Type any always-cap brand names into Force Caps, separated by commas or spaces.
- 4Type any never-touch words into Ignore. Lower-case connector words like
and, of, theare typical here. - 5Toggle Per Line if each line should be treated as its own headline.
Keyboard shortcuts
Drive TextResult without touching the mouse.
| Shortcut | Action |
|---|---|
| Ctrl F | Open the find & replace panel inside the input Plus |
| Ctrl Z | Undo the last input change |
| Ctrl Shift Z | Redo |
| Ctrl Shift Enter | Toggle fullscreen focus on the editor Plus |
| Esc | Close find & replace, or exit fullscreen |
| Ctrl K | Open the command palette to jump to any tool Plus |
| Ctrl S | Save current workflow draft Plus |
| Ctrl P | Run 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.
the quick brown fox NASA released the iphone css build the lord of the rings
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?
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"?
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?
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?
Does it follow APA / Chicago title-case rules?
a, an, and, as, at, but, by, for, in, of, on, or, the, to, up) and the engine will leave them lowercase.