Case Converter

Use the case converter below to switch any text between UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, and kebab-case. No signup, no upload — everything runs in your browser. Eight one-click conversions, live character/word/line counts, and copy-to-clipboard built in.

I built this case converter because every other one online either popped up a sign-up wall, sent the text to a server, or got camelCase wrong. This tool does none of that. It handles long documents, preserves your punctuation, and works offline once loaded.

Case Converter

Paste text, pick a case. Your input stays intact — the result appears in the output panel below. Eight conversions, live counts, one-click copy. Runs entirely in your browser.

0 chars 0 words 0 lines 0s read
Quick reference: when to use which case
  • UPPERCASE / lowercase / Title Case / Sentence case — preserve spaces. Use for prose, headlines, body copy.
  • camelCase / PascalCase — identifier formats. No spaces by definition (helloWorld, HelloWorld). Use for code variables, classes, components.
  • snake_case — underscores instead of spaces. Use for Python variables, database columns, env vars.
  • kebab-case — hyphens instead of spaces. Use for URL slugs, CSS classes, npm packages.

What each case means — and when to use it

Eight cases, eight different jobs. The case converter handles all of them, but knowing which one to pick is the bigger half of the problem. Here’s the practical breakdown.

CaseExampleWhere it belongsWhere it doesn’t
UPPERCASEHELLO WORLDLegal disclaimers, acronyms (NASA, HTML), short emphasis labels in dense UIsBody text — reads as shouting and 13–20% slower than mixed case
lowercasehello worldURLs, email addresses, file paths on Linux, hashtagsAnywhere proper nouns matter or when readability is the priority
Title CaseHello WorldBook and article titles, marketing headlines, conference talks (skip articles: a, the, of)UI labels, buttons, body copy — modern style is sentence case
Sentence caseHello worldUI labels, buttons, body copy, most product writing in 2026Headlines that need to feel formal or editorial
camelCasehelloWorldJavaScript variables, JSON keys, instance methods, Java method namesClass names, file names, constants
PascalCaseHelloWorldClass names, React/Vue components, type names, constructorsVariables, instance methods, normal function names
snake_casehello_worldPython variables and functions, database columns, filenames on Linux, environment variablesJavaScript or Java identifiers (against convention)
kebab-casehello-worldURL slugs, CSS classes, HTML attributes (data-foo), npm package namesAnything that becomes a programming identifier — the hyphens parse as subtraction

How the case converter handles edge cases

Most online case converters fall apart on real-world text. The interesting work isn’t the simple ASCII transforms — it’s the edge cases that decide whether a tool is actually useful at scale. Here’s what this case converter does differently:

  • Title Case skips small words by default. Articles (a, an, the), conjunctions (and, or, but), and short prepositions (of, in, at, to, for, by, with) stay lowercase — matching AP, Chicago, and most newsroom style guides. The first word always capitalizes regardless.
  • camelCase and friends auto-detect word boundaries. Paste "hello-world" or "hello_world" or "helloWorld" or "hello world" — the converter splits all four correctly into ["hello","world"] before re-joining. Most tools only handle space-separated input.
  • Sentence case respects punctuation. Periods, exclamation marks, and question marks all reset the next-word capitalization. Other punctuation (commas, colons, dashes) does not.
  • Counts update in real time. Character count includes whitespace; word count uses whitespace splitting (so "don’t" is one word, not two); line count is newline-delimited.
  • Copy-to-clipboard uses the modern Clipboard API with a graceful fallback to document.execCommand for older browsers and HTTP contexts.

Programming case conventions worth memorizing

If you write code, the case you pick is dictated by the language and the audience reading it. Mismatched conventions make a codebase look amateur regardless of the actual quality. Quick reference:

Language / contextVariablesFunctionsClasses / TypesConstantsFiles
JavaScript / TypeScriptcamelCasecamelCasePascalCaseUPPER_SNAKEkebab-case
Pythonsnake_casesnake_casePascalCaseUPPER_SNAKEsnake_case
JavacamelCasecamelCasePascalCaseUPPER_SNAKEPascalCase.java
GocamelCase / PascalCase*camelCase / PascalCase*PascalCasePascalCase / camelCase*snake_case
Rustsnake_casesnake_casePascalCaseUPPER_SNAKEsnake_case
Rubysnake_casesnake_casePascalCaseUPPER_SNAKEsnake_case
PHPcamelCase / $snakecamelCasePascalCaseUPPER_SNAKEPascalCase.php
CSSkebab-casen/akebab-case–kebab-casekebab-case
SQLsnake_casesnake_casePascalCaseUPPER_SNAKEsnake_case

* Go uses PascalCase for exported (public) identifiers and camelCase for unexported (private) ones — the case literally controls visibility.

Common case conversion tasks — and the right shortcut

  • Cleaning up SHOUTY emails or Slack messages. Paste, hit Sentence case. Done. Your reply doesn’t need to perpetuate the energy.
  • Generating URL slugs from blog titles. Paste the title, hit kebab-case. The tool strips the case and joins with hyphens — same logic WordPress uses internally.
  • Converting CSV column headers to database column names. Paste "First Name, Last Name, Email Address", hit snake_case — you’ll get the headers ready to use as PostgreSQL or MySQL columns.
  • Renaming a JavaScript variable to a Python variable. Paste the camelCase identifier, hit snake_case — userProfile becomes user_profile.
  • Building a React component name from a feature description. Paste "sticky checkout sidebar", hit PascalCase, get StickyCheckoutSidebar.
  • Generating CSS custom property names from a design token list. Paste the token list, hit kebab-case, prefix with --.

Other text and writing tools on this site

Case converter FAQs

Is the case converter free?

Yes. The case converter runs entirely in your browser — no signup, no uploads, no usage limits. Your text never leaves your device.

Does the case converter work offline?

Once the page is loaded, all eight conversions run in JavaScript on your machine. You can disconnect from the internet and the tool keeps working until you close the tab.

Can I convert long documents?

Yes. The tool handles documents into the hundreds of thousands of characters without performance issues. Large legal, code, or transcript files convert in milliseconds.

What’s the difference between camelCase and PascalCase?

camelCase keeps the first letter lowercase (helloWorld), PascalCase capitalizes every word including the first (HelloWorld). camelCase is the JavaScript variable convention; PascalCase is the convention for classes, React components, and type names.

Why do my apostrophes and quotes change after conversion?

They don’t — the case converter preserves all punctuation, whitespace, and special characters exactly as you pasted them. Only alphabetical letters are transformed.

Does the case converter work with non-English characters?

Yes for the simple transforms (UPPERCASE, lowercase, Title Case, Sentence case) which use JavaScript’s built-in Unicode-aware methods. The programming-style transforms (camelCase, snake_case etc.) are designed for ASCII identifiers and may produce odd results on accented characters.