Case Converter
Converts between UPPER, lower, Title, Sentence, camelCase, snake_case, kebab-case and CONSTANT_CASE.
Twelve naming conventions at once, rather than a dropdown you have to click through. The reason to open a case converter is usually to see which one fits — parse_http_response or parseHttpResponse — and the answer is easier to give when both are on screen.
Text
Each line is converted separately, so a list of identifiers works.
How the first line splits
Every style is a join of these words, so if the split looks wrong the output will be too. Acronyms end one letter before the next lower-case letter, a digit stays with the letters before it, and a change of script always starts a new word.
Converted
- camelCase
parseHttpResponse - PascalCase
ParseHttpResponse - snake_case
parse_http_response - kebab-case
parse-http-response - CONSTANT_CASE
PARSE_HTTP_RESPONSE - dot.case
parse.http.response - path/case
parse/http/response - Title Case
Parse HTTP Response - Sentence case
Parse HTTP response - UPPER CASE
PARSE HTTP RESPONSE - lower case
parse http response - tOGGLE cASE
PARSE http RESPONSE
How to use it
Paste one identifier or a whole list
Each line is converted on its own, so a column of column names or constants works as well as a single phrase.
Check how the first line split
Every style is a join of the same words. If the split is wrong the output is wrong, and seeing the words as chips is faster than reading twelve wrong answers.
Decide about acronyms
Off gives parseHttpBody, which can be split back into words unambiguously. On gives parseHTTPBody, which reads better and cannot. Pick the one your codebase already uses.
Common questions
Why did my acronym come out as Http?
That is the default, and it is the reversible one. HTTPBody has no boundary a machine can find between the acronym and the word; HttpBody does. Turn on "keep acronyms in capitals" when readability matters more.
How does it handle Korean?
A change of script always starts a new word, so 사용자Name splits into two. Hangul has no case, so the case styles leave it alone and only the separators change — which is usually what you wanted from a snake_case of a mixed string.
Where does a digit go?
With the letters before it, so utf8Encode stays one word and not utf_8_encode. A digit that starts the string keeps its own place.
Feed it from
Find & Replace
Replaces text by literal, whole word or regular expression, with capture groups and a preview of every hit.
Slug Generator
Turns a title into a URL-safe slug, with romanisation for Korean and a choice of separator.
Diacritic Remover
Reduces accented Latin text to plain ASCII — café becomes cafe — for slugs, sorting and search keys.
Text Diff
Compares two texts side by side or inline, at line, word or character granularity.
Next
These accept what this tool produces, so the result can go straight in.
Find & Replace
Replaces text by literal, whole word or regular expression, with capture groups and a preview of every hit.
JSON to TypeScript
Infers TypeScript interfaces or types from a JSON sample, merging optional and union fields.
Slug Generator
Turns a title into a URL-safe slug, with romanisation for Korean and a choice of separator.
Unicode Normaliser
Applies NFC, NFD, NFKC or NFKD — the fix for Korean text from macOS that looks right but never matches.
Markdown Editor
Edits Markdown with a live preview and exports the rendered HTML, with GFM tables and task lists.
Text Anonymiser
Finds emails, phone numbers, card numbers and IDs in free text and masks or pseudonymises them.