Skip to content
TypeParser
All tools

Case Converter

Convert between 12 letter cases at once.

beats convertcase.net edge: 12 cases at once + acronym-aware tokenization
input
Guide

About Case Converter

Type any text and copy any of the 12 supported cases — camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case, Title Case, Sentence case, UPPER, lower, sPoNgE, and reverse. Smart tokenization handles existing camelCase boundaries and ALL-CAPS acronyms so <code>parseHTMLString</code> becomes <code>parse_html_string</code>, not <code>parse_h_t_m_l_string</code>.

Why so many cases?

Every language community converged on its own preferred case for identifiers, and codebases mix them constantly. JavaScript variables in camelCase, JavaScript classes in PascalCase, JavaScript files in kebab-case. Python variables in snake_case, Python classes in PascalCase, Python constants in CONSTANT_CASE. CSS in kebab-case. Environment variables in CONSTANT_CASE. URL slugs in kebab-case.

You spend a non-trivial fraction of programming life translating between them. A converter that gets every case right in one paste is a tab worth keeping open.

Tokenization is the hard part

Splitting text into words is non-obvious when input is already in some case. Our tokenizer handles:

  • Existing case boundaries. parseHTMLString[parse, HTML, string]
  • Acronym runs. HTMLParser[HTML, Parser], not [H, T, M, L, Parser]
  • Numbers. iPhone15Pro[i, Phone, 15, Pro]
  • Punctuation. Underscores, hyphens, dots, spaces all act as token boundaries
  • Unicode. Letters with diacritics tokenize as single units

Once tokenized, emitting any case is mechanical — join with the right separator, apply the right capitalization.

Common workflows

Rename a database column. firstNamefirst_name. Paste, copy snake_case.

Convert API field names. Backend uses snake_case, frontend wants camelCase. Paste a list, switch the output column.

Generate URL slugs from titles. Titles paste in Title Case, slug column emits kebab-case. For full slug behavior (diacritic stripping, stopword removal), use the Slug Generator.

Refactor environment variables. Paste a .env, switch keys to CONSTANT_CASE if upstream emitted them in another style.

Why batch matters

Converting one identifier is a half-second job. Converting fifty during a refactor is the difference between a five-minute task and a half-hour fight with sed. Per-line mode handles fifty in the same paste.

Frequently asked questions

Why is acronym handling tricky?
Naive converters split on every uppercase letter, breaking HTMLParser into h_t_m_l_parser. We treat runs of capital letters as a single token unless followed by a lowercase letter — so HTMLParser becomes html_parser, but HTTPSConnection becomes https_connection.
Which case do I want?
camelCase for JS/TS variables and methods. PascalCase for class names and React components. snake_case for Python and Ruby. kebab-case for CSS classes, file names, URL slugs. CONSTANT_CASE for env vars and constants.
Will it preserve numbers?
Yes. iPhone15Pro tokenizes to i, phone, 15, pro and renders correctly across all cases. Numbers attach to the preceding token unless they form their own group.
How does Title Case differ from PascalCase?
Title Case keeps spaces and capitalizes each word's first letter — Hello World. PascalCase has no spaces — HelloWorld. Sentence case capitalizes only the first word — Hello world.
Can it process many lines at once?
Yes. Toggle Per-line mode. Each line is converted independently — useful for renaming a list of identifiers in bulk.
What is sPoNgE case for?
A meme. Alternating upper and lower characters. Surprisingly common in marketing copy and screenshots people want to mock. Included for completeness.

Related tools

Last updated: 2025-01-15