Skip to main content

Case Converter

Convert text between 10 naming conventions in one click

EVT·T43
Case Transform

About the Case Converter

The Case Converter transforms input text into ten standard case formats simultaneously: UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, and dot.case. The boundary detector splits on spaces, hyphens, underscores, dots, and internal camelCase transitions, so a string like userProfile_v2.final normalizes cleanly into every variant.

It is built for developers translating identifiers between languages (camelCase JS ↔ snake_case Python ↔ PascalCase C#), API consumers normalizing payloads, content writers fixing case after a paste from a CMS, SEO teams generating URL-safe slugs from blog titles, and anyone who has ever wasted ten minutes manually re-casing an environment-variable name.

All ten conversions run in JavaScript on your device. Whatever text you paste — internal identifiers, customer-facing copy, API key names — never leaves your browser. The page makes no network call after first load and stores nothing in cookies. This matters: variable and table names from production code often leak schema information that should not appear in any third-party log.

Case formats encode meaning. camelCase for variables and functions, PascalCase for classes and types, snake_case for Python and database columns, kebab-case for URLs and CSS classes (Google treats hyphens as word separators; underscores as joiners), CONSTANT_CASE for environment variables, dot.case for object paths and locale codes. Use the right format for the context rather than the one that looks nicest — mixed conventions inside a codebase or URL structure cost more than they save.

Privacy100% client-side · text never transmitted
Coverage10 case formats · smart boundary detection
Last reviewed2026-05-14 by Dennis Traina
0 characters 0 words
UPPERCASE
lowercase
Title Case
Sentence case
camelCase
PascalCase
snake_case
kebab-case
CONSTANT_CASE
dot.case
Separate words with
Custom delimiter requires subscription
Convert each line to
Bulk mode requires subscription
Save requires subscription
137 Foundry — custom app building studio

How to Use the Case Converter

Type or paste any text into the input field. All 10 case formats update instantly as you type. Click any output card (or its clipboard icon) to copy that version to your clipboard. The tool automatically detects word boundaries from spaces, hyphens, underscores, dots, and camelCase transitions, so you can paste text in any format and convert it to any other.

When to Use Each Case Format

camelCase is the standard for JavaScript variables, function names, and JSON keys. PascalCase (also called UpperCamelCase) is used for class names in JavaScript, TypeScript, C#, and Java. snake_case is the convention in Python, Ruby, Rust, and SQL. kebab-case dominates URLs, CSS class names, and HTML attributes. CONSTANT_CASE (screaming snake case) is universally used for constants and environment variables. dot.case appears in Java package names, configuration keys, and some template engines.

Title Case vs. Sentence Case

Title Case capitalizes the first letter of every word and is standard for headlines, book titles, and formal headings. Style guides differ on whether to capitalize short words like “the,” “a,” and “of” — this tool capitalizes every word for consistency, matching AP style for simplicity. Sentence case capitalizes only the first letter of the first word (plus proper nouns, though automatic detection of proper nouns isn’t possible). Use sentence case for body text, UI labels, and casual headings.

Why Naming Conventions Matter in Code

Inconsistent naming is the number-one source of trivial bugs and code-review friction. When a variable is called userName in one file and user_name in another, developers waste time second-guessing which is correct. Most languages enforce conventions through linters: ESLint enforces camelCase in JavaScript, PEP 8 enforces snake_case in Python, and RuboCop enforces snake_case in Ruby. Following conventions isn’t about personal preference — it’s about making your code readable to every other developer who will ever touch it.

How the Conversion Algorithm Works

The first step is word splitting: the tool breaks your input into individual words by detecting boundaries at spaces, underscores, hyphens, dots, and camelCase transitions (where a lowercase letter meets an uppercase letter). Once you have an array of clean lowercase words, each output format simply joins them differently: snake_case joins with underscores, kebab-case with hyphens, camelCase capitalizes all but the first, and PascalCase capitalizes all. The challenge is in the splitting — handling edge cases like acronyms (HTMLParser → html, parser), numbers (item2count → item2count), and mixed inputs.

Common Mistakes When Converting Cases

Losing acronyms: converting “parseHTMLDocument” to snake_case should ideally produce “parse_html_document,” not “parse_h_t_m_l_document.” This tool handles that by treating consecutive uppercase letters as a single word boundary. Forgetting URL encoding: kebab-case is URL-safe, but spaces and underscores can cause issues in URLs without proper encoding. Mixing conventions mid-project: if your codebase uses camelCase, don’t introduce snake_case in a new module — convert first, then be consistent.

Looking for related tools? Try our Word & Character Counter to analyze your text length and readability, or explore all Writing & Content tools.

Frequently Asked Questions

What is the difference between camelCase and PascalCase?

camelCase starts with a lowercase letter and capitalizes each subsequent word, as in userName. PascalCase capitalizes every word including the first, as in UserName. camelCase is used for variables and functions; PascalCase is used for class and type names.

Which case format should be used for URLs?

kebab-case, which separates words with hyphens. Search engines treat hyphens as word separators and underscores as word joiners, so my-blog-post is readable and indexable while my_blog_post reads as a single token.

Why is CONSTANT_CASE used for environment variables?

The all-uppercase convention with underscores makes constants visually distinct from regular variables and is required by most shells and configuration systems. Names like API_KEY or DATABASE_URL are the standard across Node, Python, Ruby, and shell scripts.

Does the converter work offline?

Yes. All ten conversions run in JavaScript in the browser. No text is sent to a server, making the tool safe for internal identifiers, customer data, and confidential strings.

Can it detect case boundaries from mixed input?

Yes. The converter splits input on spaces, hyphens, underscores, dots, and camelCase transitions, so pasting userProfile_v2.final still produces clean output in every format.

Honey-Do Tracker — home maintenance for landlords and property managers
137 Foundry — custom app building studio
137 Foundry — custom app building studio
Link copied to clipboard!