How to convert text case online, including a title case that gets small words right

Paste text, pick a case, copy the result. Ten transforms, zero retyping, and nothing leaves the browser.

A colleague sends over a spreadsheet column typed in SHOUTING CAPS, and the catalogue wants it in title case. Somebody else hands you a headline that has to become a CSS class name. The Case Converter does both without you touching the shift key once.

Try it — paste text and pick a case

How it works

  1. Paste or type your text in the top box. The character, word and line counts update immediately.
  2. Click one of the ten case buttons. The result appears below and re-renders on every keystroke, so you can keep editing with the target case already applied.
  3. Hit Copy. The button flips to "Copied!" for two seconds so you know the clipboard write actually landed.

Why title case is harder than it looks

Most online converters implement title case as a one-line regex: uppercase the letter after every word boundary. Feed that "the lord of the rings" and you get "The Lord Of The Rings", which no style guide anywhere endorses.

Real title case keeps articles, short conjunctions and short prepositions in lowercase. This tool holds a list of fifteen of them: a, an, the, and, but, or, for, nor, on, at, to, from, by, of, in. There is one override that trips up naive implementations. The first and last word of a line always get capitalised, whatever they are, so "of mice and men" becomes "Of Mice and Men" rather than "of Mice and Men".

Capitalisation targets the first letter, not the first character. A quoted phrase like "hello world" comes back as "Hello World" with the quote intact, instead of the converter giving up because position zero was punctuation.

The six programmer cases

camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE and alternating all run per line, so a list of forty names converts to forty identifiers in one click.

The word splitter matters more than the joining. It breaks on spaces and punctuation, but it also breaks on case boundaries already present in the input, and it treats a run of capitals followed by a capitalised word as two words. That is what makes parseHTMLValue split into parse, HTML and Value, so you get parse_html_value instead of the mangled parse_h_t_m_l_value a simpler splitter produces. Round-tripping an identifier from snake_case to camelCase and back gives you what you started with.

Sentence case and where it stops

Sentence case lowercases everything, then restores a capital at the start of the text, after each period, question mark or exclamation mark, and at the start of every new line. It does not know that "nasa" is an acronym or that "john" is a name. For prose that is fine. For anything with proper nouns, expect to fix a handful of words by hand.