String case converter
Convert text between seven case formats instantly. Paste any input — spaces, camelCase, snake_case, kebab-case, or mixed.
All seven conversions update as you type. Click the copy icon next to any result to copy it to your clipboard.
String case converter
0 words detected
Converted formats
—
—
—
—
—
—
—
Case conventions by language
Most languages enforce a convention, and deviating from it can make code harder to read for other contributors. JavaScript and TypeScript use camelCase for variables and functions, and PascalCase for classes, interfaces, and React components. Python uses snake_case for variables, functions, and module names, and PascalCase for classes. Go uses camelCase for unexported identifiers and PascalCase for exported ones. CSS class names use kebab-case by convention, as do URL slugs. Environment variables and compile-time constants use SCREAMING_SNAKE_CASE across most languages.
About this tool
Paste any text — spaces, camelCase, snake_case, kebab-case, or mixed — and see all seven case formats update instantly. Each output has a one-click copy button. Word boundaries are detected automatically from spaces, hyphens, underscores, and camelCase transitions (including acronyms like HTMLParser → HTML Parser). All conversions run client-side.
Frequently asked questions
Which case format should I use where?
Convention varies by context. camelCase is standard for JavaScript and Java variable and function names (`getUserById`). PascalCase is used for class names and React components (`UserProfile`). snake_case is the default in Python, Ruby, and database column names (`user_id`). kebab-case is the norm for HTML attributes, CSS class names, and URL slugs (`user-profile`). SCREAMING_SNAKE_CASE is used for constants and environment variables (`MAX_RETRY_COUNT`). Title Case and sentence case are for headings and human-readable text, not code.
How are word boundaries detected?
The tool splits words on spaces, hyphens, and underscores first. It then handles camelCase and PascalCase transitions by inserting a split wherever a lowercase letter is followed by an uppercase letter. Acronym sequences (consecutive uppercase letters) are kept together unless followed by a lowercase letter — so `HTMLParser` becomes `HTML Parser`, and `parseXMLDoc` becomes `parse XML Doc`. Leading and trailing whitespace and separators are ignored.
Does it preserve acronyms?
Partly. The splitter keeps consecutive uppercase letters together, so `HTML`, `UUID`, and `API` are treated as single words. In camelCase output they will appear as `html`, `uuid`, and `api` (all-lowercase), and in PascalCase as `Html`, `Uuid`, `Api`. If you need to preserve internal capitalisation of acronyms (e.g. keep `UUID` uppercase inside a camelCase identifier), you will need to edit the output manually — fully context-aware acronym preservation requires a dictionary.
What is the difference between Title Case and sentence case?
Title Case capitalises every word — `The Quick Brown Fox`. Sentence case capitalises only the first word — `The quick brown fox`. Sentence case matches standard prose rules (other than proper nouns), while Title Case is commonly used for headings, article titles, and button labels. Both formats join words with spaces.