Free Case Converter

Convert text between uppercase, lowercase, title case, sentence case, camelCase, snake_case, kebab-case and more — instantly, right in your browser.

Input
Output
Characters: 0 Words: 0 Lines: 0
Text stays in your browser
Converts instantly
Free, no sign-up

What This Case Converter Does

Paste or type any text and click a case format button — the converted result appears instantly in the output panel, with no page reload and nothing sent to a server. The tool supports twelve distinct case formats covering everyday writing needs (uppercase, lowercase, title case, sentence case) and all the programming identifier conventions used across modern languages (camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case) as well as stylistic formats (tOGGLE cASE, aLtErNaTiNg).

The two-pane layout lets you see your original and converted text side by side. The "Use Output as Input" button loads the result back into the input panel so you can chain conversions — for example, applying sentence case to clean up messy pasted text, then switching to kebab-case to produce a clean URL slug. The character, word and line counts update in real time so you can verify the output length without switching tools.

Tips for Getting the Best Results

Frequently Asked Questions

What are all twelve case formats and when is each used?

  • UPPER CASE — All letters capitalised. Used for acronyms, legal emphasis, warning labels and environment variable names.
  • lower case — All letters lowercase. Common in URL paths, email addresses and systems where uppercase signals special meaning.
  • Title Case — First letter of most words capitalised, following AP/Chicago style. Standard for article headings, book titles and subheadings.
  • Sentence case — Capitalises the first word of each sentence and the pronoun "I". The natural style for body text, UI labels and captions.
  • tOGGLE cASE — Each letter's case is flipped. Used in ironic or mocking quotation style online.
  • camelCase — No spaces, each word after the first begins with a capital. Standard for variables and functions in JavaScript, Java, Swift and Kotlin.
  • PascalCase — Like camelCase but the first word is also capitalised. Standard for class names, React components and TypeScript interfaces.
  • snake_case — Words separated by underscores, all lowercase. The default for Python variables, Ruby methods and SQL column names.
  • kebab-case — Words separated by hyphens, all lowercase. Standard for CSS class names, HTML element IDs and URL slugs.
  • CONSTANT_CASE — All uppercase with underscores. The universal standard for named constants and environment variables across all languages.
  • dot.case — Words separated by full stops. Used in config file keys, Java package names and structured logging namespaces.
  • aLtErNaTiNg — Letters alternate between lower and uppercase. A purely stylistic format popular in ironic internet culture.

What is the difference between camelCase and PascalCase?

Both formats join words without spaces and capitalise the first letter of each word, but they differ on the very first word. camelCase keeps the first word entirely lowercase — userFullName, getProfileImage, isLoggedIn. PascalCase capitalises every word including the first — UserFullName, GetProfileImage, IsLoggedIn.

camelCase is the standard for variables and function names in JavaScript, Java, Swift, Kotlin and Dart. PascalCase is standard for class names, React component names, TypeScript interfaces and C# methods. When you are unsure which to use, check the official style guide for your language or framework — most are consistent on this point and it is rarely a matter of preference.

Does Sentence case capitalise proper nouns like names and places?

Sentence case capitalises the first word of each sentence, the pronoun "I" (including contractions like "I'm" and "I'll"), and a curated list of common given names, countries, continents and major cities — even when you type them in lowercase. For example, "john is from canada, he visited europe last year" becomes "John is from Canada, he visited Europe last year". It also force-uppercases a set of common acronyms — USA, UK, EU, AI, CEO, SEO, HTML and similar all convert correctly regardless of how you typed them.

The proper noun list is deliberately curated to avoid words that double as ordinary English vocabulary. Names like "Will", "May", "Mark", "Hope" and "Grace" are intentionally excluded, because capitalising these on sight would incorrectly transform sentences like "i hope you can mark the date." The list also skips country names like "Turkey" and "China" for the same reason. Sentence case is non-destructive — any proper noun you've already capitalised stays exactly as you typed it, so running it over an existing draft is safe.

Does Title Case capitalise every single word?

No. Title Case follows the same convention used by AP, Chicago and most editorial style guides: short articles ("a", "an", "the"), coordinating conjunctions ("and", "but", "or", "nor", "so", "yet") and short prepositions ("of", "in", "on", "to", "by", "at", "up", "via" and similar) are lowercased. Every other word — including the first and last word of the title, and the first word after a colon or dash — is capitalised regardless of its category.

Verbs are always capitalised regardless of length, so words like "is", "be", "was" and "are" remain uppercase even though they are short — only articles, conjunctions and prepositions are affected. For example, "the lord of the rings" becomes "The Lord of the Rings". To check the character length of your formatted title against Google's 60-character display limit, paste it into our Character Counter.

Can I use this to convert code variable names between cases?

Yes — that is one of its primary uses. The camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE and dot.case formats all strip spaces and non-alphanumeric characters, producing clean programming identifiers from plain text. Paste "get user profile image" and clicking snake_case gives you get_user_profile_image instantly. Paste the same text and click camelCase to get getUserProfileImage.

This is particularly useful when renaming a batch of variables during a refactor, converting database column names to code conventions, or mapping an API response field format to a different codebase's naming standard. For cases where your input contains apostrophes, hyphens or special punctuation, strip those first — they are treated as word separators and can cause unexpected splits in the output.

Why does my camelCase or snake_case output look wrong?

The programming case formats treat any sequence of non-alphanumeric characters as a word boundary and rebuild the string from scratch. Edge cases that commonly cause unexpected output include: contractions (the apostrophe is non-alphanumeric, so "don't" becomes two tokens: "don" and "t"), hyphenated phrases used as single concepts, repeated punctuation, and leading or trailing symbols. Numbers are treated as part of the preceding word, so "section2header" stays together rather than splitting at the digit.

For best results, manually clean your input before converting — remove trailing punctuation, replace em dashes with spaces, expand contractions, and ensure each logical word is separated by a single space. The "Use Output as Input" button makes it easy to iteratively clean and reformat. If your text came from a copied list with duplicate or malformed lines, run it through our Remove Duplicate Lines tool first.

Does this tool work correctly with non-English and accented text?

Uppercase and lowercase conversion uses JavaScript's native toUpperCase() and toLowerCase() methods, which correctly handle extended Latin characters used in most European languages — é becomes É, ü becomes Ü, ñ becomes Ñ and so on. Title Case and Sentence case also handle these characters correctly in the core capitalisation logic.

Languages that do not have a case distinction — Arabic, Chinese, Japanese and Korean — pass through the uppercase and lowercase conversions unchanged. The programmer-oriented formats (camelCase, snake_case, kebab-case and similar) are designed for ASCII text and treat any non-alphanumeric character as a word separator, which may produce unexpected splits with non-Latin scripts. For those formats, using ASCII input produces the most predictable results.

Is there a word or character limit?

No artificial limit is imposed. All processing happens in your browser using JavaScript — documents of tens of thousands of words convert in under a millisecond on any modern device, and nothing is ever sent to a server. This means you can safely paste confidential documents, legal text or unpublished drafts without any privacy concern.

The character, word and line counts shown in the stats bar update live so you always know the size of your input. To check your converted text against social media platform character limits, copy the output and paste it into our Character Counter. To analyse the reading time of longer converted content, try our Reading Time Calculator.