Text Case Converter

Convert text between camelCase, snake_case, Title Case and 8 more, with smart camelCase splitting.

This text case converter flips any string between UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, SCREAMING_SNAKE_CASE, kebab-case, dot.case and alternating caps, with live output as you type. The part most converters get wrong is boundaries: it tokenizes camelCase before transforming, so fooBarBaz becomes foo_bar_baz instead of the mangled foobarbaz, and acronym runs like HTTPServer split cleanly into http and server. Title Case keeps a pragmatic small-word list while always capitalizing the first and last word. Multi-line input converts line by line, so you can paste a whole column of database fields or identifiers at once. Everything runs in your browser, so nothing you paste ever leaves the page.

100% in your browser. Nothing you type ever leaves this page.

Local text case converter for writers and developers

You've got userAccountSettings in the code, user_account_settings in the database, and a headline that needs proper Title Case for the blog. Same words, three costumes. Paste your text below, click a case, and the output updates live while you type. The part I'm actually proud of: it splits camelCase boundaries before converting, so fooBarBaz becomes foo_bar_baz instead of the mangled foobarbaz most converters spit out. Everything runs in your browser. Nothing leaves the page.

 
Input chars0
Input words0
Output chars0
Output words0

100 percent client-side. Multi-line text is converted line by line, so pasting a whole column of identifiers works fine.

The code cases, and who actually uses which one

A text case converter only earns its keep if it understands the conventions developers and editors actually fight over. Naming conventions look arbitrary until you realize each one solved a real problem for a specific community. Then they fossilized.

camelCase is the JavaScript and Java default for variables and functions. Google's JavaScript style guide is blunt about it: lowerCamelCase for everything that isn't a class. PascalCase (same idea, first letter capitalized) marks classes in nearly every C-family language, plus React components, plus all of C#, where Microsoft uses it for methods too. That last one still feels wrong to me after years of JavaScript, but it's their house.

snake_case belongs to Python. PEP 8 prescribes it for functions, variables and module names, and Ruby and Rust follow the same instinct. SQL folks use it for column names because most databases fold unquoted identifiers anyway, and underscores survive that. Shout it in caps and you get SCREAMING_SNAKE_CASE, the near-universal signal for constants: MAX_RETRIES, API_BASE_URL. Honestly it's the one convention almost every language agrees on, which is a small miracle.

kebab-case can't exist inside most languages because the hyphen reads as a minus sign. So it lives where identifiers don't: URLs, CSS classes and custom properties, CLI flags, npm package names. Google's SEO docs have recommended hyphens over underscores in URLs for years. dot.case shows up in config keys and property files, think logging.level.root in Spring, or Java package names. And aLtErNaTiNg caps? No standards body will claim it. It's the mocking SpongeBob meme, and you know exactly when you need it.

Title case rules editors argue about

Everyone agrees you capitalize the big words. The fight is over the small ones. AP style lowercases short conjunctions and prepositions but capitalizes anything four letters or longer. Chicago lowercases prepositions regardless of length, which gives you "Through" lowercase in one style and capitalized in the other. Editors have died on this hill. Okay, not died. But I've seen the Slack threads.

This tool keeps a pragmatic exception list: a, an, the, of, in, on, and, or, to stay lowercase. Two rules override the list, and these everyone does agree on: the first word and the last word of the line are always capitalized, no matter what they are. "The Lord of the Rings" works because "The" leads. If your style guide differs on a specific preposition, fix that one word by hand. It's faster than arguing.

Worth knowing: a lot of the web has quietly given up. Google's developer documentation style guide just uses sentence case for headings, full stop, because it dodges every one of these debates. MDN does the same. If you're writing docs rather than a book title, the Sentence case button might be the honest answer.

The camel-boundary splitting trick

Here's why most case converters fail at the one job developers need. Converting backgroundColor to snake_case requires knowing where the words are. Lowercase it first and you get backgroundcolor, one blob, boundary gone forever. The information lived in that capital C and a naive converter destroys it on step one.

This tool tokenizes before it transforms. It splits on spaces, hyphens, underscores and dots, and it also inserts a break wherever a lowercase letter or digit is followed by an uppercase one. So fooBarBaz becomes the tokens foo, bar, baz, and from there any output case is just a join with different glue. There's a second, sneakier rule for acronym runs: in HTTPServer, the break goes before the final capital of the run, giving http and server rather than four orphan letters. That regex pair (([a-z0-9])([A-Z]) and ([A-Z]+)([A-Z][a-z])) does more useful work than anything else on this page.

The practical payoff: round trips work. camelCase to snake_case to kebab-case and back to camelCase lands you exactly where you started. Paste a whole column of database fields, click camelCase, and every line converts independently. That's the whole tool, really. The rest is buttons.

Frequently asked questions

Does my text get uploaded anywhere?

No. The conversion is a few lines of JavaScript running in your own browser tab. Nothing is sent to a server, so pasting internal identifiers or unpublished headlines is fine.

What's the difference between camelCase and PascalCase?

One letter. camelCase starts lowercase (userName), PascalCase starts uppercase (UserName). Convention says camelCase for variables and functions, PascalCase for classes and types. C# ignores half of that and uses PascalCase nearly everywhere.

Which words stay lowercase in Title Case here?

The exception list is a, an, the, of, in, on, and, or, to. They stay lowercase unless they're the first or last word of the line, which always get capitalized. Different style guides extend that list, so check yours if it matters.

How does the tool split fooBarBaz into separate words?

It inserts a boundary wherever a lowercase letter or digit meets an uppercase letter, and before the last capital in an acronym run. fooBarBaz tokenizes to foo, bar, baz; HTTPServer tokenizes to http, server. After that, every case is just a different way of joining the tokens.

Can I convert snake_case straight to camelCase?

Yes, that's the main use case. Underscores, hyphens, dots and spaces all count as word boundaries, so user_account_settings, user-account-settings and "user account settings" all produce userAccountSettings.