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.
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.
/([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.
/([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.
_ or -. CONSTANT_CASE reuses the snake_case output and uppercases it.
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
| Style | Output |
|---|---|
| camelCase | convertNowTextTools |
| PascalCase | ConvertNowTextTools |
| snake_case | convert_now_text_tools |
| kebab-case | convert-now-text-tools |
| CONSTANT_CASE | CONVERT_NOW_TEXT_TOOLS |
| Title Case | Convert Now Text Tools |
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
- Google JavaScript Style Guide lays out when to use camelCase versus CONSTANT_CASE in real codebases.
- PEP 8 is the reason snake_case dominates Python code.
- BEM naming explains why kebab-case is the standard for CSS class names.
- MDN on word boundary assertions documents the
\btoken this tool leans on for Title Case.
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.
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.
From the blog
Writing about writing tools
Readability scoring, keyword density and the rest, examined properly.