Case Converter
Convert text between camelCase, snake_case, kebab-case, Title Case and more — all at once.
Paste any text and see it converted into every case convention at once — camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case, Title Case, Sentence case and more. Copy whichever one you need with a single click. It reads existing camelCase and snake_case correctly, so converting between conventions works, not just converting from plain sentences.
Programming
camelCase
JavaScript variables, JSON keys
—
PascalCase
Classes, React components, types
—
snake_case
Python, Ruby, SQL columns
—
CONSTANT_CASE
Environment variables, constants
—
kebab-case
URLs, CSS classes, filenames
—
dot.case
Config keys, namespaces
—
path/case
File paths, route segments
—
Writing
Title Case
Headlines — minor words stay lowercase
—
Sentence case
Body copy, UI labels
—
UPPERCASE
Shouting, legal headings
—
lowercase
Normalising input
—
Fun
aLtErNaTiNg
The mocking meme
—
iNVERSE cASE
Flips every letter
—
How Case Converter works
Every case conversion starts with the same problem: working out where the words are. That is easy for "hello world" and much harder for `parseHTMLDocument`, where the boundaries are implied by capitalisation and there is a run of consecutive capitals in the middle. The splitter used here handles three cases explicitly — a lowercase or digit followed by a capital starts a new word, a run of capitals followed by a capital-then-lowercase splits before the last capital, and any punctuation or separator character ends a word. So `parseHTMLDocument` correctly becomes parse / HTML / Document, and `user_first_name`, `user-first-name` and `User First Name` all produce the same three words.
That is what makes conversion between conventions work rather than just conversion from prose. Pasting `userFirstName` gives you `user_first_name` and `USER_FIRST_NAME` correctly, which a naive lowercase-and-replace-spaces implementation cannot do.
The conventions themselves map to ecosystems. camelCase is standard for JavaScript variables and JSON keys. PascalCase names classes, React components and type definitions. snake_case is the Python and Ruby convention and the norm for SQL columns. CONSTANT_CASE marks environment variables and compile-time constants. kebab-case is required in URLs and CSS class names, since neither tolerates underscores well, and it is the convention for filenames in most modern projects. dot.case appears in configuration keys and namespaces.
Title Case has a subtlety the others do not: it is not simply capitalising every word. Standard English style keeps articles, short prepositions and conjunctions lowercase unless they begin the string — so "The Lord of the Rings", not "The Lord Of The Rings". That rule is applied here. Sentence case capitalises the first letter after each sentence-ending punctuation mark rather than collapsing your text into one long sentence.
Everything runs in your browser as pure string manipulation — no upload, no network request.
How to use Case Converter
Paste your text
A variable name, a headline, a column name, a sentence — anything, in any existing case.
Read every conversion
All conventions are computed at once and grouped by what they are used for: programming, writing, or fun.
Copy the one you want
One click copies that specific result to your clipboard.
Frequently Asked Questions
Does it understand text that is already in camelCase?+
What is the difference between camelCase and PascalCase?+
When should I use kebab-case instead of snake_case?+
Why does Title Case leave some words lowercase?+
Does it work with accented or non-English characters?+
Is my text uploaded?+
Can I convert a whole list at once?+
What is CONSTANT_CASE for?+
Related tools
APIs, tech stack, DNS, SSL & SEO for any URL
Beautify, minify and validate JSON
Convert JSON ↔ YAML both directions
Convert CSV ↔ JSON with type detection
Base64 with Unicode and URL-safe support
Decode a JWT and check its expiry