Skip to content
Server-sideDeleted in 30 minutes

Case Converter

Switch text between ten cases — including proper title case that keeps small words lowercase the way a style guide does, and programr cases like camelCase and snake_case that understand where one word ends and the next begins. Language rules are selectable, because lowercasing is not the same operation in every language.

Use this without the search next time. Prathom Workbench puts Prathom's tools in your toolbar.

Add to Chrome — free
Input
Result

What it does

  • Style-guide title case with minor-word handling
  • Programr cases including camel, pascal, snake, kebab and constant
  • Locale-aware casing for Turkish, Azeri and German
  • Sentence case that survives abbreviations

How to use Case Converter

  1. 1

    Paste your text

    A single heading, a column of names, or several paragraphs. Title and sentence case are applied per line, so lists convert sensibly.

  2. 2

    Pick a case

    Choose from the buttons. The result updates immediately and the original stays in the input box so you can try several.

  3. 3

    Set language rules if needed

    Leave this alone for English. Switch it for Turkish, Azeri, or German, where correct capitalisation genuinely differs from the default.

  4. 4

    Copy, or chain another conversion

    Copy the result out, or press "Use as input" to run a second conversion on it — useful for going from a sentence to a variable name in two steps.

How it works

There are really two families of conversion here, and they work differently.

Prose cases — lowercase, uppercase, title, sentence, and inverted — operate on the text as written, preserving spacing and punctuation. Title case walks the words in each line, keeps a set of minor words lowercase, and always capitalises the first and last word. Sentence case lowercases everything and then re-capitalises the first letter after each terminal punctuation mark.

Identifier cases — camel, pascal, snake, kebab, and constant — throw the original punctuation away. The text is split into words, then rejoined with the target's separator and capitalisation. Splitting happens on any run of characters that is neither a letter nor a number, and additionally at every lowercase-to-uppercase boundary. That second rule is what allows an existing userFirstName to be read as three words and re-emitted as user_first_name.

Both families call toLocaleLowerCase and toLocaleUpperCase rather than the plain versions. For English there is no difference. For the languages in the dropdown there is, and it is not cosmetic.

The Turkish I problem

This is the classic example, and it is worth understanding because it breaks real systems.

Turkish distinguishes a dotted I from a dotless one. Uppercase I lowercases to ı, and uppercase İ lowercases to i. If your code lowercases a username to compare it, and the user's device is set to Turkish, "ADMIN" becomes "admın" — which no longer matches "admin" in your database. Authentication silently fails for an entire country, and only for an entire country, which makes it exceptionally hard to reproduce.

The same class of problem appears in German, where ß uppercases to SS, so "straße" becomes "STRASSE" and gets one character longer. Any validation that assumed uppercasing preserves length is now wrong.

Selecting a language here applies those rules deliberately, so you can see what the correct result looks like rather than discovering it from a bug report.

When you'd use this

Headlines and titles are the everyday case — pasting a draft heading in and getting back something that matches house style without hand-editing each small word.

The other common case is naming. Turning a plain-English description into a variable, a database column, a CSS class, or an environment variable is a mechanical transformation that people do dozens of times a day and still get subtly inconsistent. Running the sentence through camelCase and then reusing the result gives the same answer every time.

Examples

Title case that respects small words

the lord of the rings and the return of the king
The Lord of the Rings and the Return of the King

Notice that "of", "the", and "and" stay lowercase in the middle, but the opening "the" is capitalised because it is the first word. A naive converter capitalises every word and produces "The Lord Of The Rings", which no style guide accepts.

The same text lowercased in two languages

ISTANBUL
Default / English rules: istanbul Turkish rules: ıstanbul

Turkish has two distinct letter I — dotted and dotless — and uppercase I lowercases to the dotless ı. The English result is a different word to a Turkish reader, and this single character is a well-known source of bugs in login systems that lowercase usernames before comparing them.

Frequently asked questions

Which title case rules does it follow?

The core shared by the AP and Chicago style guides. Articles, coordinating conjunctions, and short prepositions stay lowercase in the middle of a title, while the first and last words are always capitalised regardless of what they are. Where the two guides disagree — prepositions of four or more letters, like "with" and "from" — this tool capitalises, which matches Chicago.

Why is there a language setting?

Because changing case is language-dependent and the default is English. In Turkish and Azeri, uppercase I lowercases to a dotless ı. In German, the sharp s ß uppercases to SS, so a word gets longer. Applying English rules to those languages produces text that is not merely styled differently but actually misspelled.

How does it know where words end in camelCase?

It splits on any run of non-letter, non-number characters, and also at the boundary between a lowercase and an uppercase letter. That second rule is what lets it read an existing camelCase or PascalCase name and convert it to snake_case correctly, rather than treating the whole thing as one word.

Does sentence case handle abbreviations?

Partly. It capitalises after a full stop only when the stop is followed by whitespace, so "e.g. this" is not turned into "e.G. This". What it cannot know is that "Dr. Smith" ends a title rather than a sentence, so a period followed by a space always starts a new sentence. Scan the result when your text is full of abbreviations.

Will it preserve my line breaks?

Yes. Every conversion keeps the line structure of the input, and title and sentence case are applied independently to each line. That makes it safe for a column of headings pasted out of a spreadsheet, where treating the whole block as one sentence would capitalise only the very first entry.