Case Converter
Convert identifiers between the casing each language expects - camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case, Title Case and URL slugs - one line at a time or a whole column at once. The splitter handles the awkward inputs: acronym runs like parseHTTPResponse, digit boundaries, mixed separators and accented characters, which are transliterated only when generating a slug.
Converts as you type. Ctrl+Enter to re-run.
Guide & FAQ
Rename a whole column of fields in one paste. Translating a JSON API into a Python or Go codebase means converting every field name between conventions, and doing it by hand is where typos come from. This converter splits identifiers properly - including capitalised acronyms, digits and mixed separators - then re-joins them in the casing you pick, line by line. It also produces clean URL slugs, transliterating accented characters to ASCII. Everything runs in your browser.
What it does
- Converts to twelve casings: camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, dot.case, path/case, Title Case, Sentence case, lower, UPPER and url-slug.
- Splits acronyms correctly - parseHTTPResponse becomes parse / HTTP / Response, not parse_h_t_t_p_response.
- Handles digit boundaries so utf8Decoder becomes utf_8_decoder rather than utf8decoder.
- Transliterates accents when slugging: "Café del Mar" becomes cafe-del-mar.
- Processes multi-line input, converting each line independently and preserving blank lines.
- Shows every variant at once for the first line, each ready to copy.
When to use it
- Mapping a JSON API's camelCase fields onto snake_case columns in Python, Ruby or SQL.
- Generating CONSTANT_CASE names for environment variables from a list of settings.
- Producing URL slugs for blog posts, docs pages or product names.
- Renaming a batch of CSS classes or CLI flags to kebab-case.
- Creating PascalCase type or component names from a list of entities.
- Cleaning up an inconsistent column of identifiers pasted from a spreadsheet.
How to use it
- Paste one identifier or phrase per line.
- Pick the target casing under Convert to.
- Toggle Keep acronyms upper-case depending on whether you want parseHTTPResponse or parseHttpResponse.
- Copy the output, or open the All variants tab to see every casing for the first line.
FAQ
FAQ
- What is the difference between camelCase and PascalCase? Only the first letter. camelCase starts lowercase (userName) and suits variables and JSON fields; PascalCase capitalises it (UserName) and suits classes, types and React components.
- How is an acronym like HTTPResponse handled? It is split as HTTP + Response, so you get parse_http_response or parseHttpResponse rather than an unreadable run of single letters. Turn on "keep acronyms" to preserve the original capitalisation instead.
- What makes a good URL slug? Lowercase, ASCII, hyphen-separated and stable once published. The slug output transliterates accents, strips punctuation and collapses repeated hyphens.
- Which casing should I use where? snake_case for Python, Ruby and SQL; camelCase for JavaScript, Java and JSON payloads; PascalCase for types and components; kebab-case for URLs, CSS classes and CLI flags; CONSTANT_CASE for environment variables.
- Can I convert a whole list at once? Yes. Every line is converted independently, so a pasted column of database fields or API keys comes back converted in the same order.
- Does it handle accented characters? Yes. Accents are preserved in every casing except the slug, which transliterates them to ASCII so the result is URL-safe.
- Is my text uploaded? No. The conversion is string manipulation performed in your browser, with no network request.
Runs locally in your browser. No uploads. Share links use an encrypted URL fragment.