Text Case Converter
Every casing style at once, from one box of text.
Runs entirely in your browser
Loading the tool…
Paste once and read every style off the list: the writing cases (UPPER, lower, Title, Sentence) and the programming ones (camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE).
The split is the interesting part. Input is broken into words on separators
and on capitalisation changes, so parseHTTPResponse,
parse_http_response and Parse HTTP Response all produce the
same result in every style, including the awkward case of an acronym running into
the next word.
Each case belongs somewhere specific, which is why the list is worth having in one place. Python and Rust use snake_case for functions and variables, Go and Java use camelCase, type names in both are PascalCase, CSS classes and URL slugs are kebab-case, and environment variables are CONSTANT_CASE. Renaming across those conventions by hand is where typos come from.
The splitting is the part that decides whether the answer is right. Input is
broken into words on spaces, underscores, hyphens and the boundaries inside
camelCase, so getHTTPResponse becomes get, HTTP, response rather than
get, h, t, t, p. That keeps an acronym together instead of scattering it, which is
the thing most converters get wrong.
Accented letters and other scripts are left as letters rather than being stripped to ASCII, so a name keeps its diacritics through a case change. Counting or cleaning the text instead? Word Counter has the statistics.
How to use it
- Type or paste your text.
- Every style updates as you type.
- Click Copy on the one you want.
Questions
What is title case exactly?
Major words capitalised, minor ones (a, an, the, of, in, and, to…) left lowercase unless they start or end the title. That is the convention most style guides share, though they disagree on the details of which words count as minor.
What is the difference between camelCase and PascalCase?
Only the first letter. camelCase starts lowercase (usually variables and functions), PascalCase starts uppercase (usually types and classes). They are otherwise identical.
Why did my ALL-CAPS text become lowercase?
A word in full capitals is ambiguous: it could be an acronym or shouting. Styles that lowercase words treat it as a word. If you need acronyms preserved, use Title Case, which capitalises rather than folds.
How are acronyms handled?
They stay together. A run of capitals is treated as one word, so getHTTPResponse becomes get_http_response in snake_case rather than get_h_t_t_p_response. Going the other way, HTTP in a source phrase becomes Http in PascalCase, which is what Go and C# style guides ask for.
What about accented characters?
They survive. Upper and lower case are applied with full Unicode rules, so a becomes A and the diacritics stay where they were rather than being stripped. Nothing is transliterated to plain ASCII, because that changes the word rather than its case.
Which case should I use for a URL?
kebab-case, lower case with hyphens. Search engines treat hyphens as word separators and underscores as part of the word, so my-page-title reads as three words and my_page_title reads as one. It also survives being typed out by a person.
Does it change anything other than case?
It changes the separators, because that is what these conventions are, and it collapses runs of whitespace between words. The letters and digits themselves are only ever uppercased or lowercased; nothing is added, removed or reordered.
Your data stays on your device
Everything above runs inside your browser as WebAssembly compiled from Rust. Nothing you type is uploaded, logged or stored on a server. You can load this page once, go offline, and it still works.
This page makes no requests at all, to anywhere. That is not a promise in the copy: it is a Content-Security-Policy header your browser enforces, and connect-src on it is none. Open the network tab and watch nothing happen.