Case Converter: Uppercase, Lowercase, Title Case & More
Paste your text and pick a case. The result updates as you type. Text styles for writing, and code styles for variable and file names. Everything runs in your browser.
Your text in every style appears here.
Which case should I use?
| Style | Example | Where it is used |
|---|---|---|
| Sentence case | How to write a good headline | Normal text, Wikipedia and BBC headlines, buttons and menus in Google, Apple and Microsoft apps, scientific article titles |
| Title Case | How to Write a Good Headline | Book, film and song titles, American newspaper and blog headlines, presentation slides |
| Capitalized Case | How To Write A Good Headline | Some YouTube titles and ads. Not correct title case: small words get capitals too |
| UPPER CASE | HOW TO WRITE A GOOD HEADLINE | Short labels, warnings, acronyms. Long text in capitals is hard to read and looks like shouting |
| lower case | how to write a good headline | Tags, user names, e-mail addresses, logos with a casual style |
| camelCase | userName | Variables and functions in JavaScript, TypeScript, Java, Kotlin, C# (local names), JSON keys |
| PascalCase | UserName | Class and type names in almost every language, React components, public names in C# and Go |
| snake_case | user_name | Python and Ruby variables and functions, Rust functions, SQL table and column names |
| CONSTANT_CASE | USER_NAME | Constants in most languages, environment variables (DATABASE_URL) |
| kebab-case | user-name | URLs and slugs, CSS classes, HTML attributes, file names, npm packages, command-line options |
| Train-Case | User-Name | HTTP headers (Content-Type, X-Request-Id) |
| dot.case | user.name | Configuration keys (server.port in Spring, Java properties files), i18n keys |
| path/case | user/name | Folder paths, topic names in MQTT, package paths |
Title case rules: AP, APA and Chicago
Every style guide agrees on the main rule: capitalize the first word, the last word and every "important" word (nouns, verbs, adjectives, adverbs and pronouns, including short ones such as Is, It and Be). They disagree on the small words.
- AP style (news) and APA style (psychology and many school papers): lowercase articles, conjunctions and prepositions of three letters or fewer: a, an, the, and, but, or, nor, for, so, yet, as, at, by, in, of, off, on, per, to, via. Longer words such as With, From and About get a capital.
- Chicago style (books, many US websites): lowercase articles, the conjunctions and, but, or, nor and for, and every preposition, however long: with, from, about, between, through, without and so on.
- All three capitalize the first word after a colon: "Case Converter: A Simple Guide".
Example
| Style | Result |
|---|---|
| AP / APA | A Guide to Living With a Cat From Day One |
| Chicago | A Guide to Living with a Cat from Day One |
A word such as "up", "off" or "out" is sometimes part of a verb, not a preposition ("Turn Off the Lights"). Style guides then give it a capital, but a program cannot always tell the difference, so check these words by hand. The same is true for names in sentence case: the converter cannot know that "paris" is a city. Turn on Keep acronyms to keep words such as NASA, USA and iPhone exactly as you typed them.
Change case in Word, Google Docs, Excel and code
| Where | How |
|---|---|
| Microsoft Word | Select the text and press Shift+F3 to switch between lowercase, UPPERCASE and Capitalize Each Word. Home > Change Case (the Aa button) also has Sentence case and tOGGLE cASE. |
| Google Docs | Format > Text > Capitalization: lowercase, UPPERCASE or Title Case. |
| Excel and Google Sheets | =UPPER(A1), =LOWER(A1), =PROPER(A1). PROPER capitalizes after every apostrophe ("It'S"). |
| JavaScript | s.toUpperCase(), s.toLowerCase(), s.toLocaleUpperCase('tr') for Turkish |
| Python | s.upper(), s.lower(), s.capitalize() (sentence), s.title() (has the same apostrophe problem as PROPER) |
| Java | s.toUpperCase(Locale.ROOT), s.toLowerCase(Locale.ROOT) |
| C# | s.ToUpperInvariant(), CultureInfo.CurrentCulture.TextInfo.ToTitleCase(s) |
| SQL | UPPER(name), LOWER(name); PostgreSQL also has INITCAP(name) |
| Bash | echo "$s" | tr '[:lower:]' '[:upper:]', or ${s^^} and ${s,,} in Bash 4+ |
| VS Code | Select text, open the command palette (Ctrl+Shift+P) and run "Transform to Uppercase", "Transform to Lowercase", "Transform to Title Case" or "Transform to Snake Case". |
Use the locale-free versions (Locale.ROOT, ToUpperInvariant) for code, file names and keys. With a Turkish locale, "title".toUpperCase() gives "TİTLE" with a dotted İ, a well-known source of bugs. For text that people read in Turkish or Azerbaijani, use the locale on purpose.
How the code styles split words
For camelCase, snake_case and the other code styles, the converter first finds the words, then joins them again. A new word starts at a space, a punctuation mark (- _ . / : and so on) and where a small letter is followed by a capital. A run of capitals counts as one word, so acronyms stay together:
| Input | Words found | snake_case | camelCase |
|---|---|---|---|
XMLHttpRequest | XML · Http · Request | xml_http_request | xmlHttpRequest |
user-ID number | user · ID · number | user_id_number | userIdNumber |
Café menu 2026 | Cafe · menu · 2026 | cafe_menu_2026 | cafeMenu2026 |
don't stop | dont · stop | dont_stop | dontStop |
Digits stay attached to the word they touch (html5Parser becomes html5_parser). Accents are removed when Remove accents is on (é → e, ß → ss, ø → o), which gives safe names for code and URLs. Letters from other scripts, such as Chinese or Russian, are kept. Each line is converted separately, so you can paste a whole list of names.
Frequently asked questions
How do I change uppercase text to lowercase?
Paste the text in the box above and choose "lower case". If the text should still read like normal sentences, choose "Sentence case" instead: it makes everything small and then capitalizes the first letter of each sentence and the word "I". Copy the result with the Copy button.
What is the difference between title case and sentence case?
In title case the main words start with a capital letter: "How to Write a Good Headline". In sentence case only the first word and names do: "How to write a good headline". Many newspapers, books and American websites use title case for headlines; Wikipedia, the BBC, Google's own products and most scientific journals use sentence case.
Which words are not capitalized in title case?
Short "small words": the articles a, an and the, the conjunctions and, but, or, nor and for, and short prepositions such as at, by, in, of, on and to. AP and APA style lowercase only words of three letters or fewer, so "With" and "From" get a capital. Chicago style lowercases every preposition, however long. The first and last word always get a capital in every style.
What is the difference between camelCase and PascalCase?
Both join words without spaces and start each new word with a capital letter. camelCase starts with a small letter (userName, getHttpResponse) and is used for variables and functions in JavaScript, Java and C#. PascalCase starts with a capital (UserName, HttpClient) and is used for class and type names in most languages, and for public names in C# and Go.
What is the difference between snake_case and kebab-case?
snake_case joins small words with underscores (user_name) and is the standard for Python variables and functions, Ruby, and database column names. kebab-case joins them with hyphens (user-name) and is used for URLs, CSS classes, HTML attributes and file names, because most programming languages read a hyphen as a minus sign. CONSTANT_CASE (USER_NAME) is snake_case in capitals, used for constants and environment variables.
Why does Excel PROPER turn "it's" into "It'S"?
Excel's PROPER function, Google Sheets' PROPER and Python's str.title() start a new word after every character that is not a letter, including the apostrophe. So "it's" becomes "It'S" and "don't" becomes "Don'T". This converter treats an apostrophe inside a word as part of the word, so you get "It's" and "Don't".
Is my text uploaded or saved?
No. The conversion runs in your browser with JavaScript, and the text is never sent to a server. Only your settings, such as the chosen case and title case style, are kept in this browser for your next visit.