Output appears here.
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
- 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,HTTPResponseCodeanduser idare all understood. - 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.
- 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.
user id
created at timestamp
HTTPResponseCode
max_retry_countResult:
user_id
created_at_timestamp
http_response_code
max_retry_countThe 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.
userID
XMLHttpRequest
parseJSON
version2NameResult:
user_id
xml_http_request
parse_json
version2_nameHeadline 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.
the quick brown fox jumps over the lazy dog
how to use the API with an HTTP clientResult:
The Quick Brown Fox Jumps over the Lazy Dog
How to Use the API with an HTTP ClientOptions 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.
Related tools
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.
Related tools
Guides
- Naming Conventions by Language — camelCase, snake_case or kebab-case?