Case Converter

Paste any style, get all eight naming conventions at once with per-row copy — acronyms and digits handled.

Turning user_name into userName or getUserName into GET_USER_NAME is one of the most frequent chores in programming. Every ecosystem has its own habit: Java and JavaScript use camelCase, Python uses snake_case, Go exports need PascalCase, environment variables are CONSTANT_CASE, CSS classes and URL paths are kebab-case. Hand-editing is slow and review-prone.

This tool does not ask you to pick a style first: paste, and all eight conversions appear at once, each with its own copy button. Word splitting is automatic — underscores, hyphens, spaces, camel boundaries, acronym tails (HTTPServer → HTTP Server) and digit boundaries (v2User → v2 User) are all recognized, while tokens like base64 or ipv4 stay intact.

Word splitting decides conversion quality

The hard part of case conversion is never the joining style — it is splitting. Four boundaries apply: explicit delimiters (_ - space .) split directly; lower→UPPER is a camel boundary; a run of capitals followed by a lowercase is an acronym tail (HTTPServer → HTTP Server); digit→letter splits (v2User → v2 User) while letter→digit does not (base64, md5 stay whole). The toolbar shows the live split result, so mistakes are visible immediately.

Eight styles for eight ecosystems

camelCase for Java/JS/TS variables and functions; PascalCase for classes, components and Go exports; snake_case for Python, Ruby and database columns; CONSTANT_CASE for environment variables and compile-time constants; kebab-case for CSS classes, URL paths and filenames; Title Case for headings; dot.case for config keys like log.level.

Frequently asked questions

Why was my word split incorrectly?
Splitting is rule-based, not dictionary-based. Inputs like IPv4Address split between I and P (matching mainstream library behavior) because that pattern is indistinguishable from the acronym structure of HTTPServer. When a split goes wrong, rewrite the input with explicit delimiters.
Does it support non-Latin characters?
Yes. Non-Latin characters are treated as standalone words and preserved through every style, which suits mixed-language config keys and document titles.
Is the conversion local?
Yes. Everything runs in the browser with no network requests — internal API names and identifiers never leave the page.

Related tools