utilime

Small tools that finish the job.

Convert text between cases

Ten casings of the same text, side by side. Title case follows a real style guide rather than capitalising every word.

Drop a file hereor click to choose · it stays on your device

How it works

Two of these ten conversions are arithmetic on code points. The other eight carry editorial rules, language rules, or both, and that is where converters quietly disagree with each other. All ten run together here rather than hiding behind a dropdown, because comparing them is most of the reason to open a case converter at all.

Title case is a published style, not a rule of thumb

Capitalising every word is not title case. Under all three styles offered here, articles and short function words stay lowercase unless they open or close the title. The Lord of the Rings carries three lowercase words. A tool that hands back The Lord Of The Rings has produced something no copy editor would pass, and most free converters do exactly that.

The three styles genuinely differ. Chicago lowercases every preposition whatever its length, giving Gone with the Wind. Associated Press capitalises anything of four letters or more, giving Gone With the Wind. APA matches AP on that threshold but has no rule protecting the final word, so What Are You Waiting For keeps its capital under Chicago and AP while APA leaves it lowercase.

What the stop list holds

Three articles: a, an, the. Seven coordinating conjunctions: and, but, for, nor, or, so, yet. Around seventy prepositions running from aboard to without. Chicago applies that whole preposition list; AP and APA apply only its members of three letters or fewer, leaving with, from, over, into capitalised. A word already carrying capitals is left as typed, so NASA survives and iPhone keeps its lowercase opening. Hyphenated compounds get the rule applied to each part, turning stand-in into Stand-in while self-portrait becomes Self-Portrait.

Acronyms decide what camelCase looks like

Hand parse HTML string to a naive camel converter and you get parseHtmlString. Google's Java and JavaScript guidance asks for exactly that, and the reasoning holds: demoting an acronym to an ordinary word keeps every word boundary visible, so XMLHTTPRequest never needs a second reading. The price is that HTML stops looking like HTML.

Keeping acronyms whole gives parseHTMLString, which is closer to ordinary C# and Objective-C. The toggle picks between them. One rule survives either setting: a leading acronym is folded, because camelCase has to open lowercase, so HTML parser lands on htmlParser both ways. PascalCase carries no such constraint and gives HTMLParser or HtmlParser as you choose. Output that is lowercase throughout cannot carry an acronym at all, so the underscore forms ignore the setting entirely.

Uppercasing is a language operation

German ß uppercases to SS, so Straße becomes STRASSE and the trip back is lost: nothing in STRASSE records which pair of letters used to be one character. That mapping turned out to be unconditional rather than German-specific, which is worth knowing if you were expecting a language control to govern it. Setting one makes no difference to ß.

Turkish is where the language really does matter. Its alphabet holds a dotted i alongside a dotless one, so İstanbul lowercases to istanbul under Turkish rules and to i̇stanbul everywhere else, that second form being a plain i with a combining dot after it. Two code points where you expected one. Azerbaijani behaves identically. Lithuanian keeps the dot on a lowercase i beneath an accent, so Ì comes back as three code points. Those are the only three languages the specification treats specially, so the control lists exactly them.

Sentence case has to find the sentences

Capitalising after every full stop breaks on the first abbreviation it meets. Mr. Tolkien began it would gain a capital on Began, and i.e. before the war would gain one in the middle of a clause. A boundary is refused here when the token before the stop is a known abbreviation, when it contains a stop of its own as e.g. and U.S. do, or when it is a single letter, which covers initials such as J. R. R. Tolkien.

About sixty abbreviations are recognised: courtesy titles, ranks, shortened months, the reference forms such as vol. or et al. A line break ends a sentence too, so a pasted list gets one capital per line. No splitter can know that Tolkien is a surname, so sentence case lowercases proper nouns it has no way to recognise. Tokens carrying internal capitals survive, which rescues acronyms but never names.

Questions

Why is your title case different from the one I am used to?

Most converters capitalise every word, which no style guide asks for. The stop list here is the real one: three articles, seven coordinating conjunctions, plus a preposition list of about seventy entries. If a result looks wrong, check whether the word is a preposition. Chicago lowercases those at any length, so Gone with the Wind is correct rather than a defect.

Which style should I choose?

Chicago for books and long-form writing, and for most publishing house styles. AP for news headlines and press copy. APA for academic work in psychology and the social sciences, where the same rules govern reference lists. If nobody has told you which applies, Chicago is the safer default for anything that is not a headline.

Why did my acronym come back lowercase?

One of three reasons. It opened a camelCase string, which must start lowercase. Or the output was snake_case, kebab-case or dot.case, each of which has one letter case throughout. Or the whole input had no lowercase letters, so it was read as a shouted headline and folded down first; turn off that toggle if your input is a list of acronyms.

Can it tell that a word is a name?

No, and nothing working on text alone can. Sentence case lowercases everything after the opening word except tokens that already carry unusual capitals, so NASA and iPhone survive while Tolkien and Paris do not. Repair names by hand afterwards, or use title case, which capitalises every word absent from the stop list and so keeps names intact at the cost of capitalising ordinary nouns.