100% Client-Side WASMZero Remote NetworkVerified Spec

Case Converter

Interactive Studio

Convert text between UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, and kebab-case instantly. Instant feedback with zero server storage.

Loading tool…

About Case Converter

Programming languages and file formats each have their own naming conventions, and this tool switches text between the eight most common ones. Word boundaries are detected from spaces, hyphens, underscores, and the lowercase-to-uppercase transitions inside camelCase or PascalCase words, so "user profile settings", "user-profile-settings", and "userProfileSettings" all convert cleanly into any other style.

camelCase (userProfile) is the default for variables and function names in JavaScript, Java, and Swift. PascalCase (UserProfile) marks class and component names in the same languages, plus C#. snake_case (user_profile) is idiomatic in Python and Ruby, and is also the standard for database column and file names on Unix systems. kebab-case (user-profile) shows up in URLs, CSS class names, and HTML attributes, where underscores and capital letters aren't conventional. Title Case and Sentence case matter for headings and prose rather than code — Title Case capitalizes each significant word for headlines, while Sentence case capitalizes only the first letter, matching normal written English.

Switching a batch of strings between these styles by hand is tedious and error-prone, especially when renaming variables across a codebase or reformatting a CSV header row to match a different system's naming rules.

How to use Case Converter

  1. Paste or type your text.
  2. Choose a target style: camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, Title Case, UPPER or lower.
  3. Copy the converted text.

Worked examples

Input: user profile settings

Result: camelCase: userProfileSettings. snake_case: user_profile_settings. kebab-case: user-profile-settings.

Input: userProfileSettings

Result: PascalCase: UserProfileSettings. CONSTANT_CASE: USER_PROFILE_SETTINGS.

Background

Languages and tools have naming conventions. JavaScript variables use camelCase, classes use PascalCase, Python uses snake_case, CSS and URLs use kebab-case and environment variables use CONSTANT_CASE.

Word boundaries are detected from spaces, hyphens, underscores and lower-to-upper transitions. Acronyms such as HTTPServer can be split in unexpected places, so review the output for names containing them.

Common mistakes

  • Converting identifiers with acronyms without checking the result.
  • Using Title Case for a title that needs style-guide rules about small words.
  • Renaming a public API field by case alone, which breaks callers.

Frequently Asked Questions

How does the tool decide where one word ends and the next begins?
It splits on spaces, hyphens, and underscores, and also inserts a boundary wherever a lowercase letter is immediately followed by an uppercase one — which is what lets it correctly break apart camelCase or PascalCase input like "userProfileSettings" into three separate words.
What's the difference between camelCase and PascalCase?
Both join words with no separator and capitalize each word's first letter, except camelCase leaves the very first word lowercase (myVariable) while PascalCase capitalizes it too (MyVariable). Convention ties camelCase to variables/functions and PascalCase to classes/components/types.
Will punctuation or numbers survive the conversion?
Numbers are kept as part of whichever word they're attached to. Punctuation other than spaces, hyphens, and underscores isn't stripped, so if your input has periods or apostrophes they'll remain in the output rather than being treated as word separators.
Why would I use snake_case instead of kebab-case?
It comes down to what's consuming the string. Python, Ruby, and most SQL databases don't allow hyphens in identifiers, so snake_case is required there; hyphens are fine — and often preferred — in URLs and CSS, where kebab-case is the norm instead.

Fast, local-first developer micro-tools with zero tracking or latency.

Browse All Tools
Local-First Architecture: Toolium parses payloads exclusively in browser memory. Zero network telemetry.
⌘C Copy⌘K Palette