Case converter
MDV ToolsPaste text and pick a case.
How this works
UPPER and lower call the engine's toUpperCase and toLowerCase on the
whole text. Title and Sentence also change letters where they stand. None of the four touches
anything but letters: line breaks, punctuation and spacing come out as they went in.
Title finds words, which are runs of letters, digits and combining marks with ' or
’ allowed between two of them, so dog's is one word. It uppercases the
first character of each word and lowercases the rest, so NASA becomes
Nasa, iPhone becomes Iphone and 1st stays
1st. There is no list of small words to leave lowercase, because that list differs by
style guide.
Sentence lowercases everything, then capitalises a letter that opens the text or follows
., ! or ? and a space. Closing quotes or brackets may sit
between the mark and the space, and opening quotes, brackets, ¿ and ¡
in front of the letter are skipped. A sentence that opens with a digit gets no capital. An
abbreviation such as e.g. ends a sentence too, and proper nouns are not recognised,
so they come out lowercase.
camelCase, PascalCase, snake_case, kebab-case and CONSTANT_CASE rebuild the text from its words
and drop every other character, punctuation included. Words split at any character that is not a
letter, digit or combining mark (Unicode-aware, \p{L}, \p{N},
\p{M}) and where a lowercase letter or digit meets a capital, so
aerialScrew becomes two words and HTTPServer becomes HTTP
and Server. A lone s after capitals stays with them, so
userIDs becomes user_ids. An apostrophe between letters is dropped
without splitting the word, so don't stop becomes dontStop. Text with no
letters or digits leaves nothing to rebuild, and the page says so.
With "one result per line" on, Sentence and the identifier cases convert each line on its own, so a list stays a list and every line starts a sentence. Off, the whole text is one word sequence and a line break does not start a sentence. UPPER, lower and Title give the same result either way.
Casing uses the default locale rules, so Turkish dotless ı and German ß
follow Unicode's language-neutral mapping (ß uppercases to SS). Input above
2,000,000 characters is refused rather than attempted, so the tab never hangs. Nothing is uploaded:
there is no server in this file.
The Dark button remembers its setting in this browser's local storage. Nothing you type or drop into the page is stored.