Case Converter

camelCase, snake_case, kebab-case, Title Case and more.

Runs locallyYour input is processed in this tab. The editor blocks outgoing network requests.
Input

The Case Converter renames identifiers and text between camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, Title Case and six other styles. Paste one name or a whole list — each line converts separately — when you move fields between JSON, SQL, CSS and code. Everything runs in your browser — nothing is uploaded.

How to convert text to camelCase, snake_case or Title Case

  1. Paste identifiers or text, one per line, or load the example. Words are split on spaces, underscores, hyphens, dots and case changes, so max_retry_count, HTTPResponseCode and user id are all understood.
  2. Choose the target in the Case menu in the title bar. Every style is also listed with its live result, so you can compare before choosing.
  3. Copy the output with ⌥/Alt C, or use Clean text to open the Text Cleaner if the input came from a document with stray spaces.

Examples

Variable names to snake_case

Mixed input from a spreadsheet header, a Java class and a Python constant. Case: snake_case.

Text
user id
created at timestamp
HTTPResponseCode
max_retry_count

Result:

Text
user_id
created_at_timestamp
http_response_code
max_retry_count

The same input as camelCase gives userId, createdAtTimestamp, httpResponseCode, maxRetryCount; as CONSTANT_CASE, USER_ID, CREATED_AT_TIMESTAMP, HTTP_RESPONSE_CODE, MAX_RETRY_COUNT.

Acronyms and digits

Acronym runs become one word, and a digit stays attached to the word before it. Case: snake_case.

Text
userID
XMLHttpRequest
parseJSON
version2Name

Result:

Text
user_id
xml_http_request
parse_json
version2_name

Headline to Title Case

Title Case capitalizes major words and keeps short articles, conjunctions and prepositions lowercase unless they are first or last. Short all-caps acronyms are kept.

Text
the quick brown fox jumps over the lazy dog
how to use the API with an HTTP client

Result:

Text
The Quick Brown Fox Jumps over the Lazy Dog
How to Use the API with an HTTP Client

Options explained

  • Case — the target style: camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, Train-Case, dot.case, path/case, Title Case, Sentence case, UPPERCASE or lowercase. It is also stored in the page URL, so a link opens with the same style selected.
  • Convert each line separately — on by default, so a list of names stays a list and blank lines are kept. Turn it off to treat the whole input as one phrase, which joins every line into a single identifier.

Common case conversion problems

Title Case leaves identifiers untouched

Title Case and Sentence case are for prose. They split only on spaces, so HTTPResponseCode stays as it is and max_retry_count becomes Max_retry_count. Convert to a separator style like snake_case first if you need words from an identifier.

Sentence case lowercases acronyms

Sentence case lowercases everything after the first letter, so "the API" becomes "the api". Use Title Case, which keeps short all-caps acronyms, or fix the acronyms by hand.

Several lines were merged into one name

Convert each line separately was off, so the whole input was treated as one phrase: first line here and second line became firstLineHereSecondLine. Turn the option back on.

An acronym is not capitalized the way you expected

In camelCase and PascalCase an acronym is treated as a normal word: HTTPResponseCode becomes httpResponseCode, not HTTPResponseCode. This matches most modern style guides; if your codebase keeps acronyms in capitals, adjust those names by hand.

UPPERCASE changes the length of some words

Uppercasing follows Unicode rules, so German ß becomes SS and straße becomes STRASSE. This is correct for display but can matter for fixed-width fields.

FAQ

What is the difference between camelCase and PascalCase?

Both join words without separators and capitalize each word. camelCase keeps the first letter lowercase (userId); PascalCase capitalizes it too (UserId). JavaScript, Java and C# use camelCase for variables and methods, and PascalCase for classes, types and React components. Go uses the first letter's case to decide whether a name is exported.

When should I use snake_case instead of kebab-case?

Use snake_case where a hyphen would be read as a minus sign: Python, Rust and Ruby identifiers, SQL columns and most JSON from Python services. Use kebab-case where hyphens are allowed and readable: CSS classes, URL paths, command-line flags, npm package names and file names in web projects.

How do I convert JSON keys from snake_case to camelCase?

This tool converts names, not whole documents. Copy the keys as a list, one per line, convert them here, and replace them in your code or mapping layer. For a JSON response, a serializer setting — such as a naming policy in your framework — is usually more reliable than renaming keys by hand.

Which words stay lowercase in Title Case?

Articles, short conjunctions and short prepositions: a, an, the, and, but, or, nor, for, so, yet, as, at, by, in, of, on, per, to, up, via, vs, with, from, into and over. Each is capitalized when it is the first or last word. This follows the common rules of headline style guides.

Can I convert a whole list at once?

Yes. With Convert each line separately on, every non-empty line is converted on its own and blank lines are kept, so you can paste a column of names from a spreadsheet or a list of database fields and copy the converted column back in the same order.

Is my text sent anywhere?

No. Conversion runs in your browser inside an isolated frame that blocks network requests. The selected case is remembered on this device; the text is not stored unless you turn on "Remember my last input".

Naming conventions by language

Context Variables and functions Types and classes Constants Files and URLs
JavaScript / TypeScript camelCase PascalCase CONSTANT_CASE kebab-case
Python snake_case PascalCase CONSTANT_CASE snake_case
Java / Kotlin / C# camelCase (C# methods: PascalCase) PascalCase CONSTANT_CASE PascalCase
Go camelCase, PascalCase when exported PascalCase camelCase or PascalCase snake_case
Rust snake_case PascalCase CONSTANT_CASE snake_case
SQL snake_case columns and tables — — —
CSS kebab-case classes and properties — — kebab-case
HTTP — — — Train-Case headers, kebab-case paths

Naming conventions by language explains the reasons, and how each ecosystem handles acronyms such as ID and URL.

Clean up spaces and invisible characters first with the Text Cleaner, or format the JSON the keys came from with the JSON Formatter. Every text tool is listed under Text.

Browse all Text Formatting

Guides