Case converter — offline
Every naming convention at once: camel, snake, kebab, Pascal, and friends.
| camelCase | — | |
| PascalCase | — | |
| snake_case | — | |
| kebab-case | — | |
| CONSTANT_CASE | — | |
| Title Case | — | |
| Sentence case | — | |
| lowercase | — | |
| UPPERCASE | — | |
| dot.case | — | |
| path/case | — |
Convert between camelCase, snake_case and kebab-case offline
Renaming identifiers is constant work when you cross a language boundary. A JSON API returning snake_case feeds a TypeScript client that wants camelCase; a database column becomes a CSS class; an environment variable becomes a config key. Doing it by hand is tedious and error-prone, and doing it on a website means pasting your schema — often real field names from a real product — to a stranger.
Case conversion here is a few lines of string logic running in your browser. Nothing is transmitted, the site has no backend, and a Content-Security-Policy blocks third-party requests. Every conversion updates live as you type, so you copy the one you need rather than choosing a target first.
Every naming convention at once
- camelCase — JavaScript and TypeScript variables, JSON keys in most APIs.
- PascalCase — classes, React components, C# and Go exported names.
- snake_case — Python, Ruby, SQL columns, and many REST payloads.
- kebab-case — CSS classes, URL slugs, HTML attributes, CLI flags.
- CONSTANT_CASE — environment variables and compile-time constants.
- Title Case and Sentence case — headings and UI copy.
- dot.case and path/case — config keys, i18n message identifiers, and object paths.
Acronyms and awkward identifiers
The hard part of case conversion is not joining words, it is working out where the words were in the first place. Naive converters mangle acronyms: XMLHttpRequest becomes x_m_l_http_request, and parseHTML5Document falls apart around the digit.
Runs of consecutive capitals, digits, underscores, and hyphens are all split intelligently here, so XMLHttpRequest is understood as the three words it actually is. That matters most for exactly the identifiers you would otherwise have to fix by hand.
Converting a heading into a URL rather than an identifier? The slug generator also handles accents and punctuation. Related and equally local: text sorter and word counter.
How to change text case offline
- 1
Type or paste any text or identifier.
- 2
All conversions update live.
- 3
Copy the one you need.
Case Converter — frequently asked questions
Is my text processed on a server?
No — case conversion is a few lines of string logic running in your browser. Nothing is transmitted.
Which cases are supported?
camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, Title Case, Sentence case, dot.case, path/case, plus plain upper and lower — all shown at once.
Does it understand identifiers like XMLHttpRequest?
Yes — consecutive capitals, digits, underscores, and hyphens are split into words intelligently before converting.