Case Converter
Convert text between UPPER, lower, Title, Sentence, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, and dot.case.
What is this for?
Every language, framework, and platform enforces different naming conventions. JavaScript expects camelCase, Python demands snake_case, CSS requires kebab-case, and environment variables need CONSTANT_CASE. Converting between these by hand is tedious and error-prone, especially when dealing with acronyms, numbers, and existing separators.
This tool automates the translation. Paste any string, and it instantly generates output in 14 different case styles. The converter intelligently detects word boundaries by recognising case transitions, separators (_, -, ., /), and whitespace, then reconstructs the text in whichever format you need.
When to use it
- Converting API response field names from
camelCaseto Python ORM column names insnake_case. - Turning design-system token names from
PascalCaseinto CSS class names usingkebab-case. - Generating URL slugs in
kebab-casefrom article titles or heading text. - Converting environment variable names between formats, or translating them from existing code into
CONSTANT_CASE. - Reformatting lists of identifiers when migrating between codebases or languages with different naming standards.
- Quickly converting sentence text into
Title Casefor UI labels, buttons, or headings.
How it works
- Word detection: The tool scans the input for word boundaries. It recognises uppercase-to-lowercase transitions (e.g.
myWord), consecutive capitals (e.g.HTTPServer), separators (_,-,.,/), and spaces. - Normalisation: Once word boundaries are identified, the text is split into a list of individual words, stripped of separators and case information.
- Re-casing: The word list is then re-joined and re-cased according to your chosen output format. Each style applies its own rules for capitalisation and separators.
- Instant output: All 14 case styles are generated simultaneously, letting you copy whichever variant you need.
Common gotchas
- Acronyms are ambiguous: The tool treats consecutive capitals as a single word boundary. So
XMLHttpRequestbecomesxml http requestrather thanx m l http request. This matches most Java and JavaScript conventions, but may differ from your style guide. If the output is wrong, add separators manually:XML_Http_Request. - Numbers stick to the preceding word:
Item2Priceis treated as two words (item2,price), not three. If you needitem,2,priceas separate tokens, add a separator:Item_2_Price. - camelCase always starts lowercase: Even if your input is
MyField,camelCaseoutput will bemyField. UsePascalCaseif you need the first letter capitalised. - Conversion isn't always reversible: If you convert
myFieldtomy-fieldand back tocamelCase, you lose the knowledge that "field" was originally lowercase. The tool's heuristics do their best, but some information is inherently lost. - Leading or trailing separators are stripped: Input like
_myVar_is treated as justmyVar. Whitespace is also trimmed automatically.
Output formats
camelCase,PascalCase,snake_case,CONSTANT_CASE,kebab-case,dot.case,lower,UPPER,Title Case,Sentence case, and four additional stylised variants.