Naming styles and where they live
Programming languages and tools each have their preferred way of joining words: camelCase for JavaScript and Java variables, PascalCase for classes and React components, snake_case for Python and SQL columns, kebab-case for URLs, CSS classes and file names, CONSTANT_CASE for constants and environment variables. Converting by hand is tedious and error-prone, especially with acronyms.
This converter splits text into words wherever a convention would: spaces, underscores, hyphens, dots, and the boundaries inside camelCase and acronyms. Then it rejoins them in the style you choose. Accented letters are handled, so número da conta becomes numeroDaConta… with the accent kept: númeroDaConta.
Worked example
XMLHttpRequest splits into XML, Http, Request, so snake_case gives xml_http_request and kebab-case xml-http-request. A column list with one name per line converts line by line.
How this works
Each line is split into words at spaces and punctuation, at every switch from a lowercase letter or digit to an uppercase letter, and at the last capital of an acronym followed by a lowercase word (so XMLHttp becomes XML + Http). Letters and digits are recognised with Unicode classes, so any script works. The words are then lowercased, capitalised or uppercased and joined with nothing, underscores, hyphens or dots as the style requires. Title and Sentence case only change letter case and keep your punctuation. The table previews every style for the first line. Everything runs in this tab.
Frequently asked
What is the difference between camelCase and PascalCase?
camelCase starts lowercase (userName); PascalCase capitalises every word (UserName).
How are acronyms handled?
An acronym followed by a word is split before the word's capital: XMLHttpRequest → xml_http_request.
Does Title Case follow AP or Chicago style?
No; it capitalises every word. Editorial styles keep small words lowercase.
Is my text sent anywhere?
No. Conversion runs in your browser.
Sources
- The Unicode Standard, latest version
- ECMA-262 — ECMAScript Language Specification
- Wikipedia — Naming convention (programming)
Reviewed Oct 17, 2026 · test vectors fixtures/dev/case-converter/