Text tools

Case converter for six letter case styles

This case converter changes text to six letter case styles: uppercase, lowercase, title case, sentence case, alternating case and swap case. It runs in your browser, keeps every space, tab and line break in place, and lets you copy or download the converted text as a UTF-8 file.

Choose a case

Choose a case, then convert your text.

Spaces, tabs and line breaks stay in place. Casing follows Unicode defaults and may change the number of letters. See the case rules below.

How to convert text case

Under Choose a case, pick one of six radio options: UPPERCASE, lowercase, Title Case, Sentence case, aLtErNaTiNg or sWAP cASE. You can change the choice between conversions without losing your text, since Convert text always starts fresh from the Your text box. Type or paste your text there, then select Convert text; a status line beneath the boxes reports when the conversion is complete, and says so when the output matches your input.

Converted text appears in the second box, Converted text. Select Copy text to copy the result, Download .txt to save it as a file named for the case, such as converted-upper.txt, or Use as input to move the result back into Your text for another pass with a different case. A Cancel button appears while a conversion is running and stops it without losing your input. Reset clears both boxes, releases the download link and returns the case choice to its starting value, UPPERCASE.

How title case and sentence case work

Title case lowercases the text first, then capitalizes the first letter of every word, including small words such as "and" and "the". Acronyms become ordinary words, so "NASA" becomes "Nasa". Words use Unicode letters and numbers, an internal straight or curly apostrophe stays inside a word so "DON'T STOP" becomes "Don't Stop", and hyphens or underscores separate words, so "high-speed rail" becomes "High-Speed Rail"; a word that starts with a digit stays lowercase because a digit has no case to capitalize.

Sentence case lowercases the text, then capitalizes the first cased letter at the start, after a line break, and after . ! ? followed by a space, or after the full-width marks 。!?. A full stop inside "3.14" or "example.com" does not start a new sentence. These are punctuation rules, not grammar rules, so abbreviations such as "e.g." and standalone "I" may need a manual fix afterward, and so may a proper noun mid-sentence, since "The Eiffel Tower is in Paris." becomes "The eiffel tower is in paris."

Alternating case, swap case and Unicode

Alternating case starts with a lowercase letter, then alternates upper and lower across cased Unicode code points; spaces, digits, punctuation and uncased letters do not advance the pattern, and the pattern continues across line breaks. For example, "Hello World" becomes "hElLo WoRlD": the space does not count, so the pattern continues across it. Swap case changes each cased code point to its opposite case, treating a titlecase letter as uppercase; Unicode expansions mean swapping the same text twice does not always restore the original letters.

Uppercase and lowercase use JavaScript's default Unicode case mappings, with no language-specific locale selected. "straße" becomes "STRASSE" under uppercase. A capital Σ (U+03A3) that ends a word, directly after another Greek letter, becomes the final form ς (U+03C2) wherever it is lowercased: in lowercase, Title Case, Sentence case, swap case and the lowercase turns of alternating case; UPPERCASE keeps Σ. Uncased scripts and almost all emoji and combining marks pass through unchanged; the converter does not transliterate or otherwise normalize your text.

Spacing, downloads and limits

Spaces, tabs, punctuation and line breaks are kept in the same order in every case choice; casing follows Unicode defaults and can change the number of letters a word uses, since some case mappings expand or split a code point. The download is plain UTF-8 text with LF line endings, and the converter adds no byte-order mark; pasting into the browser's text boxes already normalizes line endings to LF.

A tab or line break inside the text is preserved exactly, so a multi-line code snippet keeps its indentation. Only characters with both an upper and a lower form change. An empty box shows a message asking for text, but text made only of spaces or line breaks is accepted and comes back unchanged. The Converted text box is read-only, so make edits in Your text, or move the result there with Use as input first.

Questions

How do title case and sentence case differ?

Both start from an all-lowercase copy of your text. Title Case then capitalizes every word, and Sentence case capitalizes only the first word of each sentence. For "the quick BROWN fox", Title Case gives "The Quick Brown Fox" and Sentence case gives "The quick brown fox". Neither mode keeps an acronym in capitals.

What happens to Unicode and other languages?

No language setting is used, so Turkish text follows the general Unicode rules: "i" becomes "I", not the dotted "İ" that Turkish spelling expects. The Greek final sigma and the German "ß" follow the rules described above. Of the combining marks and emoji, only U+0345 and Ⓜ change: U+0345 becomes a Greek capital iota when uppercased, and Ⓜ becomes ⓜ when lowercased.

How do alternating case and swap case work?

Alternating case runs one pattern through the whole text, so whether a word starts upper or lower depends on the letters before it, not on the word itself. Swap case usually undoes itself when you apply it twice, but not always: swapping "Straße" gives "sTRASSE", and swapping that result again gives "Strasse", not the original "Straße".

Will spacing and formatting stay the same?

Spacing stays: indentation, tabs between columns and blank lines come out as they went in. Rich formatting does not, because both boxes hold plain text, so bold, fonts and links are lost when you paste from a word processor. Use as input carries the converted text back into Your text with the same spacing.

Is there a limit on how much text I can convert?

There is no fixed text-length cap on this converter, and it never truncates or samples your input; the practical limit is the memory available to your browser tab. Editing the input or choosing a different case clears the previous result and its download link, so an old result is never shown as current.

Does this tool have a camelCase or snake_case mode?

This converter has six case modes and no others. It has no camelCase, snake_case, PascalCase or kebab-case mode for programming identifiers: for example, "user name" becomes "USER NAME" or "User Name" here, never "userName". It does not add or remove punctuation, only change the casing of existing letters, so "order id" becomes "Order Id", not "orderId" or "order_id".