EN
My tools

Naming Convention Converter (camelCase, snake_case, kebab-case…)

Convert identifiers between camelCase, PascalCase, snake_case, SCREAMING_SNAKE, kebab-case, COBOL-CASE, Train-Case, dot.case, path/case and flatcase.

camelCase
PascalCase
snake_case
SCREAMING_SNAKE_CASE
kebab-case
COBOL-CASE
Train-Case
dot.case
path/case
flatcase
All conventions, one identifier per row
InputcamelCasePascalCasesnake_caseSCREAMING_SNAKE_CASEkebab-caseCOBOL-CASETrain-Casedot.casepath/caseflatcase
XMLHttpRequestxmlHttpRequestXmlHttpRequestxml_http_requestXML_HTTP_REQUESTxml-http-requestXML-HTTP-REQUESTXml-Http-Requestxml.http.requestxml/http/requestxmlhttprequest
user_iduserIdUserIduser_idUSER_IDuser-idUSER-IDUser-Iduser.iduser/iduserid
get-api-responsegetApiResponseGetApiResponseget_api_responseGET_API_RESPONSEget-api-responseGET-API-RESPONSEGet-Api-Responseget.api.responseget/api/responsegetapiresponse
HTML5 parser v2html5ParserV2Html5ParserV2html5_parser_v2HTML5_PARSER_V2html5-parser-v2HTML5-PARSER-V2Html5-Parser-V2html5.parser.v2html5/parser/v2html5parserv2
My tools →
Advertisement

Different languages and tools expect different naming conventions: camelCase in JavaScript and Java, PascalCase for classes, snake_case in Python and SQL, SCREAMING_SNAKE_CASE for constants, kebab-case in URLs and CSS, Train-Case in HTTP headers. Paste identifiers or plain phrases — one per line — and see every convention at once. Word boundaries are found the way developers write them: spaces, underscores, hyphens, dots and slashes, lower-to-upper changes and acronym runs, so XMLHttpRequest becomes xml_http_request rather than x_m_l_http_request.

How to use this tool

  1. Type or paste identifiers, one per line — any convention or ordinary words.
  2. Choose whether acronyms stay capitalized in camelCase and PascalCase.
  3. Choose whether numbers belong to the word before them.
  4. Copy a whole column from the results, or use the table to compare conventions per line.

Formula

split into words → camelCase: first word lower, others Capitalized · snake_case: lower joined by _ · kebab-case: lower joined by -

Words are split on any character that is not a letter or digit, before an upper-case letter that follows a lower-case one (userName → user, Name), and before the last capital of an upper-case run that is followed by lower-case letters (HTTPServer → HTTP, Server). By default digits stay with the preceding word (html5, v2). Upper- and lower-casing follow Unicode, so straße becomes STRASSE.

Example

XMLHttpRequest becomes xmlHttpRequest (camelCase), XmlHttpRequest (PascalCase), xml_http_request (snake_case), XML_HTTP_REQUEST, xml-http-request, XML-HTTP-REQUEST, Xml-Http-Request, xml.http.request, xml/http/request and xmlhttprequest. With "keep acronyms" ticked, PascalCase stays XMLHttpRequest and userID stays userID.

Frequently asked questions

Which convention should I use?

Follow the language: JavaScript, Java and Kotlin use camelCase for variables and PascalCase for classes; Python and Rust use snake_case for functions and variables; constants are SCREAMING_SNAKE_CASE almost everywhere; URLs, CSS classes and file names usually use kebab-case.

userId or userID?

Both are common. Many style guides (Google Java and JavaScript, Microsoft .NET for longer acronyms) treat acronyms as words — userId, XmlHttpRequest — while Go keeps them capitalized (userID). Use the option to match your code base.

Does it convert whole sentences?

Yes, each line becomes one identifier. For changing the case of prose (Title Case, Sentence case) use the Case Converter.

Last updated:

Cite or embed this tool
APA

kakaoCalc. (2026, November 8). Naming Convention Converter (camelCase, snake_case, kebab-case…). https://kakao.mobile/tools/naming-convention-converter/

MLA

“Naming Convention Converter (camelCase, snake_case, kebab-case…).” kakaoCalc, 8 Nov. 2026, kakao.mobile/tools/naming-convention-converter/.

Paste this code into your page. The widget runs in your visitors' browsers, shows no ads and keeps a link back to this page. Embedding terms

Advertisement