VSThiran

Text & Writing

Free Case Converter

Switch text between upper, lower, title, sentence and programmer cases.

Free to useNo sign-up requiredNo watermarkRuns in your browser

This free case converter changes text between ten cases: UPPER, lower, Title, Sentence, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE and tOGGLE cASE. Pick a style and the result appears immediately, ready to copy.

It saves the two jobs nobody wants to do by hand: fixing a heading someone typed with caps lock on, and reformatting a phrase into the naming convention a codebase expects.

How this tool works

  1. Choose the case you want

    The ten options run from everyday writing styles to programmer naming conventions.

  2. Paste your text

    The converted version appears beside it as you type, so you can see the effect before committing.

  3. Copy the result

    Or press "Use as input" to chain conversions - for example lower case first, then Title Case, to fix text that was typed in all caps.

How it works

Title Case follows headline convention: every word is capitalised except short joining words such as a, and, of, the and to - unless one of them starts the phrase, which is always capitalised.

Sentence case lower-cases everything and then capitalises the first letter of each sentence, detected at full stops, question marks and exclamation marks.

The programmer cases first split your text into words, understanding spaces, hyphens, underscores and existing camelCase boundaries. That means "alreadyCamelCase" converts correctly to "already_camel_case" rather than being treated as one word.

UPPER, lower and toggle work character by character and leave punctuation and spacing exactly as you typed it.

Which case to use where

Title CaseHeadlines, article titles, book titles
Sentence caseBody text, UI labels, most modern web writing
UPPER CASEShort labels and acronyms; avoid for whole sentences
camelCaseJavaScript variables and functions
PascalCaseClass names, React components, TypeScript types
snake_casePython variables, database columns
kebab-caseURLs, CSS class names, file names
CONSTANT_CASEEnvironment variables and constants

Fixing text typed in all caps

Converting ALL CAPS straight to Title Case works, because the tool lower-cases each word before capitalising it. If you want normal prose instead, choose Sentence case - it will restore the capital at the start of each sentence and leave the rest lower case.

One thing no tool can do is restore capitals it cannot infer. Proper nouns in "MEETING WITH JOHN IN PARIS" will come back as "Meeting with john in paris" under Sentence case, so a quick read afterwards is always worth it.

Worked examples

A headline typed in caps

"THE LORD OF THE RINGS" becomes "The Lord of the Rings" in Title Case - note that "of" and "the" correctly stay lower case.

A variable name

"user first name" becomes "userFirstName" in camelCase or "user_first_name" in snake_case.

A URL slug

"Hello World Test" in kebab-case gives "hello-world-test", ready to paste into a path.

Frequently asked questions

Is this case converter free?

Yes, free with no sign-up and no limit on how much text you convert.

Is my text sent anywhere?

No. Your text never leaves your device. Everything is processed by your browser as you type, so nothing is uploaded, stored or logged - which matters when the text is a draft, a contract or anything confidential.

What is the difference between Title Case and Sentence case?

Title Case capitalises most words, as in a headline: "The Lord of the Rings". Sentence case capitalises only the first word of each sentence: "The lord of the rings". Modern style guides increasingly prefer sentence case for headings on the web.

Why do small words stay lower case in Title Case?

That is standard headline convention - articles, short prepositions and conjunctions stay lower case unless they begin the title. The tool follows it automatically.

Can it convert camelCase back to normal words?

Yes. The tool detects the capital-letter boundaries, so "userFirstName" converts to "user_first_name", "user-first-name" or "User First Name" depending on what you choose.