Skip to content
uencoder
TUTORIAL

How to Convert Between Naming Conventions

Transform identifiers between camelCase, snake_case, kebab-case, PascalCase, and SCREAMING_SNAKE_CASE.

Problem

Your code uses one naming convention but a library or style guide requires another.

Prerequisites

  • Knowledge of programming naming conventions
  • Understanding of word boundaries

Steps

  1. 1. Identify source and target conventions

    Determine the current convention (e.g., camelCase) and the target (e.g., snake_case). Common conventions include camelCase, PascalCase, snake_case, kebab-case, and SCREAMING_SNAKE_CASE. Each language has preferred conventions.

    Input
    source: camelCase → target: snake_case
    Output
    conventions set
  2. 2. Parse the identifier into words

    Split the identifier at word boundaries. For camelCase/PascalCase, boundaries are at capital letters. For snake_case/kebab-case, boundaries are at underscores/hyphens. Handle acronyms and consecutive capitals carefully.

    Input
    myXMLParser
    Output
    words: [my, XML, Parser]
  3. 3. Reassemble in the target convention

    Join the words using the target convention's rules. For snake_case, lowercase all words and join with _. For PascalCase, capitalize each word and concatenate. For SCREAMING_SNAKE, uppercase and join with _.

    Input
    words + target: snake_case
    Output
    my_xml_parser

Expected result

The identifier correctly converted to the target naming convention.

Common errors

Acronym casing lost
Some conventions preserve acronym casing (myXMLHandler not myXmlHandler). Configure the converter's acronym handling.
Leading/trailing separators
Ensure the output does not start or end with a separator (_ or -) unless the input did.

Troubleshooting

  • If the output is wrong, check the word splitting step.
  • Test with edge cases: single word, all caps, numbers, mixed separators.

Security limits

  • Naming convention conversion is a text transformation with no security implications.

Related tools

Related tasks

Ready to run it?

References