🔠 Change Case & Format Text
TextSorter Case Converter is a free online text manipulation utility that allows you to transform text between different capitalizations instantly
How to Change Text Capitalization
Our free case converter transforms text between different formats with a single click:
- Paste your content - Type or paste content into the editor above
- Select a case style - Click any button to convert
- Instant results - Your text is transformed immediately
- Copy or Download - Export converted text with one click
Case Format Reference
| Format | Example | Common Use |
|---|---|---|
| UPPERCASE | THE QUICK BROWN FOX | Headlines, acronyms, emphasis |
| lowercase | the quick brown fox | Emails, URLs, normalization |
| Title Case | The Quick Brown Fox | Titles, headlines, proper nouns |
| Sentence case | The quick brown fox. | Normal text, paragraphs |
| camelCase | theQuickBrownFox | JavaScript variables and functions |
| PascalCase | TheQuickBrownFox | Class names, React components |
| snake_case | the_quick_brown_fox | Python variables, database columns |
| kebab-case | the-quick-brown-fox | CSS classes, URLs, filenames |
Common Use Cases
💻 Programming & Development
Convert variable names between code conventions. Transform a simple description into camelCase, PascalCase, snake_case, or kebab-case for your code.
📝 Writing & Editing
Fix capitalization issues in documents. Convert UPPERCASE text to sentence case, or transform headlines to Title Case.
🔗 URLs & Filenames
Create URL-friendly slugs with kebab-case. Transform "My Post Title" into "my-post-title" for clean URLs.
📊 Data Cleaning
Normalize inconsistent data. Convert mixed-case entries to lowercase for easier comparison and deduplication.
Why Title Case Capitalizes Every Word (Even "The" and "Of")
The short version: the Title button has exactly one rule, capitalize the first letter of every word, with no dictionary of short connector words to skip. That is simpler than any published style guide.
the lord of the rings: a tale of two citiesThe Lord Of The Rings: A Tale Of Two CitiesThe button lowercases your entire text first, then walks it looking for the first letter of every word and capitalizing that one letter. Nothing else changes. There is no list of articles, conjunctions or short prepositions it knows to leave alone, so "Of", "The" and "A" get capitalized right alongside "Lord" and "Rings". If you have read a published headline or a book spine, that probably looks slightly off, because professional style guides do not capitalize every word in a title. AP style and the Chicago Manual of Style each carry their own exception list for short connector words, and the reference table further down this page breaks out how the two disagree with each other.
Punctuation can create a fake word for the button to capitalize. The rule that finds "the first letter of a word" fires on any letter that sits right after a non-letter character, including an apostrophe. Run don't stop believing through Title and you get Don'T Stop Believing, with a capital T sitting right after the apostrophe. That is not a bug in the traditional sense, it is the same word-boundary rule doing exactly what it does everywhere else, just landing somewhere you would not choose by hand.
For a fast, consistent starting point this works well: every word gets treated the same way, every time, with nothing left to guesswork. For a title heading into a publication with a house style, treat the output as a first pass and manually lowercase the short connector words, or fix the odd apostrophe capital, that your style guide calls for.
What Sentence Case Actually Capitalizes
More than just the first word: Sentence case capitalizes the first letter of the text, the first letter of every new line, and the first letter after a period, question mark or exclamation point. It has no idea what a proper noun or an acronym is.
Yesterday I visited NASA and MIT. It was fun.Yesterday i visited nasa and mit. It was fun.Notice what survived and what did not. "Yesterday" stays capitalized because it opens the text, and "It" stays capitalized because it follows a period. The pronoun "I" in the middle of the first sentence gets lowercased along with everything else, and so do the acronyms "NASA" and "MIT", because the button has no dictionary of acronyms, proper nouns or the English rule that the standalone pronoun "I" is always capitalized. It only knows two triggers: the very start of the text, and the character right after sentence-ending punctuation.
There is a second trigger most people do not expect. The pattern behind this button runs in multiline mode, so "the start of the text" really means the start of every line, not only the first one:
first sentence here.
second line, brand new paragraph.First sentence here.
Second line, brand new paragraph.Both lines start with a capital, even though the second line does not follow a period, question mark or exclamation point anywhere on the previous line. If your text is a list of separate lines rather than a flowing paragraph, that is usually exactly what you want. If it is a paragraph that happens to be word-wrapped with hard line breaks, each wrapped line will pick up a capital it would not get if the same text were one long line.
Acronyms and "I" are never restored automatically. Sentence case is genuinely useful for normalizing text that arrived in inconsistent or shouted capitalization, turning "THIS IS SO EXCITING PLEASE READ" into a normal-looking sentence, but plan on a quick read-through afterward to fix any acronym, brand name, proper noun or standalone "I" that the lowercase pass flattened.
Why Converting camelCase to snake_case Does Nothing
The splitter only looks for spaces, underscores and hyphens. It never checks for a lowercase letter sitting next to an uppercase one, so an already-cased identifier has no separators left for it to find.
myVariableNamemyvariablenameEvery code-case button, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, COBOL-CASE, dot.case, path/case and Train-Case, works the same two-step way: split the text into words, then rejoin those words using a different spacing and capitalization rule. The split step only breaks on runs of whitespace, underscores and hyphens. myVariableName contains none of those, so the splitter treats it as one single word, and every case button just relabels that one word instead of separating "my", "Variable" and "Name" first.
Start from a plain, space-separated phrase instead, and every code-case button splits and rejoins it correctly. One input, nine outputs:
| Button | Output for "user profile settings" |
|---|---|
| camelCase | userProfileSettings |
| PascalCase | UserProfileSettings |
| snake_case | user_profile_settings |
| kebab-case | user-profile-settings |
| CONSTANT_CASE | USER_PROFILE_SETTINGS |
| COBOL-CASE | USER-PROFILE-SETTINGS |
| dot.case | user.profile.settings |
| path/case | user/profile/settings |
| Train-Case | User-Profile-Settings |
Chaining conversions works, as long as separators survive. Converting a phrase to snake_case and then clicking kebab-case on the result still works, since the underscores left behind are valid split points for the next click. Converting to camelCase or PascalCase first removes every separator, so a second code-case click after that has nothing left to split.
Why German ß and Turkish I Don't Round-Trip Through Upper and Lower
Two alphabets, one casing rule. Upper and Lower use the browser's standard, locale-independent casing, which is right for English and most Latin-script languages but does not match German or Turkish casing rules in every case.
straßeSTRASSEThe letter ß (eszett, or sharp S) has no single-character uppercase form in standard casing rules, so converting it expands one character into two: "SS". That is correct and expected, and it is also why the uppercase text comes out one character longer than what you typed. The expansion only runs one way. Click Lower on that result and you get strasse, not the original straße, because nothing about the text records that the double S used to be a single ß.
Turkish runs into a different problem, sometimes called the Turkish I problem in software circles. Turkish treats dotted and dotless i as two separate letters, each with its own uppercase and lowercase pairing, and those pairings do not match English.
IiStandard lowercasing turns a capital I into a dotted lowercase i, correct in English, but Turkish expects an undotted capital I to lowercase into a dotless ı instead. The mismatch runs the other direction too: a plain lowercase i uppercases to a plain I here, while Turkish expects a dotted lowercase i to uppercase into a dotted İ. For English and nearly every other Latin-script language, neither of these ever comes up. For Turkish text specifically, review the output by eye rather than trusting the button.
Both quirks come from the same source. Upper and Lower call the browser's plain, locale-independent case conversion rather than a locale-aware one. That is the right default for the overwhelming majority of text this tool sees, and it is also why these two specific alphabets are worth knowing about before you rely on a round trip through both buttons.
Why iPhone Becomes Iphone in Title Case
Every button treats every letter the same way. Nothing on this page knows that "iPhone" is a brand name with a deliberately lowercase first letter, so a full-text conversion can quietly break it.
iPhoneIphoneLower and Upper leave brand names looking normal: iphone and IPHONE are both what you would expect. Title is where it breaks. The button lowercases the whole word first, then capitalizes only its very first letter, which erases the internal capital "P" along with the rest of the word's original styling. The same thing happens to any name that depends on internal capitalization: "eBay", "YouTube" and "PlayStation" all lose their styling the same way, because none of them survive a full-text case conversion intact.
Scan for brand names after converting a longer passage. It takes a few seconds to restore "iPhone", "eBay" or a similar name by hand, and it is the fastest way to catch what a full-text conversion cannot know to preserve.
Which Short Words Should Stay Lowercase in a Title
It depends which style guide you follow. AP style and the Chicago Manual of Style both lowercase short connector words in a title, but they disagree on exactly which words qualify and how long a word can be and still count as short.
| Style | Typical rule for short words | Common in |
|---|---|---|
| AP Style | Lowercase articles, coordinating conjunctions, and prepositions under four letters, unless first or last word | News writing, journalism |
| Chicago Manual of Style | Lowercase articles, coordinating conjunctions, and prepositions of any length, unless first or last word | Book publishing, academic writing |
| Sentence case | Capitalize only the first word and proper nouns; everything else stays lowercase | Modern web headings, UI labels, this site's own headings |
| Simple title case (this tool's "Title" button) | Capitalize every word, no exceptions | Quick, informal capitalization; a starting point before manual editing |
None of these conventions is more "correct" than another. They exist because different publishing traditions settled on different answers to the same question. Pick one convention for a given piece of writing, a blog, a book, a set of UI labels, and apply it consistently rather than mixing AP-style titles with Chicago-style ones across the same document. The Title button gives you the simplest of the four starting points in that table; getting to AP or Chicago style from there means manually lowercasing the specific short words that convention calls for.
What Each Stylistic Case Conversion Actually Does
Six novelty buttons reshape text for effect, not for grammar or code. Two of them work by inserting invisible Unicode marks rather than applying real bold, strikethrough or underline formatting, and that has consequences for where they will actually display correctly.
| Button | You paste | You get | How it works |
|---|---|---|---|
| sPongeBob (Mocking) | not a bug | nOt a bUg | Alternates lowercase and uppercase by character position, counting every character including spaces and punctuation. |
| Invert | Hello World | hELLO wORLD | Swaps each letter's case individually. Run it twice and you get the original text back. |
| 1337 Leet | elite status | 3l173 5747u5 | Substitutes six letters for lookalike digits: a4, e3, i1, o0, s5, t7. Every other letter passes through unchanged. |
| Fullwidth | Hi 5! | Hi 5! | Shifts ASCII letters, numbers and punctuation to their wide Unicode forms, and turns a regular space into an ideographic space. |
| Strikethrough | cancelled | c̶a̶n̶c̶e̶l̶l̶e̶d̶ | Inserts a combining long-stroke character after every visible character. |
| Underline | important | i̲m̲p̲o̲r̲t̲a̲n̲t̲ | Inserts a combining low-line character after every visible character. |
The sPongeBob pattern is easy to misread as random. It is not: character position zero, two, four and so on always comes out lowercase, and position one, three, five and so on always comes out uppercase, counted across the whole string including spaces. That is also why the same word can capitalize differently depending on how many characters come before it in the sentence.
Strikethrough and underline are not real text formatting. They work by stacking a Unicode combining character on top of each letter rather than applying bold, italic or strikethrough styling the normal way. Modern browsers and most chat and social apps render the effect correctly, but some older systems, plain-text editors and form fields strip or mangle combining characters, which can turn the effect into a wall of stray marks or drop it entirely. Paste into the destination and check before you rely on it.
Five Things People Actually Use This Tool For
Turning one UI label into every code case a project needs
Type a plain, human-readable phrase, "user profile settings," and run it through camelCase for a JavaScript variable, snake_case for a Python function or a database column, kebab-case for a CSS class or a URL slug, and CONSTANT_CASE for an environment variable, all from the same starting phrase instead of retyping it four times.
Cleaning up text copied out of a PDF
PDF text sometimes arrives in inconsistent capitalization, ALL CAPS headers mixed in with normal paragraphs. Lower case followed by a manual pass, or Sentence case followed by restoring any acronyms and proper nouns it flattened, is usually faster than retyping the passage from scratch.
Normalizing a column of data before deduplication
Converting a list of names or entries to Lower case before comparing it against another list is a common step in data cleaning, since it removes capitalization as a source of false "different" results before a deduplication or matching step runs elsewhere.
Drafting a headline before applying a house style
Use Title to get every word capitalized as a fast first pass, then manually lowercase the specific short connector words your style guide, AP, Chicago, or a house style of your own, calls for before publishing. The reference table above lists what each of those two style guides actually calls for.
Making a message stand out on a platform that renders Unicode
Fullwidth and 1337 leet both turn plain text into something visually distinct for a username, a bio line or a social post, without needing an image or a special font. Because both rely on standard Unicode characters rather than an image, the result copies and pastes as plain text anywhere Unicode is supported, though it is worth checking it displays correctly on the specific platform first.
Frequently Asked Questions
Related Text Tools
🔒 100% Private & Secure
All case conversions happen locally in your browser-your text is never uploaded to any server. We can't see, store, or access your data.