Case Converter Online Free

📝 Text Tools ✔ Free Forever

Case Converter Online Free

Convert any text to uppercase, lowercase, title case, sentence case, camelCase, PascalCase, snake_case, CONSTANT_CASE, and more with one click. Runs entirely in your browser.

✔ 10 case formats ✔ camelCase and PascalCase ✔ snake_case ✔ Title Case ✔ 100% browser-based
Input Text
Output
About This Tool

How this case converter finds word boundaries in ten different styles

Changing letters to upper or lower case is one line of code. The hard part of a case converter is deciding where one word ends and the next begins, especially when the input is already camelCase or snake_case and has no spaces to go by. This tool solves that with a single word splitting function that every style shares, so camelCase, PascalCase, snake_case, kebab-case and CONSTANT_CASE all come from the same source of truth.

Everything happens in your browser as you type. The text never leaves the page, there is no server call, and nothing is stored once you close the tab.

The word splitter, the part that actually matters

Before any style is applied, the tool runs your input through a function that breaks it into an array of plain words. That function is doing more work than it looks like.

Step 1 Lower to upper boundary The regex /([a-z])([A-Z])/g finds a lowercase letter directly followed by an uppercase letter and inserts a space between them. This is what splits helloWorld into hello World.
Step 2 Acronym boundary The regex /([A-Z]+)([A-Z][a-z])/g catches a run of capitals followed by a capital and a lowercase letter, and splits before the last capital. This is what turns XMLParser into XML Parser instead of X M L Parser.
Step 3 Delimiter normalization Underscores and hyphens are replaced with spaces, then runs of whitespace collapse to a single space, the string is trimmed, and it is split on that space into an array of words.
Step 4 Style is applied per word camelCase lowercases the first word and capitalizes the first letter of every word after it. PascalCase capitalizes every word. snake_case and kebab-case lowercase every word and join with _ or -. CONSTANT_CASE reuses the snake_case output and uppercases it.
// the word splitter every case style calls function words(s){ return s .replace(/([a-z])([A-Z])/g, ‘$1 $2’) .replace(/([A-Z]+)([A-Z][a-z])/g, ‘$1 $2’) .replace(/[_\-]+/g, ‘ ‘) .replace(/\s+/g, ‘ ‘) .trim().split(‘ ‘) .filter(function(w){ return w.length > 0; }); }

Title Case and Sentence case do not use this splitter at all, because they operate on existing spacing rather than rebuilding it. Title Case runs replace(/\b\w/g, c => c.toUpperCase()) against a lowercased string, capitalizing the first character at every regex word boundary. Sentence case uses /(^\s*\w|[.!?]\s+\w)/g, which only capitalizes the very first character of the text and the first character after a period, exclamation mark or question mark followed by whitespace, leaving the rest lowercase.

A worked case conversion

Input: convert now text tools

StyleOutput
camelCaseconvertNowTextTools
PascalCaseConvertNowTextTools
snake_caseconvert_now_text_tools
kebab-caseconvert-now-text-tools
CONSTANT_CASECONVERT_NOW_TEXT_TOOLS
Title CaseConvert Now Text Tools
Round tripping is not lossless. Feed XMLHttpRequest in and convert to snake_case, and the acronym boundary rule splits it to xml_http_request, which is correct. But convert that back to camelCase and you get xmlHttpRequest, not the original capitalization. Case conversion between compound styles is a one way trip once an acronym has been broken into separate words.

Every mode, and what it is actually good for

toggle case

Walks the string character by character and flips each letter’s case independently: c === c.toUpperCase() ? lower : upper. Punctuation and digits pass through untouched since flipping their case is a no-op.

UPPERCASE and lowercase

Plain calls to the native String.prototype.toUpperCase() and toLowerCase(), which apply Unicode case mapping rather than a simple ASCII shift, so accented letters convert correctly too.

The panel also tracks character count for both input and output live, along with word, line and sentence counts for the input, using split(/\s+/) for words, newline splitting for lines, and split(/[.!?]+/) filtered for empty entries for sentences.

Where these naming styles come from

camelCase in JavaScript and Java APIs snake_case in Python and Ruby kebab-case in CSS and URLs CONSTANT_CASE for constants in C and Java

Where each case belongs

Renaming a database column from snake_case to the camelCase a JavaScript API expects, converting a spreadsheet header row into PascalCase class names, turning a blog post title into a kebab-case URL slug, cleaning up shouty CONSTANT_CASE pasted from a legacy config file, and fixing text that got stuck in tOGGLE cASE after a bad keyboard layout switch. Developers moving data between languages with different naming conventions are the most common users, closely followed by anyone tidying up copy for a title bar or headline.

Common Questions

FAQ: Case Converter Online Free

Yes, completely free. No account, no signup, and no payment required.

Yes. The converter detects word boundaries in camelCase, PascalCase, snake_case, and kebab-case input automatically. Paste a variable name like getUserProfileData and convert it to get_user_profile_data or GET_USER_PROFILE_DATA instantly.

Both join words without separators and capitalise each word. camelCase keeps the very first word entirely lowercase, so you get helloWorld. PascalCase capitalises the first letter of every word including the first, so you get HelloWorld. PascalCase is standard for class names while camelCase is common for variable and function names.

CONSTANT_CASE is uppercase snake_case and is the standard for named constants in most programming languages. Examples include MAX_RETRY_COUNT, DATABASE_URL, and API_KEY. Many linters enforce this style for values that never change.

Sentence case capitalises only the first word of each sentence, like standard prose. Title case capitalises the first letter of every word. Titles and headings use title case while body copy uses sentence case.

Yes. Click Use as input to move the converted output back into the input field, then apply another case format. This lets you convert between formats in multiple steps.

Privacy Overview

Cookies let this site remember your preferences and show us which tools people actually use. Full detail sits in our Privacy Policy.