Text Case Converter

Convert text to uppercase, lowercase, title case online for free.

✓ Free✓ No sign-up✓ Works in browser

Advertisement

15 cases

UPPERCASE

All caps

THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

lowercase

All small

the quick brown fox jumps over the lazy dog

Title Case

Every word capitalized

The Quick Brown Fox Jumps Over the Lazy Dog

Sentence case

First word only

The quick brown fox jumps over the lazy dog

camelCase

Code variable

theQuickBrownFoxJumpsOverTheLazyDog

PascalCase

Classes & components

TheQuickBrownFoxJumpsOverTheLazyDog

snake_case

Python, SQL

the_quick_brown_fox_jumps_over_the_lazy_dog

kebab-case

URLs, CSS

the-quick-brown-fox-jumps-over-the-lazy-dog

CONSTANT_CASE

Constants, env vars

THE_QUICK_BROWN_FOX_JUMPS_OVER_THE_LAZY_DOG

dot.case

Config keys

the.quick.brown.fox.jumps.over.the.lazy.dog

path/case

File paths

the/quick/brown/fox/jumps/over/the/lazy/dog

iNVERSE cASE

Flipped case

tHE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

aLtErNaTe CaSe

Alternating

tHe qUiCk bRoWn fOx jUmPs oVeR ThE LaZy dOg

rAndOM CasE

Random mixed

THe QUIcK browN foX JUMPS OVEr thE laZY DOg

sPoNgEbOb CaSe

Like SpongeBob meme

tHe QuIcK bRoWn FoX jUmPs OvEr ThE lAzY dOg

Click any card to copy that format instantly

Advertisement

How to Use This Tool

1

Paste Your Text

Type or paste any text into the input field at the top. The converter works with text of any length.

2

Choose Your Format

All 8 case formats update in real-time. Find the format you need — uppercase, lowercase, title case, camelCase, PascalCase, snake_case, kebab-case, or sentence case.

3

Copy the Result

Click the copy icon next to the format you want to copy it instantly to your clipboard.

Advertisement

Related Tools

Frequently Asked Questions

What is camelCase?
camelCase starts with a lowercase letter and capitalizes the first letter of each subsequent word, with no spaces. Example: myVariableName. It is the standard naming convention in JavaScript and Java.
What is the difference between PascalCase and camelCase?
PascalCase capitalizes every word including the first (MyVariableName), while camelCase keeps the first word lowercase (myVariableName). PascalCase is used for class names; camelCase for variables and functions.
What is snake_case used for?
snake_case uses underscores instead of spaces with all lowercase letters. Example: user_profile_url. It is the standard naming convention in Python and for database column names.
What is kebab-case?
kebab-case uses hyphens instead of spaces with all lowercase letters. Example: my-css-class. It is the standard for CSS class names, HTML attributes, and URL slugs.

About Text Case Converter

A developer is porting a legacy Ruby on Rails codebase to TypeScript and needs to convert 400 snake_case database column names to camelCase property names in a types.ts file before the next PR review. A marketing manager just received a 60-row CSV of product names in SHOUTING ALL CAPS from a vendor and the Shopify import expects Title Case. This converter handles eleven transforms in one paste: UPPERCASE, lowercase, Title Case (with proper small-word rules for 'a', 'an', 'the', 'and', 'or', 'of', 'in', 'on'), Sentence case, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case, and alternating case. Each runs client-side against the full text blob so you can paste a 10,000-line file, hit the button, and copy the result without waiting for a server round trip or worrying whether your proprietary product names hit a remote log. The Title Case algorithm follows AP Stylebook conventions (capitalize words of four letters or more, plus the first and last word regardless of length) which matches what most editorial style guides expect.

When to use this tool

Converting database columns to API property names

A Rails backend returns user_sign_up_date in snake_case while the TypeScript frontend expects userSignUpDate in camelCase. Paste 50 column names, convert to camelCase in one pass, paste directly into the Zod or Yup schema definition without hand-rewriting each identifier.

Normalizing vendor product data before CSV import

A supplier sends product titles in inconsistent cases — some SHOUTING, some lowercase, some MiXeD. Convert to Title Case so the Shopify, WooCommerce, or BigCommerce import displays consistently. The four-letter rule means 'for' and 'the' stay lowercase but 'With' capitalizes.

Generating CSS class names from design tokens

A designer hands you 120 Figma layer names in PascalCase (NavBarPrimaryLink). Convert to kebab-case (nav-bar-primary-link) for BEM-style CSS classes, ready to paste into a Tailwind config or SCSS partial without running sed on the terminal.

Fixing headlines pasted from PDF sources

Academic PDFs often paste with every word in Title Case or every letter uppercased depending on the font rendering. Drop in the extracted title, hit Sentence case, and get clean headline-case text ready for a citation manager like Zotero or Mendeley.

Building environment variable names from feature flags

A product manager wrote feature flag descriptions in plain English ('dark mode toggle', 'new checkout flow'). Convert to CONSTANT_CASE (DARK_MODE_TOGGLE, NEW_CHECKOUT_FLOW) to match .env convention and paste directly into the Vercel or Netlify environment variables dashboard.

How it works

  1. 1

    Tokenization handles mixed-case identifiers

    Input is split into tokens using a regex that recognizes existing word boundaries (whitespace, hyphens, underscores, dots) plus camelCase and PascalCase breaks ([A-Z][a-z]+). So 'getHTTPResponse' tokenizes to ['get', 'HTTP', 'Response'] and round-trips correctly through any case without losing the acronym 'HTTP'.

  2. 2

    Title case follows AP Stylebook four-letter rule

    Words of four or more letters capitalize; shorter conjunctions, articles, and prepositions stay lowercase ('a', 'an', 'the', 'and', 'or', 'but', 'of', 'in', 'on', 'at', 'to', 'for'). The first and last word of the string always capitalize regardless of length, which is the AP and Chicago Manual standard — Wikipedia and most newspaper house styles use the same rule.

  3. 3

    Conversions preserve non-letter content

    Numbers, punctuation, and emoji pass through unchanged. Only alphabetic characters are transformed, and Unicode case folding (not just ASCII) is applied via String.prototype.toLocaleLowerCase and toLocaleUpperCase, so Turkish dotted-i, German ß, and Greek sigma final-form behave correctly.

Pro tips

Title Case differs between AP and Chicago styles

AP Stylebook (newspapers, most web publications) capitalizes words of four or more letters. Chicago Manual of Style (books, academic) capitalizes all words except articles, conjunctions, and prepositions regardless of length. Our default is AP because it matches what most editorial CMS systems expect. If you are publishing academic content or a book manuscript and your style guide specifies Chicago, manually lowercase any 5-letter prepositions like 'about', 'above', 'below' after conversion — the algorithm will incorrectly capitalize them under AP rules.

camelCase for JSON keys, snake_case for SQL columns

The case convention for your codebase is not aesthetic — it matches the runtime. JavaScript and JSON APIs use camelCase by overwhelming convention (userName, createdAt), Python and Ruby use snake_case (user_name, created_at), and SQL column names are almost always snake_case because most database engines fold unquoted identifiers to lowercase anyway. When converting between layers (Rails API to React frontend), pick one convention per layer and transform at the boundary rather than mixing — libraries like humps.js or lodash.camelCase automate this in code.

Do not round-trip SHOUTING text through Title Case blindly

Converting SHOUTING ALL CAPS to Title Case loses information when the original contained proper nouns or acronyms. 'CEO OF NASA' becomes 'Ceo Of Nasa' because the algorithm has no way to know NASA should stay uppercase. For vendor data that mixes legitimate acronyms (USA, API, SKU) with shouting, first convert to lowercase, then manually identify and uppercase the real acronyms, then apply Title Case. Or keep the original and only convert the words you know are not acronyms.

Frequently asked questions

What Title Case rules do you follow — AP, Chicago, or something else?

We default to AP Stylebook rules: capitalize all words of four or more letters, plus the first and last word regardless of length. Short conjunctions, articles, and prepositions ('a', 'an', 'the', 'and', 'or', 'of', 'in', 'on', 'at', 'to', 'for', 'but') stay lowercase unless they are the first or last word. This is the convention used by the Associated Press, most newspapers, and the majority of web publications. If your style guide requires Chicago Manual rules (where all prepositions stay lowercase regardless of length), you will need to manually lowercase words like 'about', 'above', and 'below' after the automated pass.

Why did converting 'getHTTPResponse' to snake_case produce 'get_http_response' instead of 'get_h_t_t_p_response'?

Because the tokenizer recognizes sequences of uppercase letters as a single acronym token when followed by a lowercase letter. 'getHTTPResponse' splits as ['get', 'HTTP', 'Response'] and reassembles cleanly in any target case. Without this heuristic, round-tripping between camelCase and snake_case in a real codebase becomes impossible — 'getHTTPResponse' would turn into 'get_h_t_t_p_response' and back into 'getHTTPResponse' as 'getHttpResponse', breaking imports. The rule matches how lodash.snakeCase, Google's Closure library, and most Ruby ActiveSupport implementations handle this edge case.

Does this handle Unicode characters like Turkish dotted-i or German ß correctly?

Yes. We use String.prototype.toLocaleLowerCase and toLocaleUpperCase rather than the deprecated ASCII-only versions, so Turkish lowercase 'i' (U+0069) correctly uppercases to 'İ' (U+0130) rather than plain 'I', and German lowercase 'ß' (U+00DF) correctly uppercases to 'SS' in most locales or 'ẞ' (U+1E9E) in newer ones. For text-heavy tasks in non-English languages, always test a small sample first because locale-specific rules vary — Azerbaijani also uses dotted-i, Lithuanian has specific rules for 'i' combining with diacritics, and these edge cases surface only in the specific character combinations that trigger them.

Can I convert a 10,000-line file without crashing my browser?

Yes for most cases. The conversion is a single pass over the string with regex operations that run at roughly 100 MB per second on modern CPUs, so a 10,000-line text file (typically 500 KB to 2 MB) converts in under 50 milliseconds. The bottleneck is usually the DOM update when the result is injected back into the output textarea — large outputs can cause a brief paint pause. For files over 10 MB, prefer a CLI tool (sed, awk, or a Node script using lodash.snakeCase) which operates without DOM overhead and can stream the result to disk.

Will proper nouns and acronyms be preserved when converting from lowercase to Title Case?

No. The algorithm has no knowledge of which words are proper nouns or acronyms — 'nasa' lowercased has identical letters to any other four-letter word, so it converts to 'Nasa' in Title Case rather than staying 'NASA'. If you need to preserve specific capitalization patterns (brand names, acronyms, chemical formulas), either pre-process your text to mark them with placeholder tokens and substitute back after conversion, or do a manual pass on the output looking for the specific strings you know should stay capitalized. This is a structural limitation of context-free case conversion, not something any tool in this category solves automatically without ML.

Honest limitations

  • · Title Case cannot distinguish real acronyms (NASA, API) from shouted words, so converting from ALL CAPS loses acronym information.
  • · Tokenization assumes English-style word boundaries; languages without spaces (Chinese, Japanese, Thai) are not meaningfully case-transformable.
  • · Special characters and emoji pass through unchanged, which is usually desired but means a title containing em-dashes will keep them intact rather than following the typographic rules of your target style guide.

Case conversion is rarely the last step. After normalizing case, the duplicate-line-remover is often next for deduplicating column lists or identifier files. The word-counter verifies that a normalized article still meets its budget after the transforms. For developers converting between naming conventions at an API boundary, the json-formatter cleans up the target JSON after key transformation, and the regex-tester is how you build the right tokenization pattern when a case converter is not flexible enough for your specific identifier scheme.

Advertisement