Case Converter
Two title-case standards, because the style guides disagree.
Runs locallyThe Quick Brown Fox Jumps Over the Lazy Dog. NASA Said the iPhone App Parses XMLHttpRequest Between Midnight and Dawn.
- Characters in / out118 / 118
- Words found22
- Length changenone
1 word(s) were left exactly as you spelled them.
2 all-caps word(s) were left alone. Turn that switch off if you want them treated like ordinary words.
Runs entirely in your browser — open DevTools and check the Network tab
Paste anything and switch it between fourteen styles, from plain uppercase to camelCase. The part worth reading before you click is that "title case" is not one thing: the Associated Press and the Chicago Manual of Style produce different answers for the same sentence, and almost every free converter picks one silently and never tells you which.
AP and Chicago give different answers, and both are correct
Take the phrase "a study between two cities". Set the style to AP and you get "A Study Between Two Cities". Set it to Chicago and you get "A Study between Two Cities". Neither is a bug. The two manuals define minor words differently, and they do it in structurally different ways, so no amount of care settles the argument.
The AP Stylebook uses a length rule: lowercase articles, conjunctions and prepositions of three letters or fewer, and capitalise everything from four letters up. That is why AP capitalises "Between", "Through" and "Against". The threshold is exposed here as a field, set to four, so you can see the rule rather than infer it.
The Chicago Manual takes the opposite approach. It lowercases prepositions regardless of how long they are, which is why Chicago writes "between", "throughout" and "underneath" in the middle of a title. Chicago works from a list of function words, not from a letter count, so no threshold applies to it at all.
Both manuals agree on one thing that most converters get wrong: the first and the last word of a title are always capitalised, whatever they are. "Something to Look Forward To" keeps that final "To" capitalised. This tool treats each line as its own title, so you can paste a list of headlines and have each one handled independently.
Which style guide your work actually follows
News organisations, press releases and most corporate communications follow AP. If you are writing something that a journalist might republish, AP is the safer default and it is the default here.
Academic publishing, university presses and most book publishing follow Chicago. If your document has footnotes and a bibliography, it very probably wants Chicago title case in the headings.
The web has no single answer. Many house styles use sentence case for headings precisely to sidestep this argument, and that is a defensible choice — sentence case is unambiguous, reads faster at small sizes, and never forces anyone to memorise a list of prepositions. If your team has no written style guide, sentence case is the option that generates the fewest arguments.
Capitalise Every Word is included because forms and spreadsheets frequently demand it, but no editorial style guide endorses it for prose. It capitalises "A", "The" and "Of" in the middle of a title, which reads as machine output rather than as edited text.
Uppercase is not the same operation in every language
Turkish has two separate letters where English has one. There is a dotted i with a dotted capital, and a dotless one with a plain capital. Uppercasing the Turkish city name "istanbul" with English rules produces ISTANBUL, which is wrong in Turkish; the correct result is a capital I with a dot on it. Set the language rules to Turkish and you get it. Azerbaijani uses the same pair of letters and the same rule.
Greek does something different. Greek typography drops the accent when a word is set in capitals, so the capital form of the word for Athens has no accent mark on it, while the default Unicode mapping keeps the accent. Choosing Greek in the language field applies the typographic convention rather than the naive letter-by-letter mapping.
Lithuanian keeps the dot on a lowercase i even when the letter also carries a grave or an acute, so lowercasing a capital Ì produces three separate pieces rather than one precomposed letter. That is the documented Lithuanian rule, and it is why the character count can change when you switch that field.
These are not exotic edge cases invented to look thorough. They are written into the Unicode standard as language-specific casing rules, and every browser implements them. What almost no converter does is let you choose one, which means a Turkish name pasted into an English tool comes back subtly wrong with no warning at all.
Changing case can change how long the text is
The German sharp s is a single lowercase letter with no single-letter capital in ordinary use, so uppercasing it yields two letters. A six-letter word becomes a seven-letter word, and lowercasing the result does not bring the original letter back. The length counter above shows that change as it happens.
Typographic ligatures behave the same way. The single character that joins f and i has no capital form, so uppercasing it produces two ordinary letters. Text copied out of a PDF frequently contains these ligatures without anyone noticing, which is how a word count can shift after a case change.
The Turkish capital I with a dot goes the other way when you lowercase it with English rules: it becomes a plain i followed by a separate combining dot, so one letter turns into two pieces that happen to look like one. If that string later gets compared against a plain "i", the comparison fails for reasons that are invisible on screen.
The practical conclusion is that case conversion is a one-way trip. Uppercasing and then lowercasing does not reliably return the text you started with, so it is worth keeping the original rather than assuming you can undo the operation later. That is also why this page has no swap button: there is nothing honest to swap back to.
Acronyms, brand names and the words you do not want touched
Run a sentence containing NASA through a naive sentence-case converter and it comes back as Nasa. The switch above leaves any word that arrived already in full capitals exactly as it was, which handles acronyms, ticker symbols and file format names without any configuration. Turn it off when you are deliberately normalising a shouty paragraph.
Brand names are harder, because they are not all-caps and they are not ordinary words either. A lowercase-first product name is a spelling, not a casing accident, and a converter that capitalises it has introduced an error into your copy. The protected words field takes a comma-separated list and puts back your exact spelling wherever a whole word matches, ignoring case while it searches.
Matching is on whole words, so a protected entry will not match inside a longer word. If you list a word and it appears nowhere in your text, the tool says so instead of quietly doing nothing — a settings box that has no effect and gives no feedback is worse than not having the box.
Identifier styles and the word-splitting problem underneath them
camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case and dot.case are all the same operation with different glue: find the words, then join them a particular way. Everything interesting happens in the first half.
The hard case is an existing identifier that already contains capitals. Splitting a name like XMLHttpRequest requires noticing that a run of capitals followed by a capitalised word is an acronym that ends one word early, giving XML, Http and Request rather than one undifferentiated blob. Converters that split only on a lowercase-to-uppercase boundary collapse the whole thing into a single lowercase word, which is why so many of them turn that name into an unreadable string.
Digits start a new word, so a version string keeps its number separate rather than gluing it to the preceding word. Chinese, Japanese and Korean text has no case at all, but it is still kept as a word so that a mixed-script line survives the round trip instead of losing characters.
One trade-off is deliberate and worth stating plainly: identifier styles rebuild the text from the words they found, so punctuation and line breaks are discarded. The other eight styles never touch your spacing, indentation or line structure. If you paste a formatted document and pick snake_case, you will get one long identifier, and that is the expected behaviour rather than a fault.
There are three cases, not two
A handful of Unicode characters have a distinct titlecase form that differs from both their uppercase and their lowercase form. The Croatian digraph for dž is the usual example: it has an all-capitals form, an all-lowercase form, and a third form with only the first element capitalised, and all three are separate characters with separate code points.
This matters less for everyday text than it does for anyone writing a converter, because it disproves the assumption that case is a boolean. A function that toggles between two states cannot represent the middle one, which is why the inverse-case style here operates per letter rather than pretending the whole string has a single case.
It also explains why the phrase "title case" is doing two unrelated jobs in typography. There is title case as an editorial convention — which words to capitalise in a heading, the AP and Chicago argument above — and titlecase as a Unicode character property. They share a name and nothing else.
The text stays in this tab
The conversion is a few hundred lines of JavaScript running inside the page you already have open. Nothing carries your text off this machine, for the plain reason that nothing on our side is listening for it. Press F12, put the request log where you can see it, then hold a key down in the input box: the output redraws on every repeat while that log sits perfectly empty.
Worth thinking about for a second: the text people push through a case converter is often a draft headline, an unannounced product name, a client list being reformatted, or a column of employee names out of a spreadsheet. Those are ordinary working documents rather than secrets, which is exactly why nobody thinks twice before pasting them into whichever result comes up first.
Load it once and your browser keeps a copy, so pulling the plug on your connection does not stop it converting. That is a satisfying way to settle the question for yourself, because software that keeps working in aeroplane mode has nowhere to send anything.
Frequently asked questions
AP or Chicago — which title case should I pick?
Pick AP for anything news-shaped, press releases and general business writing; pick Chicago for academic and book publishing. If nobody has told you which house style applies, AP is the more common default and it is preselected here. When the difference matters to a reviewer, they will have told you already.
Why did the letter count go up when I capitalised the text?
A few characters have no one-to-one capital. The German sharp s becomes two letters, and the ligature that joins f and i becomes two ordinary letters. The counter above reports the change so it does not surprise you later, and the note explains which characters were responsible.
Can I get the original back by converting in the other direction?
Not reliably. Uppercasing then lowercasing loses information whenever a character expanded on the way up, and it can never restore capitals that were meaningful in the original. Keep a copy of the source text rather than relying on a round trip; that is also why this page deliberately has no swap button.
How do I stop a lowercase brand name from being capitalised?
Put it in the protected words field, spelled the way you want it to appear, and separate multiple entries with commas. Matching ignores case while it searches, so you only have to type each name once, and the output uses your spelling. Entries only match complete words, never fragments inside longer ones.
What does the language rules field actually change?
It selects the language-specific casing rules defined by Unicode. Turkish and Azerbaijani swap the behaviour of the two i letters, Greek drops accents when capitalising, and Lithuanian keeps the dot on a lowercase i under an accent. Every other letter converts exactly as it does under the default rules.
Why did snake_case throw away my paragraph breaks?
The six identifier styles rebuild the output from the words they detected, so spacing and punctuation have nowhere to go. That is intended: an identifier containing a line break is not an identifier. Uppercase, lowercase, sentence case, both title styles, capitalise-every-word, alternating and inverse all preserve your layout untouched.
How much text can I paste in at once?
None that we impose. The ceiling is whatever your device can comfortably hold in memory, since the whole string stays in the browser tab. A phone will slow down on a very large document sooner than a laptop will, and the conversion re-runs on every keystroke.


