# From UPPERCASE to camelCase: 14 case formats locale-aware

> Online text case converter free: 14 formats including UPPERCASE, lowercase, camelCase, snake_case, kebab-case, PascalCase. Locale-aware accents.

Free in-browser tool (no upload): https://www.mauriziofonte.it/tools/text-case-converter

Convert between **14 different case formats**: UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, SCREAMING_SNAKE, kebab-case, COBOL-CASE, dot.case, path/case, alternating, INVERSE. Locale-aware (Italian and other European): accented letters stay accented, no blind folding.

## How to use the converter

1. **Paste the text** - Type or paste into the input field. The tool converts all 14 formats simultaneously as you type (debounced).
2. **Pick the locale** - Italian for proper handling of a, e, i, o, u with accents (kept after upper/lower) and Title Case using the standard Italian short-word stopword list (e, di, del, della) as lowercase.
3. **Copy the format you need** - Click the Copy button next to the desired format. Works also on browsers without Clipboard API (automatic fallback).
4. **Reuse** - Programming-friendly formats (camelCase, snake_case, kebab-case) are ready to use directly as variable names, file names, URL slugs, database identifiers.

## Why one more case converter

Generic case converters on SERP mishandle Italian and European accents. Quick test: take "perché" and click UPPERCASE on a typical converter. Correct result: "PERCHÉ" with accented uppercase. Many tools strip the accent, or break the rendering, or convert to apostrophe. Same with "città", "perché", "più".

Here the converter uses `String.prototype.toLocaleLowerCase` and `toLocaleUpperCase` with the chosen locale (it/en/de/es/fr). For programming formats (camelCase, snake_case, kebab-case) tokenization splits words on spaces/dashes/underscores/dots/slashes, handles camelCase split (lowercase->Uppercase boundary), and keeps the accents inside words intact. For URL-friendly slugs (with diacritic removal) use the dedicated **slug generator**, which has the proper transliteration map.

## Glossary

- **camelCase**: Format where the first word is lowercase and every subsequent word starts uppercase: `userFullName`. JavaScript, Java, C#, Swift standard for variable names.
- **PascalCase**: Like camelCase but the first word also starts uppercase: `UserFullName`. Standard for classes/types in many languages.
- **snake_case**: All words lowercase separated by underscores: `user_full_name`. Python, Ruby, Rust, SQL standard.
- **kebab-case**: All words lowercase separated by dashes: `user-full-name`. URL slugs, CSS classes, HTML attributes standard.
- **Title Case**: First letter of every word uppercase, except articles, prepositions, short conjunctions (in English: a, an, the, of, in, on). Typical for editorial titles.

## Frequently asked questions

### How does it handle accented letters?

It keeps them. `perché` with proper Unicode accent becomes `PERCHÉ` in UPPERCASE, with the accent preserved. Same for à, è, é, ì, ò, ù, ñ, ç, all preserved properly through every transformation.

### Does Title Case treat articles and prepositions as lowercase?

Yes, in English mode. The list used: a, an, the, and, or, but, of, in, on, at, to, for, with, by, as. They are never capitalized except as the first word of the title.

### Does camelCase of a single word leave it untouched?

It always lowercases it (camelCase of "HELLO" becomes "hello"). To keep the original case, use a different format (e.g. PascalCase for the first letter uppercase).

### Does it work with Unicode symbols (emoji, kanji)?

Yes for textual output, but snake/kebab/camel splitting treats non-Latin characters as parts of single words. Test: `say hello 👋 world` -> snake_case `say_hello_👋_world`. For multilingual datasets prefer the slug generator with transliteration.

### Can I convert lists in batch?

Not explicitly in V1. But pasting a multi-line list keeps the line breaks: the converter operates character-by-character for upper/lower and word-by-word for camel/snake. For real CSV batch use a script (Python `str.title()`, JavaScript `map`).

### Difference between Title Case and Sentence case?

Title Case capitalizes every word except short ones: **The City of Turin and Why It Works**. Sentence case capitalizes only the first word of every sentence (separated by.!?): **The city of turin and why it works**. Title case is for titles, sentence case for body text and descriptions.

### Does it work offline?

Yes. The whole conversion runs directly in the browser; once the page has loaded, the tool keeps working without a connection.

---
Tool by Maurizio Fonte, senior backend engineer. All tools: https://www.mauriziofonte.it/tools/
