Text Case Converter
Type once, get camelCase, snake_case, Title Case, and every other form at once.
By opening this website or using its tools, you agree to our Terms and Privacy Policy.
Your file never leaves your browser during processing
How it works
To convert text case, type or paste text above in any case — camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, Title Case, Sentence case, dot.case, lower case, and UPPER CASE all appear at once below, each with its own copy button, computed locally with no upload.
Whatever you type is first broken back down into plain words: camelCase and PascalCase are split at the boundary between a lowercase letter and the following uppercase letter, runs of capitals like an acronym are split before the last capital in the run so "XMLHttpRequest" becomes "XML", "Http", "Request" rather than one long word, and underscores, hyphens, dots, and spaces are all treated as word separators. That word list is then the single source every case form below is built from, so every conversion type-checks against the same understanding of where one word ends and the next begins.
Each case form is just a different join rule over that same word list — camelCase lowercases the first word and capitalizes the rest with no separator, snake_case lowercases everything and joins with underscores, Title Case capitalizes every word and joins with spaces, and so on. Because they all read from the same tokenizer, the results always agree on word boundaries even when the input mixes styles, like "user_id-toCustomerName".
This is a common step when renaming a variable, a database column, or a CSS class between languages and conventions that disagree on casing — JavaScript favors camelCase, Python and SQL favor snake_case, CSS and URLs favor kebab-case, and environment variables favor CONSTANT_CASE.
FAQ
What input formats does this understand?
camelCase, PascalCase, snake_case, kebab-case, dot.case, space-separated words, and mixes of these — including acronym runs like "XMLHttpRequest".
Why are all the case forms shown at once instead of picking one target?
Comparing forms side by side is usually the actual point — checking what a variable name looks like in three different conventions before choosing one, for instance — so showing all of them costs nothing extra to compute.
Does this handle numbers and special characters?
Numbers are kept attached to the word they appear in. Punctuation other than underscores, hyphens, and dots is left as-is inside a word rather than treated as a separator.