camelCase, snake_case, kebab-case, Title Case and more.
Updated
Input
Choose a case
Output
⌘EnterCopy output
⌘KClear input
Quick start
How to convert between case styles
Paste any input, click a case style, copy the result.
Step 1
Paste your text
Drop in camelCase, snake_case, kebab-case, free-form sentences — the tokeniser handles mixed input.
Step 2
Pick a target case
Click any of the 16 case tiles. The output updates live and shows an example of that style.
Step 3
Copy the result
Hit Copy or press ⌘/Ctrl+Enter to grab the converted text from the output pane.
In-depth guide
Case converter: camelCase, snake_case, kebab-case and 13 more
Convert between 16 case styles in one click. Paste any input — code, variable names, blog titles, free-form sentences — pick a target case, and copy. Useful for renaming variables across paradigms, normalising slugs, generating consistent constants, or just turning a headline into a URL.
The case styles, with examples
Style
Example
Where it's used
camelCase
helloWorld
JavaScript / TypeScript variables and functions; Java methods.
PascalCase
HelloWorld
Classes in most OO languages; React component names; C# everything.
snake_case
hello_world
Python, Ruby, Rust functions; PostgreSQL / MySQL columns.
kebab-case
hello-world
URLs, CSS classes, HTML attrs, npm package names, CLI flags.
SCREAMING_SNAKE
HELLO_WORLD
Constants in C-family languages, environment variable names.
Modern UI microcopy; Material Design and Apple's HIG prefer it.
How the input is parsed
We insert spaces at every case boundary first — fooBarBAZ becomes foo Bar BAZ — then split on any non-alphanumeric character. That's why all of these feed into the same word list:
helloWorld
hello-world
HELLO_WORLD
Hello World
hello.world
The output you get depends only on the target style you click — not on how the input was written.
Tips and pitfalls
Acronyms in PascalCase are ambiguous: XMLParser vs XmlParser. Microsoft's .NET guidelines pick the second form for ≥3-letter acronyms; Java picks the first. This tool emits the first form because that's what tokenises round-trip-cleanly.
Locale-sensitive cases (Turkish İ/ı) use the browser's default locale. If you need Turkish lowercase, set the page locale or run the conversion in Node with an explicit locale.
Existing punctuation in your input is discarded by the tokeniser. Strip emoji, quotes and parentheses before pasting if you need them preserved.
Frequently asked questions
Does this tool send my text anywhere?
No. Case conversion runs entirely in your browser. DevTools → Network will show zero requests during use — paste your code with confidence.
What input formats does it accept?
Any. The tokeniser handles camelCase, PascalCase, snake_case, kebab-case, ALL_CAPS, dot.case, path/case and plain English sentences — including mixed input with numbers and punctuation.
What's the difference between camelCase and PascalCase?
Both glue words together. camelCase lowercases the first letter (`userName`); PascalCase capitalises it (`UserName`). JavaScript variables and functions conventionally use camelCase; class names and React components use PascalCase.
When should I use snake_case vs kebab-case?
snake_case for Python, Ruby and most database columns. kebab-case for URLs, CSS classes, file names on the web and many CLI flags. They convey the same meaning — choice is a matter of language/ecosystem convention.
What is SCREAMING_SNAKE_CASE for?
Constants. Most languages (C, Java, JavaScript, Python, Ruby, Go) treat ALL_CAPS_WITH_UNDERSCORES as a strong visual cue that the value never changes after definition.
Why does Sponge case look different every time?
Each character's case is randomised independently, so the output changes per click — that's the whole joke. If you need a stable scramble for tests, lock in one result and reuse it.
Keep exploring
More tools you'll like
Hand-picked utilities that pair well with the one you're on — all
free, client-side, and zero-signup.