What this does
Paste text into the box and all twelve case styles are computed on every keystroke, each in its own card with a copy button. There is no "convert" step and no target-format dropdown — you get every variant at once and take the one you need. Everything runs as plain string manipulation in your browser; nothing is uploaded.
Which case styles does it output?
Twelve, in this order: camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, Train-Case, dot.case, path/case, Title Case, Sentence case, UPPERCASE and lowercase. The first eight are word-joining styles — the input is broken into words and re-joined with a separator. The last four are different: Title Case rejoins with spaces, while Sentence case, UPPERCASE and lowercase all operate on your original text untouched, so line breaks, commas and indentation survive.
How does it split words like HTTPRequest?
Two passes, then a split. First it inserts a break between a lowercase letter or digit and a following capital (helloWorld → hello World, V2Data → V2 Data). Second, it breaks a run of capitals before a capital-plus-lowercase pair, which is what rescues acronyms: HTTPRequest becomes HTTP + Request rather than H TTP Request. Only then does it split on whitespace, underscores, hyphens, dots and forward slashes. So foo_bar-baz.qux/zot one yields six words, and mixed input like my-API_key works without you normalising it first.
How do I convert a variable name to another case?
- Paste the identifier — any style, or several on one line.
- Find the card labelled with the style you want.
- Hit copy on that card. The status line confirms which one you copied.
A full worked example:
Input: HTTP Request-Handler v2
camelCase httpRequestHandlerV2
PascalCase HttpRequestHandlerV2
snake_case http_request_handler_v2
CONSTANT_CASE HTTP_REQUEST_HANDLER_V2
kebab-case http-request-handler-v2
dot.case http.request.handler.v2
Sentence case Http request-handler v2 Why did my acronym turn into "Http"?
Because capitalising a word lowercases the rest of it. Every style that title-cases a word — PascalCase, Train-Case, Title Case, and the non-first words of camelCase — takes the first letter up and forces the remainder down, so HTTP comes back as Http and ID as Id. That matches the Google and Microsoft naming conventions, but if your codebase writes parseHTTPResponse, fix the acronym by hand after copying. The separator styles are unaffected: CONSTANT_CASE gives you HTTP_REQUEST intact.
What happens to punctuation and accents?
They pass straight through. Commas, colons, brackets and apostrophes are not separators, so they stay glued to the word — user, name becomes user,Name in camelCase. Accented letters are left as-is, and uppercasing uses the locale-independent JavaScript rules, so ß becomes SS and Turkish dotless i is not special-cased. If you want punctuation and diacritics stripped rather than preserved, the URL slug generator is the tool for that.
Can it fix line endings too?
Yes — the row under the grid rewrites the input in place. All existing breaks are normalised first, so you can switch freely: LF (\n) for Unix, macOS and anything going into git; CRLF (\r\n) for Windows tools and older CSV importers; CR (\r) for Classic Mac OS files. The case cards update to match. For bulk text cleanup beyond line endings, see whitespace cleaner, find and replace and sort lines.