Case Converter

Instantly convert text to uppercase, lowercase, Title Case, camelCase, snake_case, and 9 other formats.

Type to instantly convert into 14 formats · Korean text remains unchanged

💡 Korean characters (한글) do not have a concept of uppercase/lowercase and will remain as-is. If Korean and English are combined (e.g. 사용자Name), the tool recognizes the boundary and separates them (e.g., 사용자_name ). All conversions are processed only within your browser and are not sent to a server.

What is the Case Converter?

Ever typed a long sentence with Caps Lock on, or needed to switch variable names from camelCase to snake_case? This tool handles it all. Paste your text, and it instantly transforms into 14 different formats, from standard `UPPERCASE` to developer styles like `PascalCase` and `kebab-case`. Its smart word detection correctly splits mixed formats like `userID` or `a-variable-name`. All processing happens in your browser, so your text is never sent to a server, making it safe for sensitive information.

How to use

  1. Type or paste your text into the `Text Input` field. Press the `Example` button to see how it works.
  2. As you type, the converted text instantly appears below in all 14 formats, such as `UPPERCASE`, `lowercase`, and `camelCase`.
  3. A live count of characters and recognized words appears above the results for a quick check.
  4. Click the `Copy` button next to your desired format to copy it to the clipboard and use it anywhere.

Case Converter guide

How this tool is used in real work, and what to watch out for.

Each language and platform has its own conventions

Which case to use isn't a matter of taste; it's about following the conventions of an ecosystem. Violating them might not break your code, but you'll get flagged in code reviews and run into friction with autocomplete and linters.

UsageCaseExample
JavaScript/Java variables, functionscamelCaseproductStockManager
Classes, components, typesPascalCaseProductStockManager
Python variables/functions, Rustsnake_caseproduct_stock_manager
Constants, environment variablesSCREAMING_SNAKE_CASEPRODUCT_STOCK_MANAGER
CSS classes, HTML attributes, URL slugskebab-caseproduct-stock-manager
DB tables/columns (MySQL/PostgreSQL)snake_caseproduct_stock_manager
Web asset filenameskebab-caseproduct-stock-manager.js
There's a good reason `snake_case` is the standard for database columns. PostgreSQL folds unquoted identifiers to lowercase, so using camelCase would force you to wrap column names in double quotes for every query. And while MySQL on Linux is case-sensitive with table names, on Windows it's not; mixing cases can lead to code that works on your dev machine but fails on the server.

The most common task: converting between API responses and code

In practice, you'll probably open this tool for a few specific reasons. A Python or PHP backend is sending `snake_case` JSON, but your frontend uses `camelCase`. Or you need to turn a list of database columns into JavaScript object keys.

Just paste your text into the input, and all 14 formats will appear instantly. Copy the one you need. Note that the tool treats the entire input as a single string to split into words—line breaks also act as word separators. If you paste multiple lines, they'll be merged into a single `camelCase` string. The intended use is to convert one line at a time.

  • It works in reverse, too. Paste in `camelCase`, and it will split the words at the capital letters to create `snake_case`. Check the word count to the right of the input box to see how many words it recognized.
  • `dot.case` is for config file keys (like `spring.datasource.url`) or logging namespaces. `path/case` is useful for building URL paths.
  • The Reverse function works on code points, so it won't break multi-byte characters like emoji or Korean.

What happens with acronyms?

This is a genuine point of debate among developers. How should `HTTPServer` be split? This tool's rule is to split a word when a sequence of uppercase letters is followed by an uppercase letter and then a lowercase one. It recognizes `HTTPServer` as `HTTP` + `Server`, and `XMLHttpRequest` as `XML` + `Http` + `Request`. This results in a `snake_case` of `http_server` and `camelCase` of `httpServer`.

The results might not always be what you expect. `userID` correctly splits into `user` + `ID` to become `user_id`, but names with consecutive capitals can be split differently than a human would intend. For names with many acronyms, it's best to visually check the results.

Some style guides, like Google's Java Style Guide, avoid this issue entirely by treating acronyms as single words (e.g., `HttpServer`, `XmlHttpRequest`). This eliminates all ambiguity. It's something to consider if your team is establishing new conventions.

What happens when Korean text is included?

Korean characters (Hangeul) don't have uppercase or lowercase. Applying case conversion leaves them unchanged. For this reason, the tool preserves Korean text as-is—converting "상품 재고 관리" to camelCase results in "상품재고관리".

If Korean and English characters are joined, the tool treats the boundary as a word break. "사용자Name" is recognized as two words, `사용자` + `Name`, which becomes `사용자_name` in snake_case. You might encounter this pattern in the wild.

  • As an intermediate step when converting Korean item names from a planning document into English variable names, you can first clean up the separators.
  • When creating temporary keys from Korean column headers received in an Excel file. However, avoid leaving Korean identifiers in your final code, as encoding issues can cause them to break in different tools and environments.
  • While browsers can handle Korean characters in CSS classes or URL paths, they get percent-encoded, making URLs long and unreadable. Some build tools may also fail to process them.
This tool does not translate. Korean text remains Korean text. If you need an English variable name, translating the meaning is up to you.

What this tool doesn't do

The tool only applies mechanical rules and doesn't understand context. Here are its limitations, stated plainly.

  • `Title Case` capitalizes the first letter of every word. Proper English title capitalization would keep articles and prepositions (like 'a', 'the', 'of', 'in') lowercase, but this tool doesn't make that distinction. You'll need to manually edit the result for a formal English title.
  • `Sentence case` assumes a new sentence begins after a period, exclamation mark, or question mark. It will mistakenly capitalize the word after a period in an abbreviation, like in "Dr. Kim".
  • All formats other than `UPPERCASE`, `lowercase`, and `Sentence case` discard the original punctuation (as it's used only as a delimiter). If you want to preserve your original sentence structure and punctuation while changing the case, use the `UPPERCASE`, `lowercase`, or `Sentence case` fields.

Frequently asked questions

What are camelCase and snake_case?

They're naming conventions in programming. `camelCase` (e.g., `myVar`) is common in JavaScript, while `snake_case` (e.g., `my_var`) is used in Python and databases. This tool helps you switch between them effortlessly.

How does the tool split words from my text?

It intelligently recognizes word boundaries from spaces, hyphens (-), underscores (_), and capitalization changes (as in `wordBoundary`). This ensures accurate conversions even from messy, mixed-format text.

Is the text I enter kept private?

Yes, absolutely. This tool runs entirely in your web browser. Nothing you type is ever sent to or stored on a server, ensuring your data remains completely private and secure.

Can it handle languages like Korean?

Yes. Characters without a case distinction, like Korean (한글), are preserved. The tool can also correctly separate mixed text (e.g., `파일Name` becomes `파일_name`), making it safe for multilingual content.