Case Converter
NumbersConvert text between letter cases: UPPER, lower, Title, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, and more. Free online tool for developers.
Reviewed by the thecalcu.com team · Last updated June 15, 2026
What is a Case?
A Case Converter transforms text between different letter case formats used in programming, writing, and URL design. Each case format encodes word boundaries differently, through capitalisation, underscores, hyphens, or dots, and different contexts demand different conventions.
This tool converts any input text into ten standard formats simultaneously:
| Case | Example |
|---|---|
| UPPER CASE | HELLO WORLD EXAMPLE |
| lower case | hello world example |
| Title Case | Hello World Example |
| Sentence case | Hello world example |
| camelCase | helloWorldExample |
| PascalCase | HelloWorldExample |
| snake_case | hello_world_example |
| kebab-case | hello-world-example |
| CONSTANT_CASE | HELLO_WORLD_EXAMPLE |
| dot.case | hello.world.example |
For Indian developers and writers, switching between these formats is a daily task, JavaScript variables use camelCase, Python functions use snake_case, database columns use snake_case, class names use PascalCase, URL slugs use kebab-case, and environment variables use CONSTANT_CASE. Moving code between layers (frontend → API → database) means constant renaming that this converter automates in a single step.
Use alongside the Number Base Converter and Word Count Calculator for complete text and number tooling.
Why Use a Case Converter?
Manually reformatting variable names is error-prone and tedious. The most common mistake is accidentally keeping a hyphen in a JavaScript variable (user-name instead of userName), which causes a syntax error. Similarly, forgetting to convert userId to user_id when writing a SQL query is a frequent source of runtime errors that TypeScript and Python type checkers cannot catch.
Two concrete developer use cases:
API response to database column mapping: A backend developer at a Bangalore startup receives a JSON API with
userFirstName,userLastName,emailAddress(camelCase). The PostgreSQL database usesuser_first_name,user_last_name,email_address(snake_case). Pasting all three field names and clicking snake_case instantly produces the correct database column names.URL slug generation: A content team in Chennai needs URL-safe slugs for 50 blog article titles. Titles like "How to File ITR in India" must become
how-to-file-itr-in-india. Pasting the title and clicking kebab-case produces the correct slug in one step, ready to paste into the CMS.
Who Should Use This Converter?
Frontend and backend developers who move data between layers with different naming conventions, camelCase in JavaScript, snake_case in Python/databases, PascalCase for class names.
Database administrators and data engineers who need to convert API field names to PostgreSQL/MySQL column names (camelCase → snake_case) or generate CONSTANT_CASE environment variable names from readable descriptions.
Content writers and editors who need to standardise heading case across articles, distinguish Title Case from Sentence case, or generate URL-safe slugs from article titles in kebab-case.
DevOps and cloud engineers who generate CONSTANT_CASE configuration keys for .env files, Kubernetes ConfigMaps, AWS Parameter Store, and environment variables in CI/CD pipelines.
SEO specialists who generate kebab-case URL slugs from page titles to ensure search engine-friendly URLs. See the Number to Words Converter for number formatting in content.
What Insights Does the Case Converter Give You?
The 10 case output cards show every variant of your input simultaneously, paste once and get all formats at once, eliminating multiple reformatting steps.
Each card has a Copy button that puts the result directly on your clipboard, ready to paste into your IDE, CMS, database schema tool, or terminal.
Practical interpretation guide:
- If your result in camelCase, snake_case, and kebab-case is the same single token (no separators), your input was likely a single word, check if you intended a multi-word phrase.
- If the Title Case result has too many capitals, your input may contain abbreviations (like "API" or "ITR") that the splitter treats as sequences of single-letter words.
- CONSTANT_CASE and snake_case produce the same separator pattern; they differ only in capitalisation.
How to use this Case calculator
- The converter loads with "Hello World Example" as the default input to demonstrate all 10 output formats.
- Click inside the Input Text area and type or paste your text. All 10 case variants update instantly.
- The character count and word count below the textarea update as you type, useful for verifying that the word splitter detected the correct number of words in your input.
- Click Copy on the card for your target case format to copy it to clipboard.
- Use the Clear button (bottom-right of the input area) to reset the input and start fresh.
- The URL updates as you type, share the URL with a pre-filled input by copying it from your browser's address bar.
- For mixed inputs like
getUserProfileDataorget-user-profile-data, check the snake_case output: if it showsget_user_profile_data, the word splitting worked correctly.
Formula & Methodology
The converter splits input into words before applying case rules. Word boundaries are detected by: 1. camelCase/PascalCase boundaries, a lowercase letter followed by an uppercase letter (e.g.helloWorld→hello,World) 2. Consecutive capitals followed by a lowercase letter,ABCDef→ABC,Def3. Separator characters, hyphens, underscores, and dots are treated as word separators and removed 4. Whitespace, spaces and tabs split words as expected After splitting, each target case is applied:UPPER CASE: words → joined with spaces → .toUpperCase() lower case: words → joined with spaces → .toLowerCase() Title Case: words → each word capitalised → joined with spaces Sentence case: full text → .toLowerCase() → first char capitalised camelCase: words → first word lowercase, rest capitalised → joined PascalCase: words → each word capitalised → joined snake_case: words → all lowercase → joined with '_' kebab-case: words → all lowercase → joined with '-' CONSTANT_CASE: words → all uppercase → joined with '_' dot.case: words → all lowercase → joined with '.'Example, "getUserProfileData": | Step | Result | |---|---| | Detect boundaries |get,User,Profile,Data| | Normalise |get,user,profile,data| | camelCase |getUserProfileData| | snake_case |get_user_profile_data| | kebab-case |get-user-profile-data| | CONSTANT_CASE |GET_USER_PROFILE_DATA| Edge case: abbreviations like "ITR", "API", "GST" are treated as sequences of single letters by the camelCase detector. "fileITROnline" splits asfile,I,T,R,Online, which may not be the intended result. For abbreviation-heavy text, consider adding spaces manually before converting.
Frequently Asked Questions