Case Converter
Switch between camelCase, snake_case, kebab-case, PascalCase and more
About this tool
Identifiers travel between conventions constantly: the API returns snake_case, your TypeScript wants camelCase, the CSS class needs kebab-case, and the environment variable demands CONSTANT_CASE. This converter takes any mixed input — spaces, underscores, hyphens, existing camelCase — splits it into words intelligently, and re-joins it in nine target styles at once.
The splitter understands the tricky cases: it breaks "getUserByID" into get/user/by/id (keeping the acronym intact until the boundary), treats digits as part of their word, and processes each line independently, so you can paste a whole column of database fields and convert them in one go.
Every style is shown simultaneously with a per-row copy button — no picking a mode first, just paste and grab the one you need.
Frequently asked questions
- How are acronyms like "HTTPResponse" handled?
- A run of capitals followed by a lowercase letter is split before the last capital: HTTPResponse → http + response. This matches how most style guides expect acronyms to tokenize, though no splitter can guess intent perfectly — edge cases like "IOError" become io + error.
- Can I convert many identifiers at once?
- Yes — each line converts independently. Paste a list of column names, one per line, and the output preserves the line structure in the new style.
- What is the difference between Title Case and Sentence case here?
- Title Case capitalizes every word ("User Account Id"); Sentence case capitalizes only the first ("User account id"). Neither applies the editorial rules about articles and prepositions — for identifiers you almost never want those.
- Why does converting back and forth not always restore my original?
- Splitting into words discards information — "user_ID_2" and "userId2" tokenize identically. Conversions are deterministic forward, but the original spelling of word boundaries cannot always be reconstructed backward.