# Text Case Converter > Converts one box of text to UPPERCASE, lowercase, Title Case, Sentence case, aLtErNaTiNg case or inverted case, with a live character and word count and one click copy. The Title Case rule it applies is printed on the page in full, so an answer that looks wrong can be checked instead of guessed at. Free, no sign up. Everything runs in the visitor's browser. There is no account, no upload and no server side storage, and the text entered never leaves the page. ## The Title Case rule this page applies Title Case is the one genuinely ambiguous transform, because Chicago, AP, APA and MLA disagree with each other about prepositions and about hyphenated compounds. This page publishes its rule rather than hiding it behind a style menu, and the same array that the rule is rendered from is the array the code uses, so the documentation cannot drift away from the behaviour. 1. These twenty five words stay lowercase in the middle of a title, matched case insensitively: a, an, and, as, at, but, by, en, for, if, in, nor, of, on, or, per, so, the, to, v, v., via, vs, vs., yet. Longer prepositions such as about, after, between, from, into, over, than, with and without are capitalised, which is the Chicago and APA habit rather than the AP one. 2. The first and the last word are always capitalised, even when they are on that list. 3. The word after a colon, full stop, question mark, exclamation mark, semicolon or dash opens a new part and is capitalised. This outranks rule 1, so the full stop in "v." and "vs." also opens a new part. 4. Hyphen and slash compounds are split and run through rules 1 to 3 again, keeping the first and the last piece capitalised: state-of-the-art becomes State-of-the-Art, check-in becomes Check-In, and/or becomes And/Or. 5. A word that already carries a capital after its first character is left exactly as typed, so iPhone, macOS, JavaScript, NASA and McDonald survive unchanged. The one exception: if the whole input contains no lowercase letter at all, this protection is switched off and every word is re-cased, because in shouted text an acronym cannot be told apart from a shouted ordinary word. ## The other five transforms - UPPER CASE and lower case use the browser's own locale aware mapping. - Sentence case lowercases everything, then capitalises the first letter of the text and of each sentence, stepping over closing quotes and brackets, and restores the standalone pronoun I. Acronyms are not preserved, by design. - aLtErNaTiNg alternates lowercase and uppercase starting from lowercase, and only letters advance the toggle, so spaces and punctuation do not break the rhythm. - rEVERSE inverts the case of every letter and does not change the order of the characters. Applying it twice returns the original. ## Counting rules Characters are counted as Unicode code points, so one emoji counts once. The no spaces figure removes every whitespace character including tabs and line breaks. Words split on runs of whitespace after trimming, so a hyphenated compound is one word. Lines are line breaks plus one, and a trailing newline produces a final empty line that is counted. ## Pages - [Text Case Converter](https://text-case-converter.hdg-os.workers.dev/): the converter, the full Title Case rule with its word list and worked examples, the rules for the other five transforms, and the counting rules ## Optional - [robots.txt](https://text-case-converter.hdg-os.workers.dev/robots.txt): crawl rules for this host - [sitemap.xml](https://text-case-converter.hdg-os.workers.dev/sitemap.xml): the indexable URLs on this host - [Character Limit Checker](https://char-limit-checker.hdg-os.workers.dev/): sibling tool, counts a draft against each platform's own character limit rule - [Creator Payout Calculator](https://creator-payout-calc.hdg-os.workers.dev/): sibling tool, what a sale actually pays after platform, card and payout fees - [AI Crawler Checker](https://ai-crawler-checker.hdg-os.workers.dev/): sibling tool, reads a robots.txt and says which AI crawlers it admits - [Days Until](https://days-until.hdg-os.workers.dev/): sibling tool, counts the days to or from a date and states the counting rule it used