Case Converter
Paste your text and pick a case. The result updates at once, in any of 12 cases from sentence case and title case to camelCase, snake_case and CONSTANT_CASE.
0 words 0 characters 0 lines
Continue with this text: Title case (AP, Chicago, MLA)Word counterRemove extra spaces
Your text stays in your browser: nothing is uploaded or stored on a server.
How to use the case converter
- Paste or type your text in the box, or use Open file for a .txt, .csv or .md file. Example loads a sample.
- Under Convert to, pick one of the 12 cases. The result updates as soon as you choose or type.
- Click Copy or Download .txt to take the result with you.
- To chain two conversions, click Use as input: the result moves to the input box and you can pick another case. Undo brings the earlier text back.
The links under the result open the same text in the title case converter, the word counter or the extra space remover.
The 12 cases
Each row shows the result for the input user ID from the XMLHttpRequest.
| Case | What it does | Result |
|---|---|---|
| Sentence case | First letter of each sentence capitalized, the rest lowercased; acronyms and words like iPhone kept | User ID from the XMLHttpRequest |
| lowercase | Every letter lowercase | user id from the xmlhttprequest |
| UPPERCASE | Every letter uppercase | USER ID FROM THE XMLHTTPREQUEST |
| Capitalized Case | First letter of every word capitalized, the rest lowercased; acronyms kept | User ID From The XMLHttpRequest |
| Title Case (APA) | Like Capitalized Case, but short minor words stay lowercase | User ID From the XMLHttpRequest |
| aLtErNaTiNg | Letters alternate lower and upper, starting lowercase | uSeR iD fRoM tHe XmLhTtPrEqUeSt |
| iNVERSE | Every letter’s case is swapped | USER id FROM THE xmlhTTPrEQUEST |
| camelCase | Words joined, each capitalized except the first | userIdFromTheXmlHttpRequest |
| PascalCase | Words joined, each capitalized | UserIdFromTheXmlHttpRequest |
| snake_case | Lowercase words joined with _ |
user_id_from_the_xml_http_request |
| kebab-case | Lowercase words joined with - |
user-id-from-the-xml-http-request |
| CONSTANT_CASE | Uppercase words joined with _ |
USER_ID_FROM_THE_XML_HTTP_REQUEST |
lowercase, UPPERCASE, aLtErNaTiNg and iNVERSE change letters only: spaces, punctuation, digits and emoji stay where they are. The alternating pattern counts letters only, so it carries on across spaces and punctuation instead of restarting with each word.
Acronyms, brand names and emails
Sentence case, Capitalized Case and Title Case keep words that are written in a special way, so you do not lose them when you fix the rest of the text:
- Acronyms of two or more capitals: NASA, ID, IT, also with a possessive (CEO’s), dotted initialisms such as U.S., and capitals mixed with digits (Q3, 4K).
- Mixed-case names: iPhone, eBay, XMLHttpRequest, O’Brien. Sentence case leaves them as typed even at the start of a sentence (iOS and macOS updates.).
- Email addresses and links: [email protected] stays as typed.
| Before | Sentence case |
|---|---|
we met dr. smith at NASA. it went well… then we left |
We met dr. smith at NASA. It went well… Then we left |
PLEASE READ THIS NOW. Thanks, the IT team |
Please read this now. Thanks, the IT team |
WE MET DR. SMITH AT NASA. IT WENT WELL! |
We met dr. smith at nasa. It went well! |
The last two rows show the two limits. A run of neighbouring all-caps words counts as shouting and is lowercased when one of them has five or more letters (HELLO WORLD), when it has three or more words (THIS IS A TEST), or when it has two words and one of them has four or more letters (STOP NOW, NASA FBI). Short acronyms side by side (FBI CIA) or separated by a comma (PDF, DOCX) are kept, and so is a single all-caps word (IT) among lowercase words. Text with no lowercase letters at all is treated as shouting throughout, so NASA becomes nasa. Sentence case keeps capital initials and a capitalized word after an initial or a capitalized Mr., Dr. and similar titles (J. K. Rowling, Mr. Smith), but lowercases the title itself mid-sentence (we met Mr. Smith → We met mr. Smith). Other names, and names typed in lowercase (dr. smith), are not recognized; capitalize them by hand. The UPPERCASE, lowercase and programmer cases convert every word, acronyms included.
How sentences and titles are decided
Sentence case starts a new sentence after ., !, ? or …, also when a closing quote or bracket follows, and after an empty line. After ! or ? plus a closing quote, a word typed with a lowercase first letter continues the sentence: He said “stop!” and left. stays as it is. Abbreviations such as Dr., Mr., etc., e.g. and i.e. and single initials do not end a sentence. A sentence that starts with a digit is left alone (3rd place.). The word I and its contractions (I’m, I’ve, I’d, I’ll) are always capitalized. A single line break does not start a sentence, so in a list only the first line is capitalized; use the sentence case converter for more control, or Capitalized Case for one-word lines.
Title Case (APA) treats each line as a separate title. The first and last word, the first word after a colon, period, question mark, exclamation mark or em dash, and the word before a colon, question mark or exclamation mark are always capitalized (What Is It For: A Guide). In the middle, the tool keeps these words lowercase: a, an, the, and, as, at, but, by, for, if, in, nor, of, off, on, or, out, per, so, to, up, via, yet. Every other word is capitalized, including longer prepositions such as from and between, and both parts of a hyphenated word (Self-Report). A word or hyphen part that starts with a digit keeps its letters lowercase (Over-40s). Roman numerals from II to XXXIX are written in capitals (world war ii → World War II); Capitalized Case does not do this and gives World War Ii. The tool cannot see grammar, so a short word used as an adverb, as in Turn Caps Lock on Before Typing, stays lowercase when it should not. The title case rules guide compares APA with AP, Chicago and MLA.
| Before | Title Case (APA) |
|---|---|
how to write a great title for your blog |
How to Write a Great Title for Your Blog |
a tale of two cities and the war between them |
A Tale of Two Cities and the War Between Them |
the 2026 annual report: final draft |
The 2026 Annual Report: Final Draft |
How the programmer cases split words
camelCase, PascalCase, snake_case, kebab-case and CONSTANT_CASE first break the text into words, then join them. A new word starts at:
- any character that is not a letter or digit: space,
_,-,.,/,:,#, brackets and emoji (these are removed, except that snake_case and CONSTANT_CASE keep underscores at the start and end of a line, so_privateand__init__stay as they are); - a capital letter after a lowercase letter or digit (userName → user, Name);
- the last capital of a run of capitals followed by lowercase (HTMLString → HTML, String), unless a digit follows that lowercase letter (IPv6 stays one word:
ipv6_address).
That means you can convert between programmer cases directly, and acronyms inside identifiers are normalized:
| Before | camelCase | snake_case |
|---|---|---|
MAX_RETRY_COUNT |
maxRetryCount |
max_retry_count |
user-first-name |
userFirstName |
user_first_name |
parseHTMLString |
parseHtmlString |
parse_html_string |
Is Valid Email Address? |
isValidEmailAddress |
is_valid_email_address |
version 2 release 10 |
version2Release10 |
version_2_release_10 |
Each line is converted separately and empty lines are kept, so a column of labels pasted from a spreadsheet becomes a column of field names:
first name firstName
last name → lastName
email address emailAddress
Apostrophes (’ and ’) are dropped before splitting, so don’t stop becomes dontStop and dont_stop, and John’s book becomes johnsBook; a name such as O’Brien stays one word (obrien). One lowercase letter followed only by capitals stays one word (iOS app → iosApp, ios_app), but iPhone15Pro still splits into i_phone15_pro, because real identifiers such as xAxis have the same shape; fix such names by hand. Before you paste the result into code, also check accents: accented letters are kept (café crème becomes caféCrème), which some languages and systems do not accept in names; the slug generator gives a plain ASCII result for URLs. The camelCase vs snake_case vs kebab-case guide explains which convention each language and tool expects.
When people use it
- Fixing caps-lock text: an email, a form answer or a product description typed in capitals, turned into sentence case in one step.
- Headlines and headings: blog titles, slide headings and email subject lines in Title Case or Sentence case, so a whole list follows one style.
- Spreadsheet and CRM headers: column names such as First Name turned into
first_namefor a database import orfirstNamefor a JSON field. - Code and config: renaming a list of constants to CONSTANT_CASE, or CSS class names and file names to kebab-case.
- Social posts: aLtErNaTiNg case for the mocking meme style, or UPPERCASE for a short label.
Questions
How do I change text from all caps to normal text?
Paste the text and choose Sentence case. Every sentence starts with a capital and the rest is lowercased, with "I" capitalized. Names such as "Smith" are not recognized, so capitalize them by hand afterwards.
Why did NASA become "nasa"?
Acronyms are only kept when the text also contains lowercase letters. In text typed entirely in capitals every word looks like an acronym, so the tool cannot tell them apart and lowercases them all. In mixed text, a run of all-caps words such as "HELLO WORLD" or "NASA FBI" is also treated as shouting, while short acronyms side by side ("FBI CIA", "PDF, DOCX") are kept.
What is the difference between Capitalized Case and Title Case?
Capitalized Case capitalizes every word, including "a", "of" and "the". Title Case (APA) keeps short articles, conjunctions and prepositions lowercase unless they are the first or last word, so "a tale of two cities" becomes "A Tale of Two Cities". For AP, Chicago or MLA rules use the title case converter.
Does the case converter handle each line separately?
Title case and the programmer cases (camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE) convert each line on its own, so a list of field names stays a list. Sentence case starts a new sentence only after end punctuation or an empty line, not after a single line break; the sentence case converter has an option to start a new sentence on every line.
Can I undo a conversion?
Your original text stays in the input box; only the result changes, so you can switch cases as often as you like. If you used "Use as input", the Undo button brings the previous text back.
Is my text uploaded anywhere?
No. The conversion runs in your browser. The text is kept only in this browser tab so it is still there if you open another tool, and the chosen case is remembered for your next visit.
Does it work with accented letters and other alphabets?
Yes. Café becomes CAFÉ and Ünïcödé letters keep their accents in every case. German ß becomes SS in uppercase. To strip accents for identifiers or URLs, use remove accents or the slug generator.