camelCase / snake_case Converter
Convert names between camelCase, PascalCase, snake_case, SCREAMING_SNAKE_CASE, kebab-case and dot.case โ a whole list at a time.
How it works
Paste one or more identifiers โ one per line โ pick a target style and the conversion
happens as you type. The converter first splits each name into words: it breaks on
underscores, hyphens, dots and spaces, and on camelCase humps, so
parseHTTPResponse becomes parse + HTTP +
Response and converts cleanly to parse_http_response instead of
the mangled parse_h_t_t_p_response that naive converters produce. Those words
are then re-joined in the style you chose: camelCase, PascalCase, snake_case,
SCREAMING_SNAKE_CASE, kebab-case or dot.case.
Leading underscores on private members are kept by default, blank lines stay blank so a pasted list keeps its shape, and anything with no letters or digits is left untouched rather than silently dropped. Everything runs in your browser with plain JavaScript โ no uploads, no ads, and safe for code you cannot paste into a random website.
Frequently asked questions
How do I convert camelCase to snake_case?
Paste your names into the input box โ one per line โ and choose snake_case under "Convert to". Each name is split into words on camelCase humps and re-joined with underscores in lowercase, so helloWorldExample becomes hello_world_example. The result updates as you type, and you can copy or download the whole list.
What is the difference between camelCase and PascalCase?
Both join words without separators, but camelCase starts with a lowercase letter (userFirstName) while PascalCase capitalises the first word too (UserFirstName). By convention camelCase is used for variables, fields and methods in languages like Java and JavaScript, and PascalCase for classes, types and React components. This converter produces either style from the same input.
Does the converter handle acronyms like parseHTTPResponse?
Yes. The tokenizer detects runs of capitals, so parseHTTPResponse splits into parse + HTTP + Response and converts to parse_http_response instead of the mangled parse_h_t_t_p_response that naive converters produce. Leading underscores on private members such as _privateValue are preserved too, unless you turn that option off.