Case Converter

Paste your text and get every case at once — UPPERCASE, lowercase, Title, camelCase, snake_case and more. Click any card to copy.

Type or paste text above and every case appears here — click any card to copy its result.

General cases

Programmer cases

Why text case is not just cosmetic

The same word can be a valid variable name, an invalid one, or a completely different identifier depending on how it is cased. userName, UserName, user_name and user-name all describe the same concept, but a JavaScript linter, a Python module, a URL router and a CSS class list each expect a different one of these four. Outside code, case carries meaning too: writing a product name in ALL CAPS reads as shouting in an email but as a legitimate brand style on packaging, and a headline in Title Case signals "heading" to a reader before they've read a single word. This tool exists because switching a block of text between all of these conventions by hand — retyping capitals, swapping every space for an underscore or a hyphen, deciding where word boundaries fall inside a mashed-together identifier — is slow and error-prone, especially across a whole file of variable names or a full paragraph of copy.

How to use it

  1. Paste or type any text into the box — a sentence, a heading, a single identifier, or a multi-line list.
  2. All twelve results update as you type; nothing is calculated on a server, so long or sensitive text (API keys, internal field names) never leaves your browser.
  3. Click any result card to copy just that case to your clipboard — the card briefly confirms the copy.
  4. Leave "Save my text in this browser" ticked to have the box repopulate next time you open the page, or untick it to keep the session private and unsaved.

The two families of case, and how words are found

The six general cases — UPPERCASE, lowercase, Title Case, Sentence case, aLtErNaTiNg and tOGGLE cASE — operate on your text character by character and never touch spacing or punctuation. Sentence case additionally looks for sentence-ending punctuation (., ?, !) so it knows where a new sentence — and therefore a new capital letter — begins.

The six programmer cases — camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case and dot.case — work differently: the converter first has to split your input into discrete words, because programming identifiers carry no spaces of their own. It does this by (1) splitting on any existing separator — a space, underscore, hyphen or dot — and (2) inserting an extra boundary wherever a lowercase letter or digit is immediately followed by an uppercase letter, so an identifier like orderTotal2Tax is read as three words: order, total2, tax. A run of consecutive capitals is treated as one acronym rather than split letter-by-letter, so parseHTTPResponse becomes parse, HTTP, response — not parse, h, t, t, p. Once the words are found, each target case reassembles them with its own rule: camelCase lowercases the first word and capitalizes the rest with no separator; snake_case lowercases every word and joins with _; kebab-case does the same with -; CONSTANT_CASE uppercases every word and joins with _.

Worked examples

Example 1 — a UI label: input total order amount
UPPERCASE: TOTAL ORDER AMOUNT · Title Case: Total Order Amount · camelCase: totalOrderAmount · snake_case: total_order_amount · kebab-case: total-order-amount · CONSTANT_CASE: TOTAL_ORDER_AMOUNT
Example 2 — an existing identifier with an acronym: input getUserIDFromJWT
Tokenized as: get, user, ID, from, JWT → snake_case: get_user_id_from_jwt · kebab-case: get-user-id-from-jwt · PascalCase: GetUserIdFromJwt · dot.case: get.user.id.from.jwt
Example 3 — a sentence, general cases only: input please review this. it is urgent!
Sentence case: Please review this. It is urgent! · Title Case: Please Review This. It Is Urgent! · tOGGLE cASE: PLEASE review THIS. it IS urgent!

Quick reference

CaseSampleTypical home
camelCaseorderTotalJavaScript / Java / C# variables and functions
PascalCaseOrderTotalClass, type and component names
snake_caseorder_totalPython, Ruby, SQL columns
CONSTANT_CASEORDER_TOTALConstants, environment variables
kebab-caseorder-totalURLs, CSS classes, file and package names
dot.caseorder.totalConfig keys, i18n namespaces, packages

Mistakes worth avoiding

What this tool does not do

It does not validate that a resulting identifier is legal in a specific language (for instance, some languages disallow identifiers that start with a digit) and it does not check for reserved keywords. It also does not translate text between human languages — only the letter casing and word-joining style change, never the words themselves.

Sources & further reading

Frequently asked questions

What text case formats does this case converter support?

This convert case tool outputs twelve formats at once. The general cases are UPPERCASE, lowercase, Title Case, Sentence case, aLtErNaTiNg and tOGGLE cASE — a complete uppercase lowercase converter for everyday writing. The programmer cases are camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case and dot.case. Every result is shown on its own card so you can click to copy the exact case you need.

camelCase vs snake_case vs kebab-case — when should I use each?

These are naming conventions programmers use for identifiers. camelCase (myVariableName) is common for JavaScript and Java variables; PascalCase (MyClassName) for classes and types; snake_case (my_variable_name) for Python and Ruby; CONSTANT_CASE for constants and environment variables; kebab-case (my-file-name) for URLs, CSS classes and file names; and dot.case for config keys and namespaces. This camelCase snake_case converter lets you switch any identifier between them instantly.

How is my text split into words for the programmer cases, and why are non-Latin characters skipped?

For the programmer cases the converter first tokenises your text into words: it inserts a boundary between a lowercase or digit and an uppercase letter (so myXML becomes my XML), keeps acronyms intact (HTTPServer becomes HTTP Server), and then splits on any separator — spaces, underscores, hyphens or dots. Only Latin letters and digits (A–Z, 0–9) form identifier tokens, so Chinese, Korean, Arabic or emoji are skipped because those scripts have no case and are not valid in code identifiers. The general cases keep your original text and spacing untouched.

How do Title Case and Sentence case differ?

Title Case capitalises the first letter of every word — Convert Your Text Like This — which suits headlines and titles. Sentence case capitalises only the first letter of each sentence (after a period, question mark or exclamation mark) and leaves the rest lowercase — Convert your text like this. Use Title Case for headings and Sentence case for body copy and normal prose.

Is my text sent to a server?

No. This case converter runs entirely in your browser — nothing you type is ever uploaded, logged or shared, so it is safe for confidential text and code. Your most recent input is optionally saved to this browser's local storage so it is still here when you return; untick the save option to keep it for this session only, and clearing the box removes the stored copy.