JoyToolsJoyTools

Case Converter

100% Client-Side Private — Zero Server Uploads

Convert text between UPPER, lower, Title, Sentence, camelCase, snake_case, kebab-case, and CONSTANT_CASE.

🔒 100% Client-Side: All data is processed locally in your browser and never leaves your device (Zero Server Uploads).
E-E-A-T Security Proof →
Case Converter
100% Client-Side Private — Zero Server Uploads

Convert text between UPPERCASE, lowercase, Title Case, camelCase, PascalCase, snake_case, and kebab-case.

Select Case Mode:

Share & Developer Embed

How do I use Case Converter?

1

Paste or type your text, variable names, or article headlines into the Input Text editor, or click 'Load Sample Data'.

2

Select your target case mode (`UPPERCASE`, `lowercase`, `Title Case`, `Sentence case`, `camelCase`, `PascalCase`, `snake_case`, or `kebab-case`).

3

Review the instant conversion in the right panel and click 'Copy' to copy the result to your clipboard.

What features does Case Converter offer?

Support for 10+ casing styles (camelCase, snake_case, UPPERCASE, Title Case, etc.)

Live real-time text conversion as you type

1-click copy output to clipboard or download as file

100% private in-browser processing — zero data logged

Programming Identifier & Typography Naming Conventions

Word boundary detection splits input strings across spaces, underscores, hyphens, and camelCase transitions (`/[A-Z]?[a-z]+|[0-9]+|[A-Z]+(?![a-z])/g`) before joining tokens in the target convention.

Identifier & Text Case Convention Reference Table
Case ModeToken SeparatorCapitalization RuleStandard Ecosystem Usage
camelCaseNoneLowercase first word, capitalize subsequentJavaScript/TypeScript variables & JSON keys
PascalCaseNoneCapitalize first letter of every wordReact components, TypeScript classes & interfaces
snake_caseUnderscore (_)All lowercase wordsPython (PEP 8), PostgreSQL columns, Rust
kebab-caseHyphen (-)All lowercase wordsURL slugs, CSS classes, HTML data-* attributes

Frequently Asked Questions about Case Converter

How does the converter split existing `camelCase` or `snake_case` strings into words?

The tokenizer detects transitions from lowercase to uppercase (`userId` → `user` + `Id`), acronym boundaries (`parseXMLNode` → `parse` + `XML` + `Node`), underscores, hyphens, and whitespace before reassembling the tokens.

How are acronyms like `API`, `URL`, or `HTTP` handled when converting to `camelCase`?

Consecutive uppercase letters are normalized to title-cased words after the first token (`httpAPIRequest` → `httpApiRequest` in camelCase and `http_api_request` in snake_case) so round-trip conversions remain reversible.

Does `UPPERCASE` and `lowercase` conversion support accented Unicode characters (like Vietnamese or German)?

Yes. Case transformations use native ECMAScript Unicode-aware case mapping, preserving diacritics across Latin Extended characters (such as `Nguyễn` → `NGUYỄN`).

When should I use `kebab-case` instead of `snake_case` for URLs?

Google's Search Central URL structure guidelines explicitly recommend hyphens (`kebab-case`) over underscores (`snake_case`) because Google's tokenizer treats hyphens as word separators while treating underscores as word joiners.