Skip to content

Case Converter

Convert text between eleven cases: sentence case, Title Case, UPPERCASE, lowercase, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, alternating, and inverse. Title case follows AP-style rules, keeping short articles and prepositions lowercase instead of capitalising everything. Word boundaries are detected at camelCase humps and separators, so you can recase an existing identifier, not just plain prose, with a live side-by-side preview.

How Case Converter works

  1. Paste the text you want to reformat.

  2. Choose a case from the list — the preview updates instantly.

  3. Compare the original and result side by side.

  4. Copy the converted text or download it as a file.

When to use Case Converter

  • Rescuing a heading that arrived in ALL CAPS by dropping it to Title Case, where AP-style rules keep the small words down instead of shouting every article and preposition.
  • Turning a UI label like “User profile settings” straight into a variable name — camelCase for a property, PascalCase for a component, snake_case for a database column.
  • Building a URL slug from a title with kebab-case, which lowercases each word and joins them with hyphens in the shape most content systems expect.
  • Producing CONSTANT_CASE names for environment variables and configuration keys without hand-typing every underscore and capital.
  • Recasing a whole sentence that was pasted in the wrong case back to sentence case, so only the first word of each sentence is capitalised again.
  • Converting an identifier already in one programming case into another — snake_case to camelCase, say — because word boundaries are detected, not just spaces.
  • Undoing a caps-lock accident on a line with inverse case, which flips each letter’s case individually so “tHE rEPORT” becomes “The Report”.
  • Normalising a column of headings pasted from a spreadsheet, where each line keeps its own first and last word under title case rather than being treated as one run.

Examples

Title case keeps the small words down

Input

the lord of the rings

Output

The Lord of the Rings — “of” and the interior “the” stay lowercase under AP rules, while the first and last words are always capitalised.

Articles, coordinating conjunctions, and short prepositions of three letters or fewer stay down; longer prepositions such as “with”, “from”, and “into” are capitalised.

One phrase across the identifier cases

Input

User Profile Settings

Output

camelCase → userProfileSettings, PascalCase → UserProfileSettings, snake_case → user_profile_settings, kebab-case → user-profile-settings, CONSTANT_CASE → USER_PROFILE_SETTINGS.

The same word boundaries drive all five, so switching between them never re-splits the phrase differently.

Re-casing an existing identifier

Input

getUserProfileByID

Output

snake_case → get_user_profile_by_id. The camelCase humps and the trailing all-caps “ID” are both read as boundaries, so “ByID” becomes “by_id” rather than “byid”.

A run of capitals followed by a capital-then-lowercase, as in “IDToken”, splits before the last capital: “id_token”.

Fixing a caps-lock line

Input

tHE MEETING IS aT NOON

Output

Inverse case → The meeting is At noon; Sentence case → The meeting is at noon.

Inverse flips each letter blindly, so it undoes a stuck shift key; sentence case is the cleaner fix when you want ordinary capitalisation.

How Case Converter works under the hood

There are eleven cases in two families. The prose cases — sentence, title, UPPERCASE, lowercase, alternating, and inverse — preserve your punctuation and spacing. The identifier cases — camelCase, PascalCase, snake_case, kebab-case, and CONSTANT_CASE — treat every non-letter and non-number as a word separator, so punctuation is dropped by design and the result is a clean, machine-safe token.

Word splitting for the identifier cases does more than split on spaces. It inserts a boundary at a lowercase-or-digit followed by an uppercase letter (the camelCase hump in “userProfile”), and at a run of capitals followed by a capital-then-lowercase (so “HTMLParser” splits into “HTML” and “Parser”), then breaks on any remaining non-alphanumeric character. That is why you can convert directly from one programming case to another, not only from plain prose.

Title case follows the AP stylebook rather than capitalising every word. A fixed set of minor words stays lowercase — the articles a, an, the; the coordinating conjunctions and, or, nor, but, so, yet; and short prepositions and connectors of three letters or fewer such as of, in, on, to, by, at, per, up, off, out, via, as, and if. Any word not on that list is capitalised, including longer prepositions like with, from, and into, which is the distinction most “lowercase every preposition” converters get wrong.

Two rules protect headings. The first and last word of each line are always capitalised even if they are minor words, so “The Lord of the Rings” keeps its leading “The”. And title case operates line by line: a pasted list of headings has each line’s own first and last word treated as edges, rather than the whole block sharing one opening and closing word.

Sentence case lowercases everything first, then capitalises the first letter of the string and the first letter after any full stop, question mark, or exclamation mark followed by whitespace, plus the first letter after a newline. It is a punctuation-driven pass, so it will not know that a proper noun mid-sentence should stay capitalised — that is an honest limitation of doing this without a dictionary.

Alternating and inverse are per-character transforms. Alternating walks the text flipping between lower and upper on each letter while leaving spaces and punctuation untouched, so the toggle only advances on letters. Inverse swaps each letter’s case independently — uppercase becomes lowercase and the reverse — which makes it the exact tool for undoing a caps-lock or stuck-shift mishap. Capitalisation itself is Unicode-aware, finding the first actual letter in a token so a leading quote or bracket does not absorb the capital.

Common mistakes

  • Expecting punctuation to survive an identifier case. camelCase, snake_case, kebab-case, PascalCase, and CONSTANT_CASE strip apostrophes, commas, and slashes because they treat every non-alphanumeric as a separator. If you need the punctuation kept, you want a prose case such as title or sentence instead.
  • Assuming title case will capitalise every word. By design it keeps AP minor words lowercase, so “Notes on a Scandal” is correct output, not a bug. If you genuinely want every word capitalised regardless of role, UPPERCASE the first letters another way — title case is opinionated on purpose.
  • Trusting sentence case to fix proper nouns. It capitalises sentence openings from punctuation alone, so names, brands, and the pronoun “I” mid-sentence come back lowercase. Give the result a quick read for those cases; the tool cannot infer them without a dictionary.
  • Confusing inverse with alternating. Inverse flips whatever case each letter already has, so it round-trips text; alternating imposes a fixed lower-upper rhythm regardless of the original. Reach for inverse to undo a caps-lock line, and alternating only for the stylised “aLtErNaTiNg” effect.
  • Feeding an already-hyphenated slug back through kebab-case and expecting no change. It will re-split on the hyphens, lowercase, and rejoin — usually harmless, but a slug with meaningful adjacent hyphens or trailing punctuation can shift. Convert from the original title when you can.
  • Overlooking that title case works per line. Pasting a multi-line heading block is the intended use, but if you paste one sentence that happens to contain a hard line break, each fragment gets its own capitalised first and last word, which may not be what you meant for a single flowing sentence.

Frequently asked questions

All tools

Search NeatKit

Jump to a tool, a page, or change the theme.