Compare the naming styles
The same words can become a variable, a class name, a configuration key, or a URL segment. camelCase and PascalCase join words using capitals; snake_case and kebab-case make boundaries visible with separators. The correct choice depends on the destination’s rules and the surrounding project.
Here are actual CaseConvert.pro results from one input, using the default English setting.
| Format | Converter result | Pattern |
|---|---|---|
| camelCase | customerAccountStatus | First word lowercase; later word initials uppercase |
| PascalCase | CustomerAccountStatus | Every word starts with an uppercase letter |
| snake_case | customer_account_status | Lowercase words separated by underscores |
| kebab-case | customer-account-status | Lowercase words separated by hyphens |
| CONSTANT_CASE | CUSTOMER_ACCOUNT_STATUS | Uppercase words separated by underscores |
| dot.case | customer.account.status | Lowercase words separated by periods |
PascalCase is also called UpperCamelCase. These names describe a spelling pattern, not a programming language or a guarantee that the result is valid code.
Choose the destination first
Check the language, framework, existing repository, or API contract before converting. A consistent project convention is more useful than switching styles because one looks cleaner in isolation.
- Python: PEP 8 recommends lowercase words with underscores for functions and variables, CapWords for classes, and uppercase words with underscores for constants. Its guidance also accounts for established interfaces.
- TypeScript: Google’s TypeScript style guide uses lowerCamelCase for variables and functions, UpperCamelCase for types and classes, and CONSTANT_CASE for global constants. This is a documented house style, not a universal TypeScript requirement.
- URL segments and filenames: kebab-case provides a visible word separator when the destination expects hyphens. Follow that system’s naming policy. This converter does not validate a complete URL, encode URL characters, or enforce an ASCII-only slug.
- Configuration keys: preserve the exact spelling required by the receiving system. A dot in dot.case may represent hierarchy in one system and a literal part of a key in another.
How the converter finds words
The developer modes look for letter and number groups, remove surrounding punctuation, and rebuild the separators. They also split a lowercase-letter-or-number followed by an uppercase letter, and a run of capitals followed by a capital-plus-lowercase word. The resulting pieces are lowercased under the selected language before the chosen pattern is applied.
This lets already formatted input become another naming style. It also means the transformation can change boundaries and remove information.
| Input | Mode | Result |
|---|---|---|
customerAccountStatus | snake_case | customer_account_status |
customer_account-status | camelCase | customerAccountStatus |
customer.account/status | kebab-case | customer-account-status |
user's profile | snake_case | user_s_profile |
save 🧑💻 draft | camelCase | saveDraft |
The apostrophe example becomes three pieces: user, s, and profile. The emoji is removed in the developer example. Writing modes such as uppercase and lowercase preserve these separators instead. Keep your original visible and review the intended words before copying.
Acronyms and numbers need review
Acronyms introduce a choice: a team might write a name with an uppercase abbreviation, while another treats the abbreviation as an ordinary word. Google’s TypeScript guide, for example, recommends treating acronyms as words except where a platform’s established name requires otherwise. CaseConvert.pro applies its own fixed boundary rules; it does not select a project’s house style.
| Input | Mode | Result |
|---|---|---|
HTTP response code | camelCase | httpResponseCode |
XMLHttpRequest | snake_case | xml_http_request |
userID | PascalCase | UserId |
version2Value | snake_case | version2_value |
HTTP2Response | camelCase | http2Response |
Digits stay with their token unless another recognized boundary separates them. A number does not automatically start a new word. Check abbreviations such as IDs, HTTP, and product versions against the destination’s convention, especially when the source mixes several capital runs.
A naming format does not validate an identifier
The converter does not check reserved words, leading digits, duplicate names, language syntax, or filesystem restrictions. A neat-looking result can still be unusable in its destination.
| Input | Mode | Result |
|---|---|---|
2026 report | camelCase | 2026Report |
class | camelCase | class |
user name | kebab-case | user-name |
A JavaScript variable name cannot begin with a digit. A reserved word such as class cannot be used as an ordinary variable declaration, although property-name contexts have different rules. A hyphen in user-name is not a separator inside a single JavaScript variable identifier. See MDN’s identifier rules.
Do not use the workbench to rewrite an entire source file. The parser does not distinguish identifiers from string values, comments, paths, or operators. Convert a selected name, then apply the reviewed change with the tools appropriate to your project.
A practical naming workflow
- Identify the required convention. Read nearby names and check the project’s style or interface contract.
- Convert one name. Open Case Converter, paste the phrase in Your text, and select a developer mode under More cases.
- Check language settings. English is the default. Turkish and German are available; letter mapping can affect identifiers too. See the Unicode and locale guide.
- Review the boundaries and validity. Check acronyms, digits, punctuation loss, reserved words, and the actual destination’s accepted characters.
- Copy the reviewed result. The app’s Result is read-only. If corrections are needed, make them in your destination editor. Use an editor refactor when replacing an existing code symbol.
All naming modes operate on the original editor text. Switching modes does not repeatedly convert the last result. The manual’s quick start explains source/result behavior and the available copy and download actions.
Practice with an acronym and a number
One phrase, two naming styles
Input: API response status. What do camelCase and CONSTANT_CASE produce?
Show the answer
camelCase: apiResponseStatus. CONSTANT_CASE: API_RESPONSE_STATUS. Check whether these spellings match your project.
A leading number
Input: 3 user roles. Will choosing snake_case guarantee a valid JavaScript variable name?
Show the answer
No. The converter produces 3_user_roles. The leading digit still prevents this from being an ordinary JavaScript variable identifier. Choose a valid name in your code editor.
Sources and further reading
Examples are original and were checked against CaseConvert.pro’s conversion engine on October 10, 2026. Code conventions are attributed to the sources that define them; they are not built-in validation presets.
- Python PEP 8: naming conventions — functions, variables, classes, constants, and compatibility with existing code.
- Google TypeScript style guide: identifiers — a specific house style and its acronym treatment.
- MDN: JavaScript identifiers and lexical grammar — allowed name structure and reserved words.
- CaseConvert.pro manual: all conversion modes — the product’s supported transformations and limits.
Put the examples to work
Keep the original, choose a mode, and review the result before using it.
Open Case Converter Read the manual