Case Converter
Convert text to UPPER, lower, Title Case, Sentence case or camelCase.
About the Case Converter
The Case Converter transforms text between eight casing conventions used across writing, programming, and content production. Whether you are cleaning up ALL CAPS headlines that someone shouted across Slack, converting a blog post title into a URL-safe slug component, or normalizing variable names between camelCase and snake_case while porting code between JavaScript and Python, this tool gives you a one-click conversion.
The eight modes cover the most common conventions in modern digital work. UPPERCASE and lowercase are self-explanatory. Title Case capitalizes the first letter of every word — useful for headlines, book titles, and section labels. Sentence case capitalizes only the first letter of each sentence, which is what most prose uses. The four programming cases (camelCase, PascalCase, snake_case, kebab-case) handle identifier normalization between languages and frameworks.
Because the conversion runs entirely in your browser, you can safely paste drafts that contain confidential product names, internal codenames, or unreleased feature titles. Nothing is uploaded or logged.
How It Works
Each mode applies a different regular expression transform. UPPERCASE and lowercase call the native String.prototype.toUpperCase() and toLowerCase(), which handle Unicode correctly (so “café” becomes “CAFÉ” and “STRASSE” can be lowercased to “straße” in locales that support it).
Title Case uses /\b\w/g to find the first letter of every word (as defined by word boundaries) and capitalizes it. This is the “capitalize every word” style favored by headline writers, but it does not respect the small-word exclusion rules used by the Chicago Manual of Style (which keeps “the,” “of,” “a” lowercase). For prose, use Sentence case instead.
Sentence case capitalizes the first letter of the text and the first letter after any sentence-ending punctuation. The regex /(^\s*\w|[.!?]\s*\w)/g catches both cases. camelCase and PascalCase split the text on non-alphanumeric runs, lowercase each piece, then capitalize the first letter of every piece (PascalCase) or every piece except the first (camelCase). snake_case and kebab-case lowercase the text, replace runs of non-alphanumeric characters with underscores or hyphens, and strip leading/trailing separators.
Worked Examples
Take the default &mdquo;the quick brown fox. it jumps over the lazy dog!” and convert each way. UPPERCASE produces “THE QUICK BROWN FOX. IT JUMPS OVER THE LAZY DOG!” Title Case yields “The Quick Brown Fox. It Jumps Over The Lazy Dog!” Sentence case yields “The quick brown fox. It jumps over the lazy dog!” — note that only “The” and “It” (after the period) are capitalized.
For programming identifiers, paste “user profile image URL” and try each mode. camelCase produces “userProfileImageURL” (note the acronym stays uppercase because we lowercase-then-capitalize per word, but the input is already lowercase so URL becomes Url). PascalCase produces “UserProfileImageUrl”. snake_case produces “user_profile_image_url” and kebab-case produces “user-profile-image-url” — both URL-friendly and immediately usable as a CSS class or URL segment.
If you paste code like “getUserAccountBalance” (camelCase) and convert to snake_case, you get “get_user_account_balance” — the exact transformation you would perform when porting a JavaScript function to Python or Ruby. The reverse (snake_case to camelCase) is equally clean and lets you normalize identifiers in bulk.
When to Use This Tool
- Converting ALL CAPS emails or Slack messages into readable prose.
- Normalizing variable names when porting code between JavaScript (camelCase) and Python/Ruby (snake_case).
- Generating URL-safe slugs from blog post or product titles (use kebab-case).
- Formatting headlines and book titles in Title Case for editorial consistency.
- Cleaning up UPPERCASE product names imported from a legacy database before publishing.
- Converting CSV column headers from “First Name” to “first_name” for database imports.
- Standardizing CSS class names in kebab-case for BEM or Tailwind conventions.
Limitations & Disclaimer
This tool performs pattern-based conversion and does not understand grammar, acronyms, or style-guide rules. Title Case capitalizes every word (no stopword exclusion). camelCase and snake_case conversions lowercase the entire input first, which means acronyms like “URL” or “HTML” will lose their original casing. Sentence case may miss capitalization after closing quotes or parentheses. Non-ASCII letters in identifiers may be stripped or mishandled by the separator-based splitting in camel/Pascal/snake/kebab modes. See our disclaimer for full terms.
Frequently Asked Questions
Does Title Case respect small-word rules like APA or Chicago style?
No. This tool capitalizes the first letter of every word. Style guides like APA and Chicago keep articles, conjunctions, and short prepositions lowercase unless they start a sentence or title. For strict style-guide compliance, you would need a tool that maintains a stopword list and applies style-specific rules.
Can I convert camelCase to snake_case without losing acronym capitalization?
Basic conversion lowercases everything first, so “parseURL” becomes “parse_url” (correct) but “parseHTTPSRequest” becomes “parse_httpsrequest” (incorrect). True acronym preservation requires a dictionary or heuristics that this tool does not implement.
What happens to numbers and special characters?
Numbers are preserved as-is. Special characters (punctuation, symbols) are kept in UPPER/lower/Title/Sentence modes but treated as separators in camel/Pascal/snake/kebab modes — so “hello, world!” becomes “helloWorld” in camelCase.
Does the tool handle non-English characters?
Yes, the upper/lower conversions use JavaScript's native Unicode-aware methods, so accented characters (é, ü, ñ) and Greek/Cyrillic letters are correctly case-converted. The split logic in camelCase/snake_case uses <code>[^a-z0-9]</code> after lowercasing, so non-ASCII letters in identifiers may not survive those transformations cleanly.
Why does Sentence case sometimes miss a capitalization?
Sentence boundaries are detected by terminal punctuation (. ! ?) followed by whitespace. If a sentence ends with a closing quote or parenthesis (e.g., ‘He said “hello.” Then he left.’), the capital after the quote may be missed. For most prose this works correctly, but edge cases exist.
Is my text sent to a server?
No. All conversion happens in your browser. Your text is never uploaded, logged, or stored anywhere outside your device.
Last updated: July 21, 2026 · Author: HT99 Tools Editorial Team · Reviewed by: HT99 Tools Editorial Team