Case Converter

Paste any identifier or phrase to see it instantly in every naming convention — camelCase, snake_case, kebab-case, CONSTANT_CASE and more — generated from one detected word list, so they can never disagree with each other.

Acronyms

Type or paste any identifier or phrase above to see it in every convention.

Convert a whole list of identifiers to one target convention at once — one per line, order preserved.

{{ batchOutput }}

All conversion happens in your browser. Nothing you type is ever uploaded to a server.

How word boundaries are actually detected

Splitting only on existing delimiters (spaces, hyphens, underscores) would fail completely on userFirstName — there are no delimiters in it at all. This tool detects word boundaries three ways at once: existing delimiters, case-boundary transitions (aBa, B), and letter-to-digit transitions (v2Finalv, 2, Final). Every output convention below is rendered from that same detected word list, so they can never disagree with each other about where one word ends and the next begins.

A run of capital letters (XMLParser) is ambiguous on its own — it could be the acronym "XML" followed by "Parser", or four separate one-letter words. There's no objectively correct answer, which is why it's an explicit toggle above rather than a silent guess.

Why every convention is generated from one word list

If camelCase and snake_case each ran their own independent splitting logic, they could quietly disagree about where one word ends and the next begins on an ambiguous input — one showing user/2fa and the other showing user2/fa for the same input, say. Every convention above is instead a different way of joining the exact same detected word list, so that kind of silent disagreement can't happen.

How does it split "userFirstName" into words with no spaces or underscores at all?

It detects word boundaries three ways at once: existing delimiters (spaces, hyphens, underscores), case transitions (a lowercase letter followed by an uppercase one), and letter-to-digit transitions. That combination is what correctly splits userFirstName into "user", "First" and "Name" with nothing to split on explicitly.

Why is there an acronym toggle?

A run of capital letters like "XMLParser" is genuinely ambiguous — it could be the acronym "XML" followed by "Parser", or four separate one-letter words. There's no single correct answer, so it's an explicit choice rather than a silent guess, defaulting to treating the whole run as one word since that matches what most real codebases intend.

What does batch mode do?

Converts a whole list of identifiers — one per line — to a single target convention at once, preserving line order. Useful for renaming a batch of column names or variables rather than converting them one at a time.

Do all the outputs always agree on where words split?

Yes, by construction — every convention shown is rendered from the exact same detected word list, so camelCase and snake_case can never disagree about whether "userID" is two words or three; they're just different ways of joining the same list.

Is my text sent anywhere?

No. All tokenizing and conversion happens entirely in your browser using JavaScript. Nothing is transmitted to a server.