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. firstName → first_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?
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?
Will it preserve numbers?
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?
Hello World. PascalCase has no spaces — HelloWorld. Sentence case capitalizes only the first word — Hello world.Can it process many lines at once?
What is sPoNgE case for?
Related tools
Last updated: 2025-01-15