Convert text between uppercase, lowercase, title case, camelCase, snake_case, kebab-case, and 12 total case styles with text statistics and composition visual.
Text case conversion is one of those tasks developers, writers, and data professionals perform hundreds of times — renaming a CSS class from camelCase to kebab-case, formatting a headline to Title Case, normalizing database column names to snake_case, or simply converting an accidentally caps-locked paragraph to lowercase. Each language and platform has its own naming conventions, and switching between them by hand is tedious and error-prone.
This converter handles 12 case styles including everyday transformations (uppercase, lowercase, title case, sentence case) and developer-focused naming conventions (camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case). It intelligently splits words from any input format — detecting camelCase word boundaries, underscores, hyphens, and dots — so input like "myVariableName" correctly becomes "my-variable-name" or "MY_VARIABLE_NAME."
Beyond conversion, the tool provides character statistics (uppercase/lowercase ratio, digit count, special characters), a visual composition bar, and side-by-side results for all 12 styles. Whether you're refactoring code, preparing copy, cleaning data, or just fixing caps lock, everything is one paste away.
Manually converting between 12 case styles is error-prone — especially for camelCase↔snake_case where word boundaries are implicit. This tool auto-detects input format, shows all conversions at once, and adds text statistics that generic converters lack. Keep these notes focused on your operational context. Tie the context to the calculator’s intended domain. Use this clarification to avoid ambiguous interpretation.
Word splitting: detect camelCase boundaries (lowercase→uppercase), underscores, hyphens, dots, and whitespace → word array. camelCase: first word lowercase, subsequent words capitalized, no separator. PascalCase: all words capitalized, no separator. snake_case: all lowercase, joined with underscore. kebab-case: all lowercase, joined with hyphen. CONSTANT_CASE: all uppercase, joined with underscore.
Result: my-variable-name
The camelCase input "myVariableName" is split at uppercase boundaries into ["my", "Variable", "Name"], lowercased, and joined with hyphens to produce "my-variable-name."
Different parts of a software project use different conventions. Consistency within each layer is more important than any single "right" style:
| Layer | Convention | Example | |---|---|---| | JavaScript variables | camelCase | getUserName | | React components | PascalCase | UserProfile | | Python functions | snake_case | get_user_name | | CSS/HTML | kebab-case | user-profile | | Constants | CONSTANT_CASE | MAX_RETRY_COUNT | | Database columns | snake_case | first_name | | REST API endpoints | kebab-case | /api/user-profiles | | Environment variables | CONSTANT_CASE | DATABASE_URL |
Standard title case (Chicago Manual of Style) capitalizes all words except short articles, prepositions, and conjunctions (a, an, the, in, on, for, and, but, or, of) unless they start a sentence. This tool capitalizes every word (sentence-position-agnostic title case) — for proper editorial title case, a style-aware tool is needed.
Toggle case inverts each character's current case (Hello → hELLO). Alternating case applies a pattern regardless of input (aLtErNaTiNg). These are mainly used for memes, stylistic text, and the well-known "mocking SpongeBob" format. They have no standard programming use.
It detects camelCase boundaries (lowercase followed by uppercase), PascalCase runs, and splits on underscores, hyphens, dots, and whitespace. This means "myVariableName", "my_variable_name", and "my-variable-name" all produce the same word list.
camelCase starts with a lowercase letter (myVariable), while PascalCase capitalizes the first letter too (MyVariable). JavaScript uses camelCase for variables and PascalCase for class/component names.
CSS uses kebab-case (e.g., background-color, font-size). BEM methodology extends this with double dashes and underscores (block__element--modifier).
The converter handles basic Latin letters for case conversion. Unicode accented characters (é, ñ) are preserved but may not split correctly in camelCase detection.
CONSTANT_CASE (or SCREAMING_SNAKE_CASE) is used for constants that should not change: MAX_RETRIES, API_BASE_URL, DEFAULT_TIMEOUT. Most style guides use it in JavaScript, Java, Python, C, and Rust.
Many IDEs and linters offer rename refactoring. ESLint's naming-convention rule enforces camelCase in JS. For bulk conversion, use this tool or libraries like lodash's _.camelCase(), _.snakeCase(), etc.