Text

Case Converter — 9 Styles + AI Sentence Case

Convert text between nine common casing styles, plus a smarter AI-assisted Sentence case — all in your browser.

Runs entirely in your browser — nothing you paste is uploaded or stored.

Change caseTransforms the text above in place

Sentence case (beta) guesses proper nouns automatically using a small AI model (downloaded once, ~40 MB, entirely in your browser — nothing is uploaded) plus NLP, and can be wrong — especially for uncommon names, brands, or acronyms. Any word it wasn't confident about gets underlined in the text box above for you to review.

Result

What is case converter?

A case converter rewrites text between the casing styles used in everyday writing and in code — UPPERCASE, lowercase, and Title Case for prose, and identifier styles like camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, and dot.case for variable names, file names, and URL slugs. This tool converts between all nine with one click, and also includes a "Sentence case (beta)" button that goes further than a mechanical lowercase-everything rule: it combines a small NLP library's built-in list of known names/places/organizations with a small AI model (the same category of on-device model that powers this site's Background Remover and Face & Plate Blur) to guess which words are proper nouns, so it can capitalize sentence starts without also lowercasing "Paris" or "Google" along with everything else. The AI model downloads once (about 40 MB) the first time you click "Sentence case (beta)" on a given device and is cached after that; the NLP library alone handles everything else instantly. Any word neither signal was confident about gets underlined in the text box, and clicking an underlined word toggles its capitalization, so a wrong guess is a one-click fix instead of a retype. Everything runs locally in your browser via WebAssembly — the text you paste or drop in is never uploaded anywhere.

When to use it

  • Converting a phrase into camelCase or snake_case for a variable name, or into kebab-case for a URL slug.
  • Turning a heading or title pasted from another document into consistent Title Case.
  • Cleaning up text typed with caps lock stuck on, or pasted from an all-uppercase source like a legal document or old system export.
  • Converting an already-cased identifier — camelCase, snake_case, or another format — into a different casing style, such as renaming a variable to match a new style guide.
  • Best-effort restoring readable sentence casing to text that was typed or pasted in all caps or all lowercase, with proper nouns like names and places kept capitalized.

How to use this tool

  1. Paste or type your text into the box, or drag a .txt file onto it.
  2. Click a case button to convert the text in place — prose-style cases (UPPERCASE, lowercase, Title Case) keep your original spacing, while identifier-style cases (camelCase, snake_case, and the rest) rebuild the text as a single token per word, the way those formats work everywhere else.
  3. Click "Sentence case (beta)" for a smarter, AI-assisted conversion that tries to keep proper nouns capitalized — review any word it underlines, since automatic proper-noun detection is a best-effort guess, not a guarantee; click an underlined word to toggle it between capitalized and lowercase.
  4. Click "Copy text" to copy the converted result, or "Copy link" to share the current text as a URL.

Example

Converting a mixed-case sentence to a few different casings.

Input

elon musk announced that SpaceX will launch a new ROCKET to Mars next year.

Output

Sentence case (beta): Elon musk announced that SpaceX will launch a new rocket to Mars next year.
Title Case: Elon Musk Announced That SpaceX Will Launch a New Rocket to Mars Next Year.
kebab-case: elon-musk-announced-that-space-x-will-launch-a-new-rocket-to-mars-next-year

Sentence case keeps "SpaceX" capitalized without mangling its internal capital, and recognizes "Mars" as a place — either or both may still get underlined for review if neither the dictionary nor the AI model was fully confident about them.

Prose casing vs. identifier casing

The nine case options split into two groups that behave differently, and it’s worth knowing which is which before you click one. UPPERCASE, lowercase, and Title Case are “prose” cases — they change the letters and leave everything else, including your line breaks, alone. The other six — camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, and dot.case — are “identifier” cases borrowed from programming and URL conventions, where a name is always a single unbroken token. Converting to one of these treats each word in your text as a component of that token and joins them with the target style’s separator (or no separator at all, for camelCase and PascalCase). Converting an already-cased identifier — helloWorldExample back to snake_case, for instance — works too: the tool recognises the existing camelCase boundaries and re-splits on them before rejoining.

How Sentence case works

Prose casing (UPPERCASE, lowercase, Title Case) is a pure mechanical transform — every letter’s target case follows directly from the rule, no judgment required. Real sentence case isn’t: deciding whether to keep a word capitalized means deciding whether it’s a name, a place, or a brand, and no dictionary-free rule can make that call correctly. Sentence case (beta) combines two independent signals to make that judgment automatically, loaded only if you click the button: compromise (MIT licensed), a small natural-language-processing library whose built-in name/place/organization list works even on text that’s already all-caps or all-lowercase; and a small transformer-based AI model (an Apache-2.0-licensed, on-device port of dslim/distilbert-NER) that adds genuine contextual understanding for names outside that list, run through WebAssembly the same way this site’s Background Remover and Face & Plate Blur run their own models — nothing is ever uploaded. It’s still a best-effort guess rather than a guarantee; see the FAQ above for exactly where it can go wrong and how the tool flags its own uncertainty.

Why a browser-only tool

Text worth re-casing is often not finished yet — a variable name mid-refactor, a heading in a draft document, a message you haven’t sent. Running entirely client-side means there’s no version of this tool that could log or retain that text, by accident or otherwise, because it never leaves your machine.

Frequently asked questions

Why does converting to camelCase or snake_case strip out my spacing, but Title Case doesn't?

Prose-style cases — UPPERCASE, lowercase, and Title Case — transform each word in place and leave your original spacing, line breaks, and punctuation exactly where they were. Identifier-style cases — camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, and dot.case — have no concept of whitespace at all in the contexts they're actually used (variable names, file names, CSS classes), so converting to one of them rebuilds the text as a single run of joined words, the same way it would look in real code.

How does Sentence case handle names, places, and other proper nouns?

It combines two signals. A small natural-language-processing library carries a built-in list of known names, places, and organizations — it recognizes those regardless of how your text was originally capitalized, but anything outside that list is just a capitalization guess. A small AI model then adds real contextual judgment on top, catching names the library's list doesn't contain by reading the surrounding sentence, though it leans more on your original text already being reasonably capitalized. Either signal being confident is enough to capitalize a word with no flag; if neither is confident, it's still capitalized as a guess but underlined for review. This is fundamentally best-effort, not a lookup you can fully trust — an uncommon name, a brand neither signal recognizes, or an ordinary word that happens to be capitalized (like "Fox" mid-sentence) can still be misjudged. Underlined words are exactly the ones worth double-checking — click one to toggle between the guess and lowercase.

Can I fix a wrong Sentence case guess without retyping it?

Yes — click directly on any underlined word to flip it between the tool's guessed capitalization and plain lowercase; click it again to switch back. This only affects that one word and never changes the sentence-start capitals or any other flagged word, so you can review a whole paragraph of guesses one click at a time.

Can I convert an already-cased identifier to a different style?

Yes. The tool recognizes existing camelCase and PascalCase boundaries (including acronym runs like "XMLParser" splitting into "XML" and "Parser") as well as underscores, hyphens, and dots, so converting helloWorldExample to snake_case produces hello_world_example, and converting it again to kebab-case produces hello-world-example.

Is my text uploaded anywhere when I use this tool?

No. Every case conversion runs in your browser's own JavaScript engine. Nothing you type, paste, or drop as a file is ever sent to a server — you can confirm this yourself by opening your browser's DevTools Network tab while using the tool.

Does Word Counter still have case conversion too?

Yes — the same case buttons and Sentence case (beta) feature are still available on the Word Counter page for anyone already there working with word/character stats. This page exists separately so case conversion is easier to find on its own, without needing to know it was bundled inside a word counter.

Find these tools useful? A coffee helps keep them free and ad-light.

Buy me a coffee