Text Case Converter
Convert headings and identifiers with acronym preservation, language options, and line-by-line controls.
Runs locally in your browser. Nothing is uploaded or sent to a server.
Paste text into Input and click a case button to get uppercase, lowercase, a heading, or an identifier in Converted Output. Choose from 15 formats, with Keep acronyms enabled for Title, Sentence, AP Title, and Chicago. Import UTF-8 TXT files up to 5 MiB, preserve separate entries with Line-by-Line, or select Turkish-aware UPPER and lower. Find & Replace runs before cleanup and conversion. Processing stays in your browser; copy or download the result.
Updated
Related Tools
Character Counter
Count visible characters and UTF-8 bytes, with a letter, digit, space, and symbol breakdown.
text-toolsWord Counter
Count your draft with optional citation and parenthesis exclusions, then track a word goal.
developer-toolsJSON Formatter
Beautify or minify JSON, inspect its structure, and copy or download the result in your browser.
text-toolsEmoji Picker
Search 200 emojis, choose skin tones, and save reusable sequences locally in your browser.
text-toolsBionic Reading Converter
Bold word beginnings, clean pasted PDF text, and compare the result with your original.
text-toolsLorem Ipsum Generator
Set an exact word count, generate paragraphs or lists, and copy plain text or HTML.
How Do You Convert Text and Check the Result?
Paste text into Input and click a case button to see it in Converted Output immediately. For a heading, start with the NASA mission: a guide to XML. Leave Keep acronyms checked and space cleanup off. The examples below use the same source so you can compare capitalization and separator changes before copying the result.
| Button | Converted output |
|---|---|
| UPPER | THE NASA MISSION: A GUIDE TO XML |
| Title | The NASA Mission: A Guide To XML |
| Sentence | The NASA mission: a guide to XML |
| AP Title | The NASA Mission: a Guide to XML |
| snake_case | the_nasa_mission:_a_guide_to_xml |
The colon survives even in snake_case: developer formats replace selected separators rather than stripping every punctuation mark. The table also shows that AP Title does not automatically capitalize the word after a colon. Review headings and identifiers in their intended context instead of treating conversion as proofreading or syntax validation.
Which Case Formats Are Available?
The 15 buttons are organized into four groups. Basic contains UPPER, lower, Title, and Sentence. Developer contains camelCase, PascalCase, snake_case, kebab-case, CONSTANT, dot.case, and path/case. Style Guide offers AP Title and Chicago. Fun contains aLtErNaTiNg and iNVERSE. Choose a format according to whether you need readable prose, a joined identifier, or a decorative change.
UPPER and lower preserve punctuation and whitespace unless another option changes them first. CONSTANT joins uppercase words with underscores. Alternating case starts with a lowercase ASCII letter and switches case for each subsequent ASCII letter; spaces, numbers, and other characters do not advance the alternation. Inverse toggles characters using Unicode uppercase and lowercase methods. Neither decorative format understands sentence structure.
How Do Title, Sentence, AP Title, and Chicago Differ?
Title capitalizes matched words while keeping punctuation, separators, and spacing. Sentence capitalizes only the first matched word and lowercases later words. It does not restart after a full stop, question mark, or exclamation mark. Leading quotation marks and digits do not prevent the first letter word from being capitalized. Proper names need manual review because the converter has no dictionary of people or places.
Keep acronyms starts enabled and preserves words made entirely of at least two uppercase letters in these four formats. Thus NASA and XML stay uppercase. This also preserves ordinary all-capital words such as HELLO; turn it off when normalizing an entire passage typed in capitals. The option does not preserve internal styling in names such as iPhone, and it does not affect developer formats.
AP Title and Chicago lowercase words from different built-in lists, except the first and last matched words. For example, a walk through the park becomes A Walk Through the Park with AP Title and A Walk through the Park with Chicago. These are list-based approximations, not complete implementations of the AP Stylebook or The Chicago Manual of Style: they do not analyze a word's grammatical role.
How Can You Convert Identifiers Without Losing Separate Lines?
Developer formats split at whitespace, underscores, hyphens, dots, slashes, and ASCII case boundaries. They recognize both a lowercase-to-uppercase transition and an uppercase run before a capitalized word. For example, getUserById becomes get_user_by_id, while XMLParser becomes xml_parser. Digits are not separate word boundaries: version2Value becomes version2value.
Enable Line-by-Line for a list. Input containing first name and last name on separate lines produces separate first_name and last_name entries in snake_case. Without that option, the result is one identifier: first_name_last_name. Blank lines and the original CRLF, LF, or CR separators remain when converting independently. The option also restarts Sentence capitalization and alternating case on each nonempty line.
Convert names rather than complete source files. The tool does not validate identifiers for any programming language, remove all punctuation, or protect quoted strings and comments. Likewise, path/case joins words with slashes; it does not check filesystem rules or create folders.
When Should You Select a Language or Clean Spaces?
Language for UPPER / lower offers Default Unicode, Turkish, Azerbaijani, and Lithuanian. Turkish and Azerbaijani distinguish dotted and dotless I: uppercase i ı becomes İ I, and lowercase I İ becomes ı i. Lithuanian uses locale-aware casing too. The selector affects only UPPER and lower; it does not change Title, Sentence, or identifier conversion.
Clean spaces (keep line breaks) removes indentation and trailing horizontal whitespace from each line and collapses repeated horizontal whitespace, including tabs, to a single space. It retains paragraph separators rather than flattening the document. Leave cleanup off when tab alignment matters. Title already preserves line breaks; Line-by-Line is needed there only if you want each line processed independently, especially for first-and-last-word rules in editorial titles.
In What Order Do Find and Replace and Conversion Run?
Find & Replace applies literal, case-sensitive, non-overlapping replacements first. Space cleanup runs next, followed by the chosen case conversion, optionally per line. Searching for a period therefore matches a period rather than any character. Replacement strings such as $& are inserted literally. An empty Find field changes nothing, and the match count describes the original input.
For example, replace draft with final copy in draft report and choose snake_case: the result is final_copy_report. Closing the panel stops replacements while retaining its field values. The input stays available for comparison. Use Word Counter or Character Counter when reviewing a document's length alongside its capitalization.
What Are the Import, Export, and History Limits?
Import .txt reads one UTF-8 text file locally, up to 5 MiB (5,242,880 bytes). It accepts an optional UTF-8 byte order mark and empty files, but rejects malformed UTF-8 and null characters. Failed imports display an error and keep the previous input. There is no configured character cap for pasting, but conversion runs synchronously, so large documents can slow the page.
Both panels show words, characters, and lines. Words are whitespace-separated chunks; character counts use JavaScript string length, so an emoji may count as more than one character. Download saves converted-text.txt. Swap places the output in Input. History keeps five distinct nonblank snapshots from format changes, Swap, Clear, and imports; ordinary typing is not a complete undo history. Restoring text leaves current options active. Text and history live in memory and are cleared by a page reload.
How to Use Text Case Converter
-
Input
Paste or type into Input, choose Sample, or use Import .txt to open a UTF-8 text file up to 5 MiB.
-
Language for UPPER / lower
Choose a case button. For UPPER and lower, optionally select Turkish, Azerbaijani, or Lithuanian. Enable Clean spaces (keep line breaks) to trim each line and collapse repeated horizontal whitespace.
-
Line-by-Line
Enable Line-by-Line to convert list entries independently. Open Find & Replace to replace literal text before conversion; close the panel to stop applying replacements.
-
Converted Output
Copy the result, download converted-text.txt, or use Swap to place the result in Input. History keeps up to five distinct snapshots from case changes, Swap, Clear, and imports during the current session.