Convertitore maiuscole e minuscole
Come funziona
Scrivi o incolla un testo nel riquadro. Lo strumento lo divide in parole e lo converte subito in tutte le varianti, una per riga: non devi scegliere il formato di arrivo, li vedi tutti e copi quello che ti serve con il suo pulsante Copia.
Le varianti disponibili: • MAIUSCOLO: `MIA VARIABILE`. • minuscolo: `mia variabile`. • Iniziali Maiuscole (Title Case): `Mia Variabile`. Ogni parola con l'iniziale maiuscola e il resto minuscolo. • Come una frase (Sentence case): `Mia variabile`. Solo la prima parola con l'iniziale maiuscola: attenzione, anche i nomi propri successivi diventano minuscoli. • camelCase: `miaVariabile`. La convenzione di JavaScript, Java e Swift per variabili e metodi. • PascalCase: `MiaVariabile`. Nomi di classi in C#, TypeScript, Java e Rust. • snake_case: `mia_variabile`. Python, Ruby, colonne SQL. • CONSTANT_CASE: `MIA_VARIABILE`. Costanti e variabili d'ambiente. • kebab-case: `mia-variabile`. Classi CSS, attributi HTML, percorsi degli URL. • dot.case: `mia.variabile`. Alcuni file di configurazione e i package Java. • Slug per URL: `mia-variabile`. Come il kebab-case, ma con solo lettere a-z e cifre.
Come vengono separate le parole. Lo strumento spezza il testo sugli spazi, sui separatori tipici degli identificatori (trattino, underscore, punto e barra) e nel punto in cui una minuscola è seguita da una maiuscola, cioè il confine del camelCase. Così `nomeUtente`, `nome_utente` e `nome-utente` danno tutti le stesse due parole e puoi passare da una convenzione all'altra. Le sigle tutte maiuscole e le cifre attaccate alle lettere non vengono divise: `XMLParser` resta una parola sola e in snake_case diventa `xmlparser`, quindi in quei casi aggiungi uno spazio a mano. Anche la punteggiatura resta attaccata alla parola: per avere un identificatore pulito, togli virgole e punti esclamativi prima di convertire.
Lettere accentate. Nelle varianti di testo e negli identificatori le lettere accentate restano come sono (`città vecchia` diventa `cittàVecchia`). Nello slug per URL invece i caratteri fuori da a-z e 0-9 vengono eliminati, non convertiti, quindi `città` diventa `citt`. Per gli URL di testi in italiano usa il generatore di slug per URL di questo sito, che trasforma à in a.
Quale convenzione usare. Decidono il linguaggio e il team più del gusto personale. JavaScript e Java vogliono camelCase per le variabili e PascalCase per le classi. Python usa snake_case per tutto tranne le classi. Rust preferisce snake_case per variabili e funzioni e PascalCase per i tipi. Il CSS usa kebab-case. Tabelle e colonne dei database sono di solito in snake_case, perché molti dialetti SQL non distinguono maiuscole e minuscole negli identificatori e il kebab-case si confonderebbe con il segno meno.
Il testo viene elaborato interamente nel browser e non viene caricato da nessuna parte.
Domande frequenti
Come trasformo un testo da minuscolo a maiuscolo?
- Incolla il testo nel riquadro e copia la riga MAIUSCOLO con il suo pulsante. Nella stessa lista trovi anche il contrario, minuscolo, e Iniziali Maiuscole: “ciao a tutti” diventa “CIAO A TUTTI”, “ciao a tutti” e “Ciao A Tutti”.
Quali formati sono supportati?
- Undici: MAIUSCOLO, minuscolo, Iniziali Maiuscole, Come una frase, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case e slug per URL. Compaiono tutti insieme, ognuno con il suo pulsante Copia.
Come converto camelCase in snake_case?
- Incolla l'identificatore e copia la riga snake_case: `nomeUtenteAttivo` diventa `nome_utente_attivo`. Funziona in tutte le direzioni, perché lo strumento riconosce come confine tra parole il passaggio da minuscola a maiuscola, il trattino, l'underscore, il punto e la barra.
Che differenza c'è tra camelCase e PascalCase?
- La prima lettera. camelCase inizia in minuscolo (`miaVariabile`), PascalCase mette la maiuscola a ogni parola, compresa la prima (`MiaVariabile`). Entrambi uniscono le parole senza separatori, e molti linguaggi li usano tutti e due: PascalCase per classi e tipi, camelCase per variabili e metodi.
Che differenza c'è tra kebab-case e slug per URL?
- Lo slug è più restrittivo. Entrambi mettono le parole in minuscolo e le uniscono con `-`, ma lo slug elimina anche tutti i caratteri diversi da a-z e 0-9, punteggiatura e lettere accentate comprese. Usa il kebab-case per classi CSS e attributi HTML, lo slug per i percorsi degli URL.
Le lettere accentate vengono gestite?
- Sì, tranne che nello slug. In MAIUSCOLO, camelCase, snake_case e nelle altre varianti le lettere accentate restano intatte, quindi “perché così” diventa “PERCHÉ COSÌ” o `perchéCosì`. Lo slug per URL invece le elimina: per URL di testi italiani usa il generatore di slug per URL di questo sito, che converte à in a.
Perché in Python si usa lo snake_case?
- Perché lo raccomanda la PEP 8, la guida di stile ufficiale di Python dal 2001, per funzioni, variabili e nomi di moduli, lasciando il CamelCase alle classi. Si sposa con la preferenza del linguaggio per la leggibilità e permette di distinguere a colpo d'occhio i dati (snake) dai tipi (camel).
Il mio testo viene salvato da qualche parte?
- No. La conversione è JavaScript che gira nella scheda del browser: il testo entra, le 11 varianti escono, e nulla viene registrato o salvato. Apri la scheda Rete degli strumenti per sviluppatori e vedrai che mentre scrivi non parte nessuna richiesta.
Convenzioni di nomenclatura per linguaggio e contesto
Che formato usare per quale identificatore nei linguaggi e nei contesti più diffusi. Nel dubbio segui la convenzione già presente nel progetto; il codice tra linguaggi diversi (FFI, API JSON) di solito segue la convenzione di chi lo consuma.
| Contesto | Tipo di identificatore | Convenzione | Esempio |
|---|---|---|---|
| JavaScript / TypeScript | Variabili, funzioni | camelCase | userName, getUserData() |
| JavaScript / TypeScript | Classi, interfacce, tipi | PascalCase | UserAccount, IUserRepo |
| JavaScript / TypeScript | Costanti | CONSTANT_CASE | MAX_RETRIES, API_BASE_URL |
| Python | Funzioni, variabili, moduli | snake_case | user_name, get_user_data() |
| Python | Classi | PascalCase | UserAccount |
| Python | Costanti | CONSTANT_CASE | MAX_RETRIES |
| Rust | Variabili, funzioni, moduli | snake_case | user_name, get_user_data() |
| Rust | Tipi, trait, enum | PascalCase | UserAccount, Iterator |
| Java | Variabili, metodi | camelCase | userName, getUserData() |
| Java | Classi, interfacce | PascalCase | UserAccount |
| Java | Package | minuscolo / dot.case | com.example.app |
| Java | Costanti | CONSTANT_CASE | MAX_RETRIES |
| C# / .NET | Metodi pubblici, proprietà, tipi | PascalCase | UserAccount, GetUserData() |
| C# / .NET | Variabili locali, parametri | camelCase | userName |
| Ruby | Variabili, metodi | snake_case | user_name, get_user_data |
| Ruby | Classi, moduli | PascalCase | UserAccount |
| Ruby | Costanti | CONSTANT_CASE | MAX_RETRIES |
| Go | Nomi esportati (pubblici) | PascalCase | UserAccount, GetUserData() |
| Go | Nomi non esportati (privati) | camelCase | userAccount, getUserData() |
| CSS / HTML | Classi, ID, attributi | kebab-case | .user-account, [data-user-id] |
| HTML | Nomi degli elementi | minuscolo | <div>, <span> |
| SQL | Tabelle, colonne | snake_case | user_accounts, created_at |
| JSON / API REST | Chiavi delle proprietà | camelCase o snake_case | userName / user_name |
| Variabili d'ambiente | Tutte le shell, .env | CONSTANT_CASE | DATABASE_URL, API_KEY |
| Nomi di file (portabili) | File sorgente | kebab-case o snake_case | user-account.ts, user_account.py |
| Percorsi URL | Slug | Slug per URL | /blog/il-mio-primo-post |
| Configurazione YAML | Chiavi | kebab-case o snake_case | max-retries: 3 |
Le convenzioni vengono dalle guide di stile ufficiali di ciascun linguaggio, dove esistono (PEP 8, Effective Java, Rust API Guidelines, Google Java Style, Microsoft .NET Framework Design Guidelines), e altrove dalla pratica più diffusa. Quando contribuisci a un progetto segui la scelta già fatta: per i nomi la coerenza conta più della correttezza.