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

1

Paste your text

A variable name, a headline, a column name, a sentence — anything, in any existing case.

2

Read every conversion

All conventions are computed at once and grouped by what they are used for: programming, writing, or fun.

3

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?
+
Yes. The word splitter detects camelCase and PascalCase boundaries, including runs of capitals, so parseHTMLDocument becomes parse / HTML / Document and converts correctly to any other convention.
What is the difference between camelCase and PascalCase?
+
Only the first letter. camelCase starts lowercase (userName) and is used for variables and JSON keys; PascalCase capitalises it (UserName) and names classes, components and types.
When should I use kebab-case instead of snake_case?
+
kebab-case for anything in a URL, CSS class or filename — underscores are hard to see in underlined links and are discouraged in URLs. snake_case for Python, Ruby and SQL column names.
Why does Title Case leave some words lowercase?
+
Standard English title style keeps articles, conjunctions and short prepositions lowercase unless they start the title — "The Lord of the Rings". Capitalising every word is a different style and often looks wrong.
Does it work with accented or non-English characters?
+
Yes. Word splitting uses Unicode letter and number classes, so accented Latin, Cyrillic, Greek and other alphabetic scripts are handled correctly.
Is my text uploaded?
+
No. Every conversion is pure string manipulation running in your browser, with no network request at any point.
Can I convert a whole list at once?
+
The tool treats your input as a single string. For a list, convert each entry separately, or paste one line at a time — most conventions are applied per word rather than per line.
What is CONSTANT_CASE for?
+
Environment variables and compile-time constants — DATABASE_URL, MAX_RETRIES. The convention signals "this value does not change at runtime" in most languages.

Related tools