Skip to content

Case Converter

Convert identifiers between six formats while preserving multiline structure.

Local, available offline

Splits separators, case transitions, acronym boundaries, and digits. Line breaks and outer whitespace are preserved.

Six formats

camelCase

Waiting for input

PascalCase

Waiting for input

snake_case

Waiting for input

kebab-case

Waiting for input

CONSTANT_CASE

Waiting for input

Title Case

Waiting for input

Working notes

Use Case Converter with the boundary visible.

Case Converter transforms identifiers among common naming conventions while preserving separate input lines and deterministic word boundaries.

What is Case Converter?

Naming conventions vary across programming languages, frameworks, and team style guides. JavaScript uses camelCase for variables and PascalCase for classes. Python and Ruby use snake_case. CSS and URLs use kebab-case. Database columns might use UPPER_SNAKE_CASE for constants or snake_case for fields. Manually converting between these conventions is error-prone, especially with acronyms (is it getHTTPResponse or getHttpResponse?) and multi-word identifiers. A case converter parses an identifier into its component words using multiple heuristic boundaries — spaces, underscores, hyphens, and camelCase transitions — then reassembles the words in the target convention. This tool handles batch conversion: paste multiple identifiers (one per line) and convert them all at once, which is useful when migrating API field names, renaming database columns, or preparing variable names for a different language.

When to use it

  • API field mapping — convert snake_case database column names to camelCase for a JavaScript API response, or vice versa.
  • Cross-language refactoring — convert Python snake_case function names to camelCase when porting code to TypeScript.
  • CSS class naming — convert descriptive phrases to kebab-case for CSS class names or BEM-style selectors.
  • Environment variable naming — convert descriptive names to UPPER_SNAKE_CASE for environment variables and constants.
  • Documentation cleanup — convert technical identifiers to Title Case or Sentence case for user-facing labels and headings.

How to use it

  1. 01Paste one or more identifiers, one per line.
  2. 02Choose the target format: camelCase, PascalCase, snake_case, kebab-case, Title Case, or SENTENCE case.
  3. 03Review the output, paying attention to acronym and digit boundaries.
  4. 04Copy the converted identifiers.

Common mistakes

  • Ambiguous acronym boundaries — "XMLHTTPRequest" could split as XML-HTTP-Request or XMLHTTP-Request. The converter uses standard heuristics, but complex acronyms may need manual adjustment.
  • Losing information in case conversion — converting "getHTTPSPort" to snake_case produces "get_https_port", and converting back produces "getHttpsPort" (not "getHTTPSPort"). Round-trip fidelity is not guaranteed for acronyms.
  • Assuming the converter renames variables in code — this tool converts text strings. It does not search and replace variable names in source files. Use your IDE's rename refactoring for that.
  • Ignoring locale-specific casing — Turkish dotted/dotless I and German eszett have special casing rules. This tool uses English casing rules.
  • Converting sentences instead of identifiers — the tool is optimized for single identifiers per line. Multi-sentence paragraphs may not split into words as expected.

Synthetic example

Convert a service name

Input

ledger API client

Result

ledgerApiClient

Related standards

Limits and data boundary

  • Natural-language capitalization and domain-specific acronyms can require manual adjustment.
  • The converter changes text shape only; it does not rename symbols in source files.

Frequently asked questions

What case formats are supported?
camelCase, PascalCase, snake_case, kebab-case, Title Case, and SENTENCE case. Each format follows standard word-boundary rules for acronyms and digits.
Can I convert multiple lines at once?
Yes. Each line is treated as a separate identifier and converted independently, preserving the line structure of the input.
How does the tool detect word boundaries?
Word boundaries are inferred from spaces, underscores, hyphens, and camelCase transitions. Consecutive uppercase letters are treated as acronyms.
What happens with numbers in identifiers?
Digits are treated as word boundaries. For example, "item2count" splits into "item", "2", "count" and produces "item_2_count" in snake_case.