Free Handy Tools

Text Case Converter

Detail level
Try an example

Converted to Sentence case — 37 characters

How this was worked out
  • Input37 characters
  • RuleEverything lowercased, then the first letter and each letter after a . ! or ? uppercased.
  • Output37 characters

Nothing is uploaded — the conversion runs in this browser, which matters when the text is not yours to share. Title case capitalises every word, including the articles and prepositions a style guide would leave lowercase, and neither it nor sentence case knows an acronym from an ordinary word: “the CEO of NASA” comes back as “The Ceo Of Nasa”. The identifier cases split only at separators and at a lowercase-to-uppercase boundary, so “XMLHttpRequest” splits as XMLHttp + Request and gives xmlhttpRequest; they also drop apostrophes and punctuation, which is right for a variable name and destructive for prose. Sentence case capitalises after a full stop, question mark or exclamation mark only, so a list of lines with no punctuation keeps its first line capitalised and no others.

Ten cases, and why programmers need most of them

Case conventions are not decoration. A database column, a JavaScript variable, a CSS class, a URL slug and an environment variable each have a different accepted form, and converting between them by hand is tedious and easy to get subtly wrong. This tool converts pasted text to UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, or inverted case, and leaves the original in place so you can try another without losing it.

The same three words through nine of the ten cases
Case"user profile image" becomes
UPPERCASEUSER PROFILE IMAGE
lowercaseuser profile image
Title CaseUser Profile Image
Sentence caseUser profile image
camelCaseuserProfileImage
PascalCaseUserProfileImage
snake_caseuser_profile_image
kebab-caseuser-profile-image
CONSTANT_CASEUSER_PROFILE_IMAGE

Inverted case is the tenth and the only one that depends on what you typed rather than on the words alone: it swaps the case of every letter, which is how a line typed with caps lock on gets rescued.

This is the prose-shaped half of a pair. Reach for the code case converter instead when the input is an identifier rather than a sentence — it reads runs of capitals such as parseHTTPResponse correctly, keeps a leading underscore, and adds dot.case, none of which a paragraph of English needs.

How words are found

The programmer cases — camel, Pascal, snake, kebab and constant — all start by splitting the input into words. The splitter breaks on any character that is not a letter or a digit, and additionally at every lowercase-to-uppercase boundary, so "user profile image", "user_profile_image" and "userProfileImage" all yield the same three words and convert identically.

From there the joining rules are mechanical: camelCase lowercases the first word and capitalises the rest, PascalCase capitalises all of them, snake_case and kebab-case lowercase everything and join with an underscore or a hyphen, and CONSTANT_CASE uppercases and joins with underscores. That is the whole of the bottom half of the table above.

Title case and sentence case

Title case capitalises the first letter of every word and lowercases the rest, working on Unicode letters rather than ASCII, so "élan vital" correctly becomes "Élan Vital" rather than being left untouched. Sentence case lowercases everything and then capitalises the first letter of the text and the first letter after each sentence-ending punctuation mark, handling a closing quote or bracket in between: "Hello. world. HOW are you?" becomes "Hello. World. How are you?".

Both are mechanical rules, not editorial ones. Title case here capitalises every word, including articles and prepositions that most style guides would leave lowercase, and neither case knows that CEO and NASA are acronyms — "the CEO of NASA" comes back as "The Ceo Of Nasa". Proper nouns need a human pass afterwards.

Known limits

Consecutive capitals are treated as one word because the splitter only breaks at a lowercase-to-uppercase boundary, so "XMLHttpRequest" splits as XMLHttp and Request, giving xmlhttpRequest in camel case rather than xmlHttpRequest. Where acronym handling matters, insert a separator first — or use the code case converter, which carries the extra rule for exactly this.

Digits attach to whichever word they follow rather than forming their own, so "order_id 42" becomes orderId42. Punctuation inside a word is dropped by the programmer cases, which is correct for identifiers and destructive for prose — use title or sentence case for text you want to keep intact.

Everything runs in your browser as you type; nothing is uploaded, which matters when the text being reformatted is not yours to share.

Camel, kebab and the acronym problem

What is the difference between camelCase and PascalCase?

Only the first letter. camelCase lowercases the first word (userProfileImage) and PascalCase capitalises it (UserProfileImage). By convention, JavaScript and Java use camelCase for variables and functions and PascalCase for classes and components.

Which case should a URL use?

kebab-case. Search engines treat hyphens as word separators and underscores as joiners, URLs are case-sensitive after the domain, and lowercase avoids duplicate-URL problems entirely — which is why every slug on this site is lowercase and hyphenated.

Why did my capitalised acronym come back wrong?

Because title and sentence case lowercase everything after the first letter of a word, and the tool has no dictionary of acronyms. Convert first, then fix the handful of proper nouns and initialisms by hand.

Last reviewed 27 August 2026