WikiPlus

Text Case Converter

Convert text between UPPERCASE, lowercase, Title Case, camelCase, snake_case, kebab-case, CONSTANT_CASE. 100% free, runs in your browser.

Local processing
1.4s avg
4.8 out of 5 — based on 1,247 uses

By Sergio Robles — Founder

Your files are processed locally in your browser. We never upload or store your data.

What is Text Case Converter?

The Case Converter switches text between many styles. It covers UPPER, lower, Title, Sentence, camelCase, PascalCase, snake_case, kebab-case, and CONSTANT_CASE. Writers fix titles that came in all caps. Devs rename variables across coding styles. Marketers set button text in Title Case. Teachers format lesson notes for screen readers. It handles Unicode the right way. Spanish n turns into capital N. German eszett turns into SS in uppercase. Turkish dotless I stays apart from dotted I. Greek sigma takes its word-end form where needed. All work runs on your device. No text or code leaves your browser.

When should I use this tool?

  • Normalizing messy CSV headers before importing into a database
  • Renaming JavaScript variables from snake_case to camelCase quickly
  • Fixing all-caps text pasted from PDFs or emails
  • Generating Title Case headings for blog posts and book chapters

How do I convert text between different letter cases?

  1. 1Paste the text you want to reformat into the input area.
  2. 2Click the case you need, such as UPPERCASE or camelCase.
  3. 3Check the converted result in the output panel.
  4. 4Copy the new text to your clipboard with one click.
  5. 5Use Clear to reset both fields before a new conversion.

Frequently asked questions

What case formats does the converter support?

The converter handles twelve distinct case formats that cover the full range of writing and coding conventions. The formats are: lowercase, where every character is small; UPPERCASE, where every character is capital; Title Case, where the first letter of each significant word is capitalized following AP or Chicago rules; Sentence case, where only the first letter of each sentence is capitalized; camelCase, where words merge and each internal word starts with a capital letter; PascalCase, the same as camelCase but the first word also capitalizes; snake_case, where spaces become underscores and all letters stay lowercase; kebab-case, where spaces become hyphens and all letters stay lowercase; CONSTANT_CASE, where underscores replace spaces and all letters capitalize; dot.case, where spaces become periods; path/case, where spaces become forward slashes; and inverted tOgGlE case, where each letter alternates between upper and lower. Paste any amount of text, click the case button you need, and the result is placed in the output panel ready to copy. All processing runs in JavaScript on your device. No text leaves your browser, there is no account required, and there is no rate limit on conversions. Practical tip: camelCase and PascalCase are the two most commonly confused formats in codebases. Use camelCase for variables and functions in JavaScript and Java, and PascalCase for class names and React component names in the same languages.

When should I use camelCase vs snake_case vs kebab-case?

Each convention belongs to a specific ecosystem, and following those conventions is more important than personal preference when working in a team. Use camelCase for variable names, function names, and object property keys in JavaScript, TypeScript, Java, Kotlin, Swift, and C-family languages. Examples are userName, calculateTotal, and fetchUserProfile. Use PascalCase for class names, constructor functions, React components, and TypeScript interface names in the same languages — for instance, UserProfile, ShoppingCart, or DatabaseConnection. Use snake_case for variable names, function names, and column names in Python, Ruby, Rust, Go, and SQL. Examples are user_name, calculate_total, and created_at. Python's PEP 8 and Rust's RFC 430 both mandate snake_case explicitly. Use kebab-case for URL paths, CSS class names, HTML data attributes, and command-line flags. Examples are /user-profile/, .card-header, data-user-id, and --verbose-mode. CSS methodologies like BEM and SMACSS use kebab-case by convention. Use CONSTANT_CASE, also called SCREAMING_SNAKE_CASE, for values that should never be reassigned at runtime, such as MAX_RETRIES, API_BASE_URL, or DEFAULT_TIMEOUT_MS. This signals to every reader that the value is fixed. Mixing conventions inside a single codebase creates reading friction and makes grep-based searches unreliable. Practical tip: run the converter when you receive data from an external API in snake_case and need to integrate it into a camelCase JavaScript codebase — paste the key names, convert, and copy in seconds.

How does the converter handle accents, emojis, and special characters?

Accented Latin characters are handled correctly during case conversion because they have defined uppercase and lowercase forms in Unicode. The letter é becomes É when uppercased. The letter ñ becomes Ñ. The letter ü becomes Ü. The letter ß becomes SS in uppercase, following German orthographic rules, because there is no single-character uppercase eszett in the Unicode standard below U+1E9E, which is not yet universally supported. This matches the behavior of word processors and style guides. Emojis have no case distinction, so they pass through any conversion unchanged. Numbers and standard punctuation marks also pass through unchanged, since they are caseless characters. For programming-style conversions — camelCase, snake_case, kebab-case, CONSTANT_CASE, and similar — the tool strips punctuation characters and merges runs of spaces before building the word-boundary structure. This is necessary because code identifiers cannot contain spaces, commas, or most special characters. If you want to preserve punctuation during a code-style conversion, such as when building document IDs or anchor tags from sentence text, toggle off the 'strip non-alphanumeric' option. The converter will then treat only whitespace as a word boundary and leave punctuation in place. Practical tip: when converting CSV column headers from 'First Name, Last Name, Email Address' into camelCase database field names, paste the header row directly and convert in one step rather than editing each field manually.

Is there a limit to how much text I can convert?

There is no explicit character or word limit imposed by the tool. The practical ceiling is determined by your browser's memory budget for the textarea element, which on a modern laptop or desktop is typically in the range of 8 to 12 megabytes of text per active tab. At average English word length of five characters plus a space, that corresponds to roughly 1.3 to 2 million words — far more than any document that would realistically be case-converted in a single pass. Case conversion is one of the most computationally inexpensive text operations possible. Each character requires a single Unicode code-point lookup, which modern JavaScript engines execute at tens of millions of characters per second. A 500-page document of approximately 150,000 words converts in under 50 milliseconds on typical hardware. For programming-style conversions that involve splitting, stripping, and rejoining, the processing time is slightly higher but still imperceptible on documents below 50,000 words. If you are working with server log files, database export dumps, or other data at gigabyte scale, a browser-based tool is not the right choice regardless of case conversion. For those volumes, use a sed one-liner, an awk script, or a Python str.lower() call on the file directly. Practical tip: when batch-renaming a large set of database column headers or configuration keys, paste all of them at once separated by newlines, convert in one pass, and copy the entire block — faster than converting column by column.

Content on this page is available under CC BY 4.0.