Case Converter
Paste a name in any convention and get every other convention at once — camelCase, PascalCase, snake_case, SCREAMING_SNAKE_CASE, kebab-case, Train-Case, dot.case and path/case. Word boundaries are detected from existing casing and separators, so it works on identifiers you paste straight out of code.
How it works
How word boundaries are found
The converter splits your input into words using three signals: a lower-to-upper transition (userName → user + Name), any run of separators (-, _, ., spaces), and existing whitespace. It then re-joins those words in each target convention.
That means you can paste an identifier in any of the supported conventions and get a correct conversion without telling the tool which one it was.
Which convention goes where
Conventions are not interchangeable — each ecosystem has one, and matching it is the difference between code that looks native and code that looks imported:
- camelCase — JavaScript and TypeScript variables and functions, Java methods, JSON keys in most APIs.
- PascalCase — classes and types almost everywhere, React components, C# methods.
- snake_case — Python variables and functions, Ruby, SQL column names, most database schemas.
- SCREAMING_SNAKE_CASE — constants and environment variables.
- kebab-case — URL slugs, CSS class names, HTML attributes, npm package names, CLI flags.
Acronyms are the hard case
parseHTTPResponse has no unambiguous answer: a lower-to-upper rule sees parse + H + T + T + P + Response. This tool keeps consecutive capitals together as one word, giving parse_http_response, which is what most style guides want. If you need parse_h_t_t_p_response, you will have to insert the separators yourself.
What people use it for
- Renaming across language boundaries — a Python
snake_casefield that needs acamelCaseJSON key. - Generating a URL slug from a page or article title.
- Writing environment variables from a config key name.
- Keeping a database column and an application model in step.
- Fixing an inconsistent codebase where two conventions have been mixed in the same module.
Nothing is uploaded. This tool runs entirely in JavaScript in your browser. Your input is never sent to a server, never logged and never stored, and no account is required. Once the page has loaded you can go offline and it still works — open your browser's network tab and watch if you'd like to confirm it.
Frequently asked questions
How does it handle acronyms like HTTP or ID?
Consecutive capital letters are treated as a single word, so parseHTTPResponse becomes parse_http_response rather than parse_h_t_t_p_response. That matches what most style guides specify.
Does it work on a whole sentence, not just an identifier?
Yes. Spaces are treated as word separators, so an ordinary sentence converts correctly into any convention — which is how you generate a URL slug from a title.
What is the difference between Title Case and Sentence case?
Title Case capitalises every word; Sentence case capitalises only the first. Note that this tool capitalises every word in Title Case, including short words like 'of' and 'the', which stricter editorial style guides would leave lowercase.
Will it strip accented characters or punctuation?
No. Letters outside A-Z are preserved as-is, and punctuation that is not a recognised separator stays in place. If you need a strict URL-safe slug, remove those characters first.
Is my text uploaded?
No. The conversion runs in JavaScript in your browser and nothing is sent anywhere.
Tools that run where your code is
This page does its work in your browser because sending your data to a server to process it is a bad default. Catalase applies the same idea to AI coding: a free, open-source code editor that runs language models on your own machine through Ollama, with no account and no telemetry. Cloud models are there when you choose one, not by default.
Related tools
- Case converter — Every naming convention at once, including kebab-case.
- Slug generator — URL-safe slugs with accent folding.
- Character counter — Counts characters, words, lines and bytes.