Runs in your browser · text never leaves this device
Case Converter
Change text to upper, lower, title or sentence case — with AP or Chicago headline rules — or to camelCase, snake_case and other programming styles. Unicode-aware, live and private.
How each conversion works
Title case rules
- The first and last word, and the first word after a colon, dash or end of sentence, are always capitalised.
- AP lowercases: a, an, and, as, at, but, by, for, in, nor, of, off, on, or, out, per, so, the, to, up, v, via, vs, yet.
- Chicago lowercases a, an, the, and, but, for, or, nor, and every preposition (about, through, without, between…).
- Hyphenated words are capitalised part by part: State-of-the-Art.
- Words already in capitals (NASA) are kept when “Keep ALL-CAPS words” is ticked — unless the whole text is in capitals.
Worked examples
- Sentence case:HELLO THERE. i think THIS works! does it? → Hello there. I think this works! Does it?
- German upper case:straße → STRASSE
- Turkish upper case:istanbul → İSTANBUL
- Programming cases split on spaces, punctuation and camel humps, so “XMLHttpRequest”, “xml http request” and “xml_http_request” all give the same words.
Every case, one example
Input: the state of the art in XML parsing (with “Keep ALL-CAPS words” on).
| Case | Result |
|---|---|
| UPPER CASE | THE STATE OF THE ART IN XML PARSING |
| lower case | the state of the art in xml parsing |
| Title Case | The State of the Art in XML Parsing |
| Sentence case | The state of the art in XML parsing |
| Capitalized Each Word | The State Of The Art In XML Parsing |
| aLtErNaTiNg | tHe StAtE oF tHe ArT iN xMl PaRsInG |
| InVeRsE | THE STATE OF THE ART IN xml PARSING |
| camelCase | theStateOfTheArtInXmlParsing |
| PascalCase | TheStateOfTheArtInXmlParsing |
| snake_case | the_state_of_the_art_in_xml_parsing |
| CONSTANT_CASE | THE_STATE_OF_THE_ART_IN_XML_PARSING |
| kebab-case | the-state-of-the-art-in-xml-parsing |
| dot.case | the.state.of.the.art.in.xml.parsing |
| path/case | the/state/of/the/art/in/xml/parsing |
| Train-Case | The-State-Of-The-Art-In-Xml-Parsing |
AP vs Chicago title case
| Input | AP | Chicago |
|---|---|---|
| a guide through the woods | A Guide Through the Woods | A Guide through the Woods |
| life without a phone | Life Without a Phone | Life without a Phone |
| fast yet simple | Fast yet Simple | Fast Yet Simple |
| what are you looking at | What Are You Looking At | What Are You Looking At |
Style rules summarised from the AP Stylebook and The Chicago Manual of Style headline-style capitalization guidance. Automatic title case can't tell a preposition from an adverb (“look up” vs “up the hill”), so check the result.
Frequently asked questions
What is the difference between AP and Chicago title case?+
Both capitalise the first and last word and lowercase articles (a, an, the) and short conjunctions. AP lowercases only prepositions of three letters or fewer, so “Through”, “Without” and “About” are capitalised. Chicago lowercases every preposition regardless of length (“through”, “without”), but capitalises “Yet” and “So”, which AP lowercases.
How does sentence case work here?+
The text is lowercased, then the first letter of the text, of each new line, and of each word after a full stop, question mark or exclamation mark is capitalised. The pronoun “I” (and I'm, I'll, I've, I'd) stays capital. Proper nouns can't be detected, so names like “london” need fixing by hand — tick “Keep ALL-CAPS words” to protect acronyms such as NASA.
Why does ß become SS in upper case?+
Unicode's standard uppercase of the German ß is “SS”, so “straße” becomes “STRASSE” and the text gets longer. A capital ẞ exists (U+1E9E) but isn't the default mapping.
What do camelCase, snake_case and kebab-case mean?+
They're naming styles for code and URLs. camelCase joins words with each new word capitalised (userAccountId); PascalCase also capitalises the first (UserAccountId); snake_case joins lowercase words with underscores (user_account_id); CONSTANT_CASE is the uppercase version; kebab-case uses hyphens (user-account-id), common in URLs and CSS. Each line of your input becomes one identifier.
Does it handle accented letters and other alphabets?+
Yes. Conversions use Unicode case rules, so é ↔ É, Greek and Cyrillic work, and accented letters are kept in camelCase and snake_case rather than stripped. Tick the Turkish option for dotted İ and dotless ı: “istanbul” becomes “İSTANBUL”.
Is my text sent anywhere?+
No. Conversion happens in your browser as you type; nothing is uploaded or stored. Download .txt saves the result straight from your browser.