Skip to content

Convertitore maiuscole-minuscole online

Converti testo tra UPPERCASE, lowercase, Title Case, camelCase, snake_case e altri 10 formati all'istante. Gratuito, solo browser, senza registrazione.

Niente tracciamento Funziona nel browser Gratuito
Tutta la conversione di case avviene localmente nel tuo browser. Nessun dato viene inviato ad alcun server.

Text cases

lowercase

Tutte le lettere in minuscolo. Spazi bianchi preservati.

hello world example

UPPERCASE

Tutte le lettere in maiuscolo. Spazi bianchi preservati.

HELLO WORLD EXAMPLE

Title Case

Prima lettera di ogni parola in maiuscolo.

Hello World Example

Sentence case

Prima lettera di ogni frase in maiuscolo.

Hello world example

iNVERSE cASE

Scambia maiuscolo/minuscolo per ogni lettera.

hELLO wORLD eXAMPLE

aLtErNaTiNg cAsE

Alterna minuscolo/maiuscolo per lettera.

hElLo WoRlD eXaMpLe

RaNdOm CaSe

Lancio di moneta indipendente per ogni lettera.

HeLLo WorLd eXamPLe

Programming cases

camelCase

Prima parola in minuscolo, resto in maiuscolo, nessun separatore.

helloWorldExample

PascalCase

Ogni parola in maiuscolo, nessun separatore.

HelloWorldExample

snake_case

Minuscolo, unito da underscore.

hello_world_example

kebab-case

Minuscolo, unito da trattini.

hello-world-example

CONSTANT_CASE

Maiuscolo, unito da underscore.

HELLO_WORLD_EXAMPLE

dot.case

Minuscolo, unito da punti.

hello.world.example

path/case

Minuscolo, unito da slash in avanti.

hello/world/example

Header-Case

Ogni parola in maiuscolo, unita da trattini.

Hello-World-Example
Revisionato per parità con lodash / change-case, correttezza della mappatura di case Unicode, stabilità del round-trip degli acronimi e il set di funzionalità dei sette text-case + otto programming-case. — Team Engineering di Go Tools · May 26, 2026

Cos'è un convertitore di maiuscole-minuscole?

Un convertitore di maiuscole-minuscole è una piccola utility che prende un pezzo di testo e lo ri-renderizza in una convenzione di case diversa. Le forme più semplici sono UPPERCASE e lowercase — capovolge ogni lettera in un unico case. Le forme più ricche applicano regole linguistiche (Title Case mette in maiuscolo la prima lettera di ogni parola, Sentence case mette in maiuscolo la prima lettera di ogni frase) o regole di naming per la programmazione (camelCase unisce le parole mettendo in maiuscolo ciascuna dopo la prima; snake_case mette tutto in minuscolo e unisce con underscore). I convertitori di case online esistono da quando il web ha le textarea, perché la conversione è meccanicamente semplice ma tediosa da fare a mano per qualunque quantità non banale di testo.

La famiglia text-case è quella a cui ricorrono scrittori, editor, marketer e giornalisti. UPPERCASE e lowercase sono utili per allinearsi allo stile di casa o per rimuovere l'ALL-CAPS urlato da un'email inoltrata. Title Case è per titoli e nomi di libri. Sentence case è lo standard web moderno per il testo del corpo, le microcopy UI, le label dei pulsanti e le didascalie — le style guide di Google, Apple e Microsoft hanno tutte convergeto su questo nell'ultimo decennio. Le varianti derisorie (iNVERSE cASE, aLtErNaTiNg cAsE, RaNdOm CaSe) vengono dalla cultura internet, in particolare dallo "spongebob meme" usato per citare sarcasticamente qualcuno; alternating case è la variante rigorosa deterministica, random case è quella caotica.

La famiglia programming-case è quella che gli sviluppatori usano ogni singolo giorno. camelCase è lo standard per gli identificatori di JavaScript, Java, Swift e Kotlin. PascalCase è lo standard per i nomi di classi nella maggior parte dei linguaggi orientati agli oggetti e per i nomi di componenti in React, Vue e Angular. snake_case è lo standard per Python, Ruby, Rust ed Elixir, oltre alla maggior parte dei nomi di colonne dei database. kebab-case è lo standard per nomi di classi CSS, slug URL e attributi HTML. CONSTANT_CASE è lo standard per variabili d'ambiente, costanti di alto livello e nomi di macro. dot.case è usato per il namespacing (package Java, percorsi di campo MongoDB). path/case è usato per URL e percorsi del filesystem. Header-Case è la convenzione canonica degli header HTTP/1.1 (Content-Type, Access-Control-Allow-Origin).

Sotto il cofano, l'ingegneria interessante è il tokenizer che divide una stringa di input nelle sue parole semantiche. È facile dividere sullo spazio bianco; la parte difficile è riconoscere i confini di parola che non hanno un separatore di spazio bianco. La convenzione standard — usata da lodash, dal pacchetto npm change-case, dal PEP 8 di Python e dalla maggior parte delle codebase reali — inserisce un confine in tre transizioni: minuscola-maiuscola (parseHTML → parse / HTML), maiuscola-maiuscola-minuscola (XMLHttpRequest → XML / Http / Request), e lettera-cifra / cifra-lettera (file2x → file / 2 / x). Più i separatori espliciti: trattino, underscore, punto, slash, backslash. Con quel singolo tokenizer puoi incollare un identificatore in qualunque case — camelCase, snake_case, kebab-case, misto — e convertirlo pulitamente in qualunque altro case senza pulizia manuale.

Lo strumento che stai usando esegue il tokenizer e tutte le 15 trasformazioni interamente nel tuo browser tramite JavaScript. Non c'è alcuna chiamata di rete, nessun server, nessun logging, nessun cookie che registri ciò che digiti. L'output per ogni case si aggiorna a ogni battuta senza ritardo di debounce. Il pulsante Copia su ogni card scrive negli appunti solo quel singolo case. Rimescola ritira il random case senza disturbare gli altri output. Tutto è progettato per la velocità del lavoro reale — incolla, scorri, copia, incolla altrove.

Per strumenti correlati al testo, il contatore di parole gestisce le metriche di lunghezza e tempo di lettura, il text diff confronta due pezzi di testo riga per riga, e il regex tester verifica i match di pattern su input di esempio. Insieme coprono la maggior parte del lavoro di modellazione del testo che uno sviluppatore o un content worker fa in un browser.

// The tokenizer that powers every programming-case conversion
function tokenize(input) {
  return input
    .replace(/([a-z0-9])([A-Z])/g, '$1 $2')      // lower→upper: parseHTML → parse HTML
    .replace(/([A-Z]+)([A-Z][a-z])/g, '$1 $2')   // acronym boundary: XMLHttp → XML Http
    .replace(/([A-Za-z])(\d)/g, '$1 $2')          // letter→digit: file2 → file 2
    .replace(/(\d)([A-Za-z])/g, '$1 $2')          // digit→letter: 2x → 2 x
    .replace(/[\s\-_./\\]+/g, ' ')                // collapse separators
    .split(' ').filter(Boolean);
}

// Then each case is a one-liner over the tokens
const camelCase  = (s) => tokenize(s).map((t, i) => i === 0 ? t.toLowerCase() : cap(t)).join('');
const snakeCase  = (s) => tokenize(s).map(t => t.toLowerCase()).join('_');
const kebabCase  = (s) => tokenize(s).map(t => t.toLowerCase()).join('-');
const PascalCase = (s) => tokenize(s).map(cap).join('');

function cap(t) {
  return t.charAt(0).toUpperCase() + t.slice(1).toLowerCase();
}

Caratteristiche principali

Tutti i 15 case visibili in una volta sola

Incolla il tuo testo e ogni case si renderizza all'istante in una griglia a due colonne. Non c'è bisogno di scegliere prima un formato o di scorrere un dropdown — scorri la griglia, copia quello che ti serve. I text case e i programming case sono divisi in sezioni separate così trovi la card giusta in un solo sguardo.

Tokenizer intelligente per i Programming case

Riconosce confini minuscola-maiuscola (camelCase), confini maiuscola-maiuscola-minuscola (XMLHttpRequest → XML/Http/Request), confini lettera-cifra (file2x) e tutti i separatori comuni (-, _, ., /, \, spazio bianco). Corrisponde alle convenzioni di lodash e del pacchetto npm change-case, quindi l'output fa round-trip come si aspettano le codebase reali.

Copia per-card con feedback in tempo reale

Ogni card di output ha il proprio pulsante Copia — clicca una volta e solo quel singolo case finisce nei tuoi appunti. L'etichetta passa brevemente a "Copiato!" così sai che ha funzionato. Nessun bisogno di evidenziare il testo o di fare click destro.

Aggiornamenti in tempo reale a ogni battuta

Ogni case si ri-renderizza a ogni battuta senza ritardo di debounce. Niente pulsante Converti da premere, niente ricarica di pagina, niente attesa. Costruito per la velocità dell'editing reale — incolla, scorri, copia, fatto.

Rimescola per Random Case

L'output Random Case è ritirabile in modo indipendente con il pulsante Rimescola, senza disturbare alcun altro output né il testo di input. Utile quando vuoi una variante spongebob-meme diversa per lo stesso testo sorgente.

Preserva spazi bianchi e punteggiatura

Le trasformazioni di text-case (UPPERCASE, lowercase, Title, Sentence, iNVERSE, aLtErNaTiNg, RaNdOm) preservano per design ogni spazio, interruzione di riga e segno di punteggiatura. Incolla un documento multi-paragrafo e la formattazione sopravvive intatta — cambia solo il case delle lettere.

Mappature di case Unicode-aware

Usa i metodi Intl-aware `toLocaleLowerCase` e `toLocaleUpperCase` così i turchi İ/ı con e senza punto, la ß tedesca, la sigma finale greca e altri case sensibili al locale vengono gestiti correttamente. Il tokenizer riconosce lettere da qualunque script (Unicode \p{L}).

Privacy 100% nel browser

Tutta la conversione gira localmente nel tuo browser. Il tuo testo non viene mai caricato, mai registrato, mai memorizzato, mai analizzato. Sicuro per nomi di prodotti non ancora annunciati, schemi di variabili interni, bozze di comunicati stampa e qualunque materiale confidenziale. Zero richieste di rete mentre digiti — verificalo nella scheda Network del tuo browser.

Round-trip che preserva gli acronimi

Converti XMLHttpRequest → xml_http_request → XmlHttpRequest e la struttura fa round-trip pulitamente. Stessa convenzione del PEP 8 per Python e del pacchetto change-case per JS — nessuna divisione manuale lettera per lettera quando migri una codebase tra convenzioni di case.

Alternative al convertitore di case a confronto

lodash (_.camelCase, _.snakeCase, _.kebabCase, _.startCase)

libreria JavaScript

L'implementazione di riferimento per la maggior parte delle codebase JS. Produce output identico a questo strumento per i case comuni. lodash usa una gestione Unicode leggermente diversa per i casi limite. Usa lodash nel tuo codice; usa questo strumento per conversioni una tantum o verifiche rapide a campione durante un refactor.

pacchetto npm change-case

libreria JavaScript

Libreria modulare e tree-shakable di conversione di case — una funzione per case. Il tokenizer in questo strumento corrisponde esattamente alla convenzione di change-case v5+, quindi gli output sono byte-identici per input ASCII. Usa change-case quando vuoi solo camelCase o solo snake_case nel tuo bundle; usa questo strumento per conversione interattiva.

Comandi di case incorporati in VS Code

comando editor

VS Code è dotato dei comandi `Transform to Uppercase`, `Transform to Lowercase` e `Transform to Title Case` (Cmd-Shift-P → cerca). Niente camelCase, snake_case o altri programming case di default; estensioni come "change-case" li aggiungono. Migliore quando il tuo testo è già nell'editor; questo strumento è più veloce per conversioni in flusso clipboard.

convertcase.net

strumento browser

Il convertitore di case online originale — solo text case (UPPERCASE, lowercase, Sentence, Title, alternating, inverse). Niente programming case. Esiste dai primi anni 2000 ed è ancora il primo risultato per molte ricerche di text-case. Questo strumento copre gli stessi text case e aggiunge anche gli otto programming case.

Cambia maiuscole/minuscole di Microsoft Word (Home > Cambia maiuscole/minuscole)

app desktop

Word ha un pulsante Cambia maiuscole/minuscole sulla barra Home: Sentence case, lowercase, UPPERCASE, Iniziali maiuscole, tOGGLE cASE. Niente programming case. Il flusso di lavoro richiede di essere in Word con il file aperto. Usa Word quando il tuo testo è già in un documento; usa questo strumento quando sei in una scheda del browser.

Trasformazioni di Apple Pages / TextEdit

app desktop

Pages e TextEdit di macOS hanno Modifica > Trasformazioni: Tutto maiuscolo, Tutto minuscolo, Iniziali maiuscole. Niente camelCase, snake_case o altre varianti di programmazione. Veloce per testo breve in quelle app; non progettato per il lavoro con identificatori di codice.

Convertitori programming-case online (es. camelcasse.com)

strumento browser

Convertitori single-case dedicati che si concentrano su una trasformazione (solo camelCase, solo snake_case). Meno case da scorrere, UI più focalizzata. Questo strumento mostra tutti i 15 in una volta sola, il che è più veloce per il refactor tra case multipli — ma se ti serve sempre solo uno, uno strumento single-case va bene.

Esempi di conversione di case

Oggetto email ALL-CAPS → Sentence Case

URGENT: PLEASE REVIEW THE Q4 BUDGET PROPOSAL BEFORE FRIDAY

Output Sentence case: "Urgent: please review the q4 budget proposal before friday" — rimuove all'istante il tono urlato del tutto-maiuscolo per inoltrare o rispondere in modo cortese. Output Title Case: "Urgent: Please Review The Q4 Budget Proposal Before Friday" — se preferisci mantenere uno stile formale-da-titolo. Entrambi avvengono in una volta sola; scegli quello che si adatta alla tua risposta.

Variabile snake_case → camelCase

user_profile_image_url

Output camelCase: "userProfileImageUrl" — inseriscilo direttamente in JavaScript, Java o Swift. PascalCase: "UserProfileImageUrl" — per nomi di proprietà C# / .NET o nomi di componenti React. kebab-case: "user-profile-image-url" — per classi CSS o slug URL. CONSTANT_CASE: "USER_PROFILE_IMAGE_URL" — per variabili d'ambiente o costanti di alto livello. Un incolla, quattro identificatori pronti all'uso.

Nome di classe ricco di acronimi (XMLHttpRequest)

XMLHttpRequest

Il tokenizer riconosce il confine XML / Http / Request. Output: snake_case → "xml_http_request", kebab-case → "xml-http-request", CONSTANT_CASE → "XML_HTTP_REQUEST", Header-Case → "Xml-Http-Request". Questa è esattamente la convenzione che usano lodash, il pacchetto change-case e la gestione degli acronimi del PEP 8 di Python — il tuo refactor da un nome di classe JS a un nome di modulo Python richiede un incolla, non una divisione manuale lettera per lettera.

Titolo di pagina a slug URL (Title → kebab-case)

10 Tips for Faster JavaScript: A Complete Guide

Output kebab-case: "10-tips-for-faster-javascript-a-complete-guide" — lo slug URL-safe che la maggior parte dei CMS (WordPress, Ghost, Hugo) genera per default. snake_case: "10_tips_for_faster_javascript_a_complete_guide" — per le convenzioni di nome file. Il tokenizer rimuove pulitamente i due punti e altra punteggiatura; non devi prima ripulire il titolo.

Nome di header HTTP da Camel-Case (Header-Case)

accessControlAllowOrigin

Output Header-Case: "Access-Control-Allow-Origin" — la grafia esatta che usa la specifica HTTP, pronta da inserire in un options object di fetch() o in una response lato server. kebab-case: "access-control-allow-origin" — stessa forma canonica, in minuscolo (alcune librerie HTTP la usano internamente). Questo è il modo più veloce per tradurre una proprietà di un oggetto JS in un vero nome di header.

Costante da un'impostazione leggibile (CONSTANT_CASE)

max retries per request

Output CONSTANT_CASE: "MAX_RETRIES_PER_REQUEST" — inseriscila in un file di configurazione come `const MAX_RETRIES_PER_REQUEST = 3` o in un file `.env` come `MAX_RETRIES_PER_REQUEST=3`. snake_case: "max_retries_per_request" — per costanti a livello di modulo in stile Python o chiavi YAML. Stessa sorgente, due destinazioni, nessuna modifica manuale.

Frase a Spongebob Meme (aLtErNaTiNg cAsE)

this is fine, everything is going great

Output aLtErNaTiNg cAsE: "tHiS iS fInE, EvErYtHiNg iS gOiNg GrEaT" — il formato canonico di derisione spongebob. L'alternanza è un toggle globale tra le lettere, non per-parola, corrispondente a ciò che fanno convertcase.net e altri generatori di meme. RaNdOm CaSe: capovolge ogni lettera in modo indipendente — utile quando vuoi la stessa energia sarcastica con più caos.

Come usare il convertitore di maiuscole-minuscole

  1. 1

    Incolla o scrivi il tuo testo

    Clicca nell'editor e digita, oppure incolla un qualunque testo — una frase, un paragrafo, un identificatore, un titolo. Ogni output di case si aggiorna all'istante. Clicca Esempio per caricare una frase rappresentativa se vuoi solo vedere come differiscono i case.

  2. 2

    Scorri la griglia

    I sette text case (UPPERCASE, lowercase, Title, Sentence, iNVERSE, aLtErNaTiNg, RaNdOm) sono nella sezione superiore. Gli otto programming case (camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case, path/case, Header-Case) sono nella sezione inferiore. Ogni card mostra la sua label di case, una descrizione di una riga e l'output convertito.

  3. 3

    Clicca Copia sul case che vuoi

    Ogni card di output ha il proprio piccolo pulsante Copia. Clicca una volta — il case finisce nei tuoi appunti, il pulsante lampeggia "Copiato!" e sei pronto a incollare altrove. Non c'è bisogno di evidenziare prima il testo di output.

  4. 4

    Rimescola il random case se serve

    Se vuoi una variante RaNdOm CaSe diversa per lo stesso testo, clicca Rimescola nella barra delle azioni. Cambia solo l'output Random Case; il testo di input e tutti gli altri output restano uguali.

  5. 5

    Pulisci quando hai finito

    Clicca Pulisci per svuotare l'editor e resettare ogni output. Esempio ricarica il testo dimostrativo. Tutte le azioni sono istantanee e non vengono mai inviate a un server.

Errori comuni di conversione di case

Cercare di mettere in snake_case un intero paragrafo

Incollare una frase multi-parola nell'output snake_case la collassa in un unico identificatore gigante — tecnicamente lo snake_case corretto dell'input, ma mai ciò che vuoi davvero per un identificatore. Usa snake_case per un identificatore alla volta (un singolo nome di variabile o una frase composta). Per testo di lunghezza paragrafo, usa le trasformazioni text-case.

✗ Errato
Input: "the quick brown fox jumps over the lazy dog"
Output snake_case: the_quick_brown_fox_jumps_over_the_lazy_dog
Risultato: un identificatore di 50 caratteri che nessuno vuole.
✓ Corretto
Input: "quickBrownFox"
Output snake_case: quick_brown_fox
Risultato: un identificatore pulito a tre token.

Aspettarsi le regole APA di Title Case

Title Case di questo strumento mette in maiuscolo ogni parola — `Hello A World Of Examples` invece dello stile AP `Hello a World of Examples`. Le style guide APA, Chicago e AP mettono tutte in minuscolo articoli e preposizioni brevi nei titoli. Se ti servono titoli in stile APA specificamente, usa uno strumento title-case dedicato. Per la capitalizzazione generale (mettere in maiuscolo ogni parola), questo Title Case è corretto.

✗ Errato
Input: "a tale of two cities"
Title Case di questo strumento: A Tale Of Two Cities
Atteso (stile AP): A Tale of Two Cities
✓ Corretto
Usa questo strumento per la capitalizzazione generale.
Usa uno strumento headline in stile AP per i titoli editoriali.
Strumenti diversi, convenzioni diverse.

Assumere che i round-trip PascalCase preservino la capitalizzazione degli acronimi

XMLHttpRequest si tokenizza in XML / Http / Request e ri-PascalCase diventa XmlHttpRequest. Questa è la convenzione (permette al tokenizer di fare round-trip pulitamente), ma se la tua codebase preserva la capitalizzazione degli acronimi (mantenendo XMLHttpRequest come XMLHttpRequest), il risultato non corrisponderà. Verifica a campione prima di fare un rename a livello di progetto.

✗ Errato
Input: XMLHttpRequest
Output PascalCase: XmlHttpRequest
Atteso (acronimo preservato): XMLHttpRequest
✓ Corretto
Accetta l'acronimo title-cased, OPPURE
Preserva manualmente l'acronimo dopo la conversione, OPPURE
Usa un tokenizer che rispetti gli hint sugli acronimi.

Incollare URL e perdere gli slash

Incollare `https://example.com/api/users` in snake_case rimuove tutti gli slash e i punti e produce `https_example_com_api_users` — tecnicamente corretto ma inutile come URL. Gli URL sono già in formato path/case; non passarli attraverso le trasformazioni programming-case. Se vuoi rimuovere il protocollo o l'host da un URL, usa prima uno strumento di parsing URL.

✗ Errato
Input: https://example.com/api/users
Output snake_case: https_example_com_api_users
Risultato: non è più un URL.
✓ Corretto
Input: https://example.com/api/users
Lascia stare gli URL — sono già nel formato giusto.
Per l'estrazione di slug, analizza manualmente il path dell'URL.

Confondere dot.case con la notazione di accesso a proprietà puntate

L'output dot.case è `user.profile.image` — token in minuscolo uniti da punti letterali, adatto al namespacing (package Java, percorsi di campo MongoDB, chiavi TOML). Non è lo stesso della notazione di accesso a proprietà JavaScript (`user.profile.image` sembra identico ma significa "la proprietà image della proprietà profile di user"). Se ti serve un path di accesso a proprietà, dot.case produce la stringa giusta per coincidenza; se ti serve un identificatore di programmazione, usa invece camelCase o snake_case.

✗ Errato
Obiettivo: "imposta la variabile user.profile.image"
Usare l'output dot.case come nome di variabile: `user.profile.image`
Nella maggior parte dei linguaggi questo è accesso a proprietà, non un identificatore.
✓ Corretto
Per una singola variabile: userProfileImage (camelCase).
Per una chiave namespaced: user.profile.image (dot.case è corretto).
Allinea il case alla sintassi target.

Aspettarsi che Sentence Case gestisca le abbreviazioni

Sentence case tratta ogni `.` seguito da spazio bianco come confine di frase, incluso `Mr. Smith arrived.` che diventa `Mr. Smith arrived.` correttamente, ma `e.g. this example` diventa `E.g. This example` (il `g.` è trattato erroneamente come terminatore di frase). I falsi positivi sulle abbreviazioni sono un limite noto di ogni rilevatore di frasi basato su regex; per precisione editoriale, modifica a mano l'output.

✗ Errato
Input: "e.g. this is an example. Read more."
Output Sentence case: "E.g. This is an example. Read more."
Il `g.` è stato erroneamente trattato come terminatore di frase.
✓ Corretto
Esegui prima sentence case, poi correggi a mano i pochi casi limite delle abbreviazioni.
Oppure riformula per evitare punti interni alla frase.
(Il rilevamento di frasi di livello NLP è una categoria di strumenti separata.)

Chi usa questo strumento

Sviluppatori che rinominano identificatori tra linguaggi
Migrare una variabile JS a un nome snake_case in Python, o una classe CSS a un componente PascalCase di React, o una variabile d'ambiente a una costante di config. Incolla il nome sorgente una volta, copia l'output giusto — nessuna conversione manuale lettera per lettera.
Backend dev che traducono nomi di header
Gli header HTTP come Content-Type, Access-Control-Allow-Origin, X-Forwarded-For hanno grafie Header-Case specifiche. Incolla un nome di proprietà JS in camelCase, copia la forma canonica dell'header — funziona per le options di fetch(), il middleware server e le configurazioni proxy.
Scrittori che rimuovono il tono ALL-CAPS dalle email
Email e messaggi di chat inoltrati in tutto maiuscolo si leggono come urla. Incollali in Sentence case per disinnescare il tono, o Title Case per mantenere un'aria da titolo curato. Spazi bianchi e punteggiatura sopravvivono intatti.
Marketer che scrivono titoli
Title Case per i titoli, Sentence case per il copy del corpo e le didascalie — la convenzione raccomandata dalla maggior parte delle style guide moderne (AP, Google, Apple). Vedi entrambi in una volta sola per confrontare quale si adatta alla collocazione.
Specialisti SEO che generano slug URL
kebab-case è la convenzione di slug URL che ogni CMS si aspetta. Incolla un titolo di pagina con punteggiatura e maiuscole, copia l'output kebab-case — pronto da inserire in un campo slug di WordPress, Ghost o Hugo. Il tokenizer rimuove pulitamente la punteggiatura.
DBA che danno nome a colonne e tabelle
snake_case per i nomi di colonne e tabelle è la convenzione universale in PostgreSQL, MySQL, SQLite e nella maggior parte degli ORM. Incolla una label leggibile o un nome di campo API in camelCase, copia la versione snake_case.
Frontend dev che scrivono classi CSS
kebab-case per i nomi di classi è la convenzione della specifica CSS (BEM, utility di Tailwind e la maggior parte dei design system). Incolla un nome di componente JS in camelCase, copia la versione kebab-case per il modulo CSS corrispondente.
Creatori di meme ed entusiasti del sarcasmo
aLtErNaTiNg cAsE e RaNdOm CaSe sono i formati spongebob-meme usati per deridere o citare sarcasticamente. Rimescola ritira la variante random senza cambiare l'input — generane qualcuna finché una non ti sembra giusta.

Regole di tokenizzazione e conversione

Regole di tokenizzazione
I token vengono estratti inserendo uno spazio in quattro confini: minuscola-maiuscola (parseHTML → parse HTML), maiuscola-maiuscola-minuscola (XMLHttp → XML Http), lettera-cifra (file2 → file 2) e cifra-lettera (2x → 2 x). Poi i separatori comuni (spazi bianchi, trattino, underscore, punto, slash, backslash) vengono collassati in singoli spazi. I token risultanti vengono divisi, trimmati e i vuoti vengono scartati. Questo corrisponde alle convenzioni di lodash e del pacchetto change-case.
Gli output Programming-case rimuovono la punteggiatura
camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case, path/case e Header-Case producono tutti identificatori puliti — la punteggiatura nell'input (virgole, punti, parentesi) viene scartata perché non può comparire nella maggior parte degli identificatori dei linguaggi. Se ti serve preservare la punteggiatura, usa uno degli output text-case (UPPERCASE, lowercase, Title, Sentence, iNVERSE, aLtErNaTiNg, RaNdOm).
Gli output Text-case preservano tutto
UPPERCASE, lowercase, Title Case, Sentence case, iNVERSE cASE, aLtErNaTiNg cAsE e RaNdOm CaSe preservano tutti spazi bianchi, interruzioni di riga e punteggiatura. Incolla un documento multi-paragrafo e la struttura sopravvive — cambia solo il case delle lettere. Queste trasformazioni operano carattere per carattere senza tokenizzazione.
Title Case (variante naive)
Title Case in questo strumento mette in maiuscolo la prima lettera di ogni parola separata da spazi bianchi e mette in minuscolo il resto. Le style guide APA, Chicago e AP raccomandano di mettere in minuscolo articoli e preposizioni brevi (a, an, the, of, in, for); quelle varianti sono abbastanza diverse da meritare uno strumento dedicato. Usa questo Title Case per la capitalizzazione generale; usa uno strumento headline-specifico per i titoli in stile AP.
Rilevamento dei confini di Sentence Case
Sentence case mette tutto in minuscolo, poi mette in maiuscolo la prima lettera dell'input e la prima lettera dopo qualunque terminatore di frase (. ! ? 。 ! ?) seguito da spazio bianco. Il rilevatore non tenta di disambiguare abbreviazioni come Mr. o U.S.A. — i falsi positivi lì sono più rumorosi del raro case mancato.
Alternating Case usa un toggle globale
aLtErNaTiNg cAsE si alterna tra minuscolo e maiuscolo per ogni lettera, con un toggle globale che si propaga attraverso i confini di parola. I caratteri non-lettera non avanzano il toggle. Questo corrisponde alla convenzione usata da convertcase.net e da altri generatori di meme — prevedibile e riproducibile per lo stesso input.
Random Case usa Math.random()
RaNdOm CaSe esegue un lancio di moneta indipendente per ogni lettera usando Math.random(). Ogni click su Rimescola produce un risultato diverso. La sorgente random non è crittograficamente forte; va bene per il testo informale ma non usarla per la generazione di password (usa il generatore di password dedicato per quello).
Mappature di case Unicode e locale-aware
Usa `toLocaleLowerCase()` e `toLocaleUpperCase()` così i turchi İ/ı con e senza punto, la ß tedesca (che in gestione standard diventa maiuscola SS) e altre mappature di case sensibili al locale vengono gestite correttamente. La tokenizzazione usa \p{L} per riconoscere lettere di qualunque script. Gli output programming-case per default usano caratteri di identificatore ASCII per compatibilità cross-language.

Best practice per scegliere un case

Scegli il case che corrisponde alla tua codebase
Il case giusto per un nome di variabile non è il più carino — è quello che la tua codebase usa già. JavaScript e Java: camelCase per variabili e metodi, PascalCase per le classi. Python, Ruby, Rust: snake_case per tutto tranne i nomi di classe (che sono PascalCase). CSS e URL: kebab-case. Variabili d'ambiente e costanti: CONSTANT_CASE. Allineati alla convenzione locale; la coerenza batte la correttezza teorica.
Usa Sentence case per le microcopy UI
I design system di Google, Apple e Microsoft si sono tutti standardizzati su Sentence case per label di pulsanti, voci di menu, testo di dialog e altre microcopy UI nell'ultimo decennio. Title Case nelle UI ora si legge come antiquato e leggermente urlato. Salva Title Case per i titoli principali, i titoli di pagina e i titoli di libri.
Rimuovi le virgolette smart prima di incollare
Incollare da Microsoft Word, Google Docs o Apple Notes può trascinarsi dietro virgolette smart (""), em-dash (—) e altri caratteri tipografici che sembrano identici a ASCII ma codificano diversamente. Le trasformazioni di case li gestiscono correttamente, ma se stai convertendo in un identificatore programming-case, sostituiscili manualmente con equivalenti ASCII prima per evitare sorprese nel tuo editor di codice.
Converti un identificatore alla volta per i Programming case
camelCase, snake_case, kebab-case, ecc. producono un singolo identificatore dall'intero input. Se incolli una frase in snake_case, ottieni un unico identificatore lungo — tecnicamente corretto ma raramente quello che vuoi. Per la conversione di identificatori, incolla una parola o un composto alla volta. Per testo di lunghezza paragrafo, usa le trasformazioni text-case.
Verifica il round-trip degli acronimi prima del refactor
XMLHttpRequest → xml_http_request → XmlHttpRequest è il round-trip standard; l'acronimo diventa title-cased al ritorno. Se la tua codebase preserva la capitalizzazione originale dell'acronimo (XmlHttpRequest resta come XMLHttpRequest), il round-trip non corrisponderà esattamente. Verifica a campione qualche conversione prima di fare un rename a livello di progetto.
Usa Header-Case per HTTP/1.1, kebab-case per HTTP/2
HTTP/1.1 è case-insensitive per i nomi degli header, ma Header-Case (Content-Type, X-Forwarded-For) è la grafia convenzionale leggibile dall'uomo che tutti usano. HTTP/2 richiede esplicitamente nomi di header in minuscolo — usa kebab-case per quelli (content-type, x-forwarded-for). In caso di dubbio, kebab-case funziona in entrambi i protocolli.
Rimescola il Random Case per varietà, non per sicurezza
Random Case è divertente per i meme ma non è random nel senso crittografico — usa Math.random(), che va bene per varietà visiva ma non per nulla in cui la casualità conti (generazione di password, token di sicurezza, A/B testing). Usa il generatore di password dedicato per la casualità crittografica.

Domande frequenti

Cosa fa un convertitore di maiuscole-minuscole?
Un convertitore di maiuscole-minuscole prende un pezzo di testo e lo ri-renderizza in un case diverso — UPPERCASE, lowercase, Title Case, Sentence case o uno dei case di naming per la programmazione come camelCase, PascalCase, snake_case, kebab-case e CONSTANT_CASE. Questo strumento mostra tutte le 15 varianti comuni in una volta sola, così non devi scegliere quale conversione vuoi prima di incollare; incolli, scorri la griglia e copi quella che ti serve. Gira interamente nel tuo browser usando JavaScript — senza registrazione, senza upload, senza roundtrip al server e senza analytics sul testo che incolli.
Qual è la differenza tra camelCase, PascalCase e snake_case?
Tutti e tre sono convenzioni per dare nome agli identificatori multi-parola nel codice. camelCase inizia con una lettera minuscola e mette in maiuscolo ogni parola successiva senza separatore: `userProfileImage`. PascalCase mette in maiuscolo ogni parola inclusa la prima: `UserProfileImage` — usato per nomi di classi nella maggior parte dei linguaggi e nomi di componenti in React. snake_case mette tutto in minuscolo e unisce le parole con underscore: `user_profile_image` — la convenzione per Python, Ruby, Rust e la maggior parte dei nomi di colonna nei database. kebab-case è la stessa idea con i trattini: `user-profile-image` — usato per nomi di classi CSS, slug URL e attributi HTML. CONSTANT_CASE è maiuscolo con underscore: `USER_PROFILE_IMAGE` — per costanti e variabili d'ambiente. Scegli quello che corrisponde allo stile esistente della tua codebase.
Come gestisce il tokenizer acronimi come XMLHttpRequest o parseHTML?
Il tokenizer riconosce il confine maiuscola-maiuscola-minuscola (XMLHttp → XML / Http) e il confine minuscola-maiuscola (parseHTML → parse / HTML). Quindi `XMLHttpRequest` diventa i token `XML`, `Http`, `Request`, e si converte pulitamente in `xml_http_request`, `xml-http-request`, `XML_HTTP_REQUEST` o `Xml-Http-Request`. Questo corrisponde alla convenzione usata da lodash, dal pacchetto npm change-case e dal PEP 8 di Python — lo standard de facto per la gestione degli acronimi tra linguaggi. L'unico compromesso: quando converti di nuovo in PascalCase, l'acronimo diventa title-cased (`XMLHttpRequest` fa round-trip a `XmlHttpRequest`), che è anch'essa la convenzione standard per evitare ambiguità nella ri-tokenizzazione.
Cosa sono Title Case e Sentence case?
Title Case mette in maiuscolo la prima lettera di ogni parola, lasciando tutto il resto in minuscolo: `Hello World Example`. Questo strumento usa la variante naive — ogni parola in maiuscolo — che è ciò che la maggior parte delle persone intende per "title case" nell'uso comune. Alcune style guide (APA, Chicago, AP) raccomandano di mettere in minuscolo articoli e preposizioni brevi come `a`, `an`, `the`, `of`, `in`, `for`; quelle varianti sono abbastanza diverse da appartenere a uno strumento "headline" separato. Sentence case mette in maiuscolo solo la prima lettera di ogni frase (e la primissima lettera dell'input): `Hello world example. This is a sentence.` Usa Title Case per titoli e nomi di libri, Sentence case per descrizioni, didascalie e testo del corpo.
Il mio testo viene caricato da qualche parte?
No. Ogni trasformazione di case gira al 100% nel tuo browser tramite JavaScript. Il tuo testo non viene mai trasmesso, mai memorizzato su alcun server, mai registrato e mai analizzato da umani o IA. Puoi verificarlo nella scheda Network del tuo browser — digitare nell'editor o cliccare Copia non genera alcuna richiesta di rete. Questo rende lo strumento sicuro per nomi di prodotti non ancora annunciati, schemi di variabili interni, bozze di testi legali, note di fonti giornalistiche e qualunque altro materiale confidenziale. Lo strumento non usa nemmeno cookie per il testo di input.
Come converto testo in camelCase da qualunque altro case?
Incolla il tuo testo nell'editor qui sopra e copia la card di output camelCase. Funziona da qualunque formato di partenza: una frase con spazi (`hello world` → `helloWorld`), snake_case (`hello_world` → `helloWorld`), kebab-case (`hello-world` → `helloWorld`), PascalCase (`HelloWorld` → `helloWorld`), CONSTANT_CASE (`HELLO_WORLD` → `helloWorld`) o anche un acronimo misto (`XMLHttpRequest` → `xmlHttpRequest`). Il tokenizer intelligente riconosce automaticamente tutti i confini comuni, quindi non devi pre-pulire l'input.
Lo strumento supporta Unicode e lettere non inglesi?
Sì. Le trasformazioni di case usano i metodi JavaScript Intl-aware `toLocaleLowerCase()` e `toLocaleUpperCase()`, che gestiscono correttamente i turchi `İ`/`ı` con e senza punto, la `ß` tedesca (che in gestione standard diventa maiuscola `SS`), la sigma finale greca e altre mappature di case sensibili al locale. La tokenizzazione usa pattern regex Unicode-aware che riconoscono lettere di qualunque script (`\p{L}`). Per gli output Programming-case (camelCase, snake_case, ecc.), il tokenizer per default tratta come caratteri di identificatore solo lettere ASCII e cifre — il che corrisponde ai vincoli della maggior parte dei linguaggi di programmazione — quindi le lettere non latine nell'input passano invariate dentro i token.
Qual è la differenza tra dot.case e path/case?
Entrambi sono identificatori in minuscolo uniti da separatore — l'unica differenza è il separatore. `dot.case` usa i punti: `hello.world.example`. È comune per il namespacing (package Java, metodi Lodash, percorsi di campo MongoDB) e per le chiavi di file di configurazione (TOML, INI). `path/case` usa gli slash in avanti: `hello/world/example`. È la convenzione per i percorsi URL, i percorsi del filesystem e i ref Git. Entrambi sono prodotti dalla stessa tokenizzazione, quindi convertire tra loro è solo uno scambio di separatore. Usa dot.case quando l'identificatore rappresenta una chiave gerarchica dentro dei dati; usa path/case quando rappresenta una posizione letterale.
Perché il tokenizer divide sui numeri (file2x → file, 2, x)?
I numeri come confini di token sono la convenzione che la maggior parte delle codebase moderne seguono — `parseUTF8` dovrebbe fare round-trip a `parse_utf_8` (o `parseUtf8` in PascalCase), non `parseutf_8`. Il tokenizer tratta ogni transizione lettera-cifra e cifra-lettera come un confine, quindi `file2x` diventa `file / 2 / x`. Se preferisci tenere le cifre incollate alle lettere precedenti, incolla una versione tokenizzata manualmente (`file 2x` con uno spazio letterale) e il tokenizer rispetterà lo spazio. Questa convenzione corrisponde al pacchetto change-case e al PEP 8 per Python.
In cosa differisce alternating case da random case?
Alternating case (aLtErNaTiNg cAsE) si alterna tra minuscolo e maiuscolo in modo deterministico — ogni lettera dispari è maiuscola, ogni lettera pari è minuscola, indipendentemente dai confini di parola. Il risultato è sempre lo stesso per lo stesso input. Random case (RaNdOm CaSe) capovolge ogni lettera in modo indipendente con un lancio di moneta, quindi ogni incolla produce un risultato diverso. Clicca Rimescola per ritirare l'output random senza pulire l'editor. Entrambi sono formati di testo derisorio (il cosiddetto "spongebob meme"); alternating è la variante rigorosa, random è quella caotica. Gli altri output di case non sono influenzati da Rimescola.
Questo strumento converte i nomi degli header HTTP?
Sì — usa l'output Header-Case. Mette in maiuscolo ogni token e li unisce con trattini, producendo grafie canoniche di header HTTP come `Content-Type`, `Access-Control-Allow-Origin` e `X-Forwarded-For`. Incolla un nome di proprietà JS in camelCase (`accessControlAllowOrigin`) e ottieni la grafia esatta dell'header che usa la specifica HTTP/1.1, pronta da inserire in un options object di `fetch()` o in una response lato server. Nota che HTTP/2 preferisce nomi di header in minuscolo (usa kebab-case per quella variante); HTTP/1.1 è case-insensitive ma la grafia Header-Case è la forma convenzionale leggibile dall'uomo.
Posso convertire un intero paragrafo in una volta sola?
Sì — per le trasformazioni di text-case (UPPERCASE, lowercase, Title Case, Sentence case, iNVERSE, aLtErNaTiNg, RaNdOm), lo strumento preserva per design tutti gli spazi bianchi, le interruzioni di riga e la punteggiatura, quindi puoi incollare un intero paragrafo o anche un documento di più pagine. Le trasformazioni di programming-case (camelCase, snake_case, ecc.) rimuovono deliberatamente la punteggiatura dato che producono identificatori; incollare un paragrafo in camelCase lo collasserà in un unico identificatore gigante, che è tecnicamente la trasformazione corretta ma raramente utile. Per testo lungo come un documento, usa solo gli output text-case; per conversione di identificatori, incolla un identificatore alla volta.
Quanto è accurato questo rispetto a lodash, change-case o altre librerie di case?
Il tokenizer e le trasformazioni di case producono output byte-identico al pacchetto npm change-case (`change-case` v5+) per tutti gli input comuni — stessa gestione degli acronimi, stessa regola numero-come-confine, stesso riconoscimento di lettere Unicode. `_.camelCase`, `_.snakeCase`, `_.kebabCase` e `_.startCase` di lodash usano un tokenizer leggermente diverso (divide su più caratteri e tratta alcune classi Unicode diversamente), ma per input ASCII gli output corrispondono nei casi comuni. Title Case in questo strumento è la variante naive (ogni parola in maiuscolo); `_.startCase` di lodash fa lo stesso. Se ti servono le regole title-case di APA o Chicago (preposizioni brevi in minuscolo), usa una libreria title-case dedicata — questo strumento ottimizza per il case che la maggior parte delle persone cerca.
Perché ci sono sia Sentence case sia Title Case se sembrano simili?
Divergono non appena l'input ha più di una parola. Sentence case mette tutto in minuscolo e mette in maiuscolo solo la prima lettera di ogni frase: `hello world. this is a sentence.` diventa `Hello world. This is a sentence.` Title Case mette in maiuscolo ogni parola: `Hello World. This Is A Sentence.` Sentence case è la convenzione per testo del corpo, didascalie e microcopy UI nella maggior parte delle style guide moderne (Google, Microsoft, Apple). Title Case è la convenzione per titoli, titoli di pagina, titoli di libri e titoli di finestra di dialogo nella tipografia classica. Lo stile web moderno preferisce sempre più Sentence case per tutto tranne i titoli principali.

Strumenti correlati

Vedi tutti gli strumenti →

Tester Regex gratuito — Debug e match dei pattern online

Elaborazione del testo

Testa pattern regex all'istante su qualsiasi testo. Evidenziazione delle corrispondenze, gruppi di acquisizione, anteprima di sostituzione e split. Espressioni regolari in JavaScript, 100% private, senza registrazione.

Confronta due testi — Diff

Elaborazione del testo

Confronta due testi all'istante nel browser. Vista affiancata, evidenziazione parola per parola, esportazione diff unificato, opzioni per ignorare maiuscole/spazi/righe vuote. 100 % browser — nessun upload.

Contatore di parole e caratteri gratuito

Elaborazione del testo

Conta parole, caratteri, frasi, paragrafi e tempo di lettura all'istante. Contatore di parole in tempo reale con controlli di limite per Twitter, meta description e Instagram. Gratuito, privato, senza registrazione.

Convertitore di Basi Numeriche — Bin, Hex, Ott, Dec

Strumenti di conversione

Converti istantaneamente tra binario, esadecimale, decimale, ottale e qualsiasi base (2-36). Strumento online gratuito e privato: tutta l'elaborazione avviene nel tuo browser.

Decodificatore e codificatore Base64

Codifica e formattazione

Decodifica e codifica Base64 online gratis. Conversione in tempo reale con pieno supporto UTF-8 ed emoji. 100% privato — gira nel tuo browser. Nessuna registrazione.

Generatore Crontab e Costruttore di Espressioni Cron

Data e ora

Genera, valida e decodifica espressioni cron online nel browser. Anteprima live delle prossime esecuzioni in ora locale o UTC. Sintassi POSIX a 5 campi, preset e descrizione in italiano.