Convertitore di maiuscole e minuscole

Converti il testo tra maiuscole, minuscole, title case, camelCase, snake_case e altro

Prova un esempio

Input

Output

Esegue in locale · Sicuro per incollare segreti
Il testo convertito apparirà qui…

Cos'è la Conversione di Maiuscole e Minuscole?

La conversione di maiuscole e minuscole è il processo di modifica della capitalizzazione o del pattern di separazione delle parole in una stringa. Un convertitore di maiuscole prende un input come "hello world" e lo trasforma in UPPERCASE, lowercase, Title Case, camelCase, snake_case, kebab-case o altre convenzioni. La trasformazione è immediata per testo ASCII semplice, ma emergono casi particolari con gli acronimi ("XMLParser"), le regole specifiche per lingua (la I puntata turca) e le stringhe in più scritture.

I linguaggi di programmazione, i file system e le guide di stile impongono ciascuno le proprie convenzioni di denominazione. Le variabili JavaScript usano tipicamente camelCase. Le funzioni e le variabili Python seguono snake_case secondo PEP 8. I nomi delle classi CSS usano kebab-case. Le colonne dei database variano in base al team, ma snake_case domina in PostgreSQL e MySQL. Passare manualmente da una convenzione all'altra è lento e soggetto a errori, specialmente quando si rinominano elementi in decine di file.

Le convenzioni di maiuscole contano anche al di fuori del codice. Il Title Case segue regole definite da guide di stile come il Chicago Manual of Style e le norme APA, dove articoli e preposizioni brevi restano in minuscolo a meno che non aprano la frase. Il Sentence case capitalizza solo la prima parola e i nomi propri. L'editoria americana predilige il Title Case per i titoli; la maggior parte dei documenti tecnici europei usa invece il Sentence case.

Perché Usare Questo Convertitore?

Incolla qualsiasi testo e convertilo istantaneamente tra nove formati di maiuscole, senza installare un'estensione VS Code né scrivere uno script usa-e-getta.

Conversione Istantanea
Seleziona un formato e visualizza il risultato immediatamente. Nessun round-trip al server, nessuna attesa. Passa da un formato all'altro per confrontare l'output affiancato.
🔒
Elaborazione Privacy-First
Tutte le trasformazioni vengono eseguite nel browser con JavaScript. Il tuo testo rimane sul tuo dispositivo. Nulla viene inviato a un server né salvato da nessuna parte.
🔄
Nove Formati in Un Solo Strumento
UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case e CONSTANT_CASE. Un unico input copre ogni convenzione comune.
🌍
Nessun Account Necessario
Apri la pagina e inizia a convertire. Nessuna registrazione, nessuna estensione del browser, nessuna installazione desktop. Funziona su qualsiasi dispositivo con un browser moderno.

Casi d'Uso del Convertitore

Sviluppo Frontend
Converti i nomi delle prop dei componenti dalle risposte API in snake_case a camelCase per gli oggetti JavaScript. Rinomina le classi CSS da camelCase a kebab-case durante la migrazione a un sistema di denominazione BEM o utility-first.
Progettazione di API Backend
Converti i nomi dei campi tra convenzioni quando mappi colonne di database (snake_case) a chiavi di risposta JSON (camelCase). Verifica che i livelli di serializzazione producano il formato di output atteso.
DevOps e Infrastruttura
Genera nomi di variabili d'ambiente in CONSTANT_CASE da frasi descrittive. Converti i nomi delle risorse Terraform tra snake_case e kebab-case per allinearsi alle guide di stile del team.
QA e Test Automation
Prepara i dati dei fixture di test con nomi di campo correttamente capitalizzati. Individua le discrepanze di capitalizzazione tra i contratti API e le aspettative del client prima che raggiungano la produzione.
Data Engineering
Normalizza le intestazioni delle colonne quando importi file CSV o Excel in un database. Converti intestazioni in maiuscole miste come "Nome" in colonne snake_case come "nome" per un design dello schema coerente.
Scrittura Tecnica e Documentazione
Formatta i riferimenti al codice nella documentazione con la capitalizzazione corretta. Converti descrizioni in linguaggio naturale in nomi di classi PascalCase o slug URL kebab-case per la coerenza nelle specifiche tecniche.

Riferimento alle Convenzioni di Maiuscole

Ogni convenzione di denominazione ha regole specifiche per la capitalizzazione e la separazione delle parole. La tabella seguente mostra tutti e nove i formati supportati dallo strumento, con la frase di input "the quick brown fox" come riferimento.

FormatoRegolaEsempio
UPPERCASEEvery letter capitalizedTHE QUICK BROWN FOX
lowercaseEvery letter lowercasedthe quick brown fox
Title CaseFirst letter of each word capitalizedThe Quick Brown Fox
Sentence caseFirst letter of each sentence capitalizedThe quick brown fox
camelCaseNo separators, first word lowercasetheQuickBrownFox
PascalCaseNo separators, every word capitalizedTheQuickBrownFox
snake_caseWords joined by underscores, all lowercasethe_quick_brown_fox
kebab-caseWords joined by hyphens, all lowercasethe-quick-brown-fox
CONSTANT_CASEWords joined by underscores, all uppercaseTHE_QUICK_BROWN_FOX

camelCase vs snake_case vs kebab-case

Queste tre convenzioni dominano nello sviluppo software, ma ciascuna appartiene a un ecosistema diverso. Scegliere quella sbagliata rompe i linter, viola i contratti API o produce codebase incoerenti.

camelCase
Standard per variabili, nomi di funzioni e chiavi di oggetti JavaScript e TypeScript. Java e C# lo usano per variabili locali e parametri di metodi. Le API JSON progettate per client JavaScript usano tipicamente chiavi camelCase. La prima parola è in minuscolo; ogni parola successiva inizia con una lettera maiuscola.
snake_case
Predefinito per Python (PEP 8), Ruby, Rust e la maggior parte dei database SQL. Anche le funzioni della libreria standard C seguono questo pattern. Le parole sono separate da underscore, tutte in minuscolo. CONSTANT_CASE (tutto maiuscolo con underscore) è la variante usata per costanti e variabili d'ambiente.
kebab-case
Standard per i nomi delle classi CSS, gli attributi HTML, gli slug URL e i nomi dei flag CLI (--output-dir). Comune in Lisp e Clojure. Le parole sono separate da trattini, tutte in minuscolo. La maggior parte dei linguaggi di programmazione non può usare i trattini negli identificatori, quindi kebab-case è limitato a stringhe, nomi di file e markup.

Esempi di Codice

Come convertire tra convenzioni di maiuscole in modo programmatico. Ogni esempio copre le trasformazioni più comuni: da camelCase a snake_case, da snake_case a camelCase, e le conversioni di base maiuscolo/minuscolo/title.

JavaScript
// camelCase → snake_case
function toSnakeCase(str) {
  return str
    .replace(/([a-z])([A-Z])/g, '$1_$2')
    .replace(/[\s-]+/g, '_')
    .toLowerCase()
}
toSnakeCase('myVariableName')  // → "my_variable_name"
toSnakeCase('kebab-case-str')  // → "kebab_case_str"

// snake_case → camelCase
function toCamelCase(str) {
  return str
    .toLowerCase()
    .replace(/[_-](\w)/g, (_, c) => c.toUpperCase())
}
toCamelCase('my_variable_name')  // → "myVariableName"

// Title Case
function toTitleCase(str) {
  return str.replace(/\w\S*/g, w =>
    w.charAt(0).toUpperCase() + w.slice(1).toLowerCase()
  )
}
toTitleCase('the quick brown fox')  // → "The Quick Brown Fox"
Python
import re

text = "the quick brown fox"

# UPPERCASE / lowercase
text.upper()  # → "THE QUICK BROWN FOX"
text.lower()  # → "the quick brown fox"

# Title Case
text.title()  # → "The Quick Brown Fox"

# camelCase
def to_camel(s):
    words = re.split(r'[\s_-]+', s)
    return words[0].lower() + ''.join(w.capitalize() for w in words[1:])

to_camel("my_variable_name")  # → "myVariableName"

# snake_case from camelCase
def to_snake(s):
    return re.sub(r'([a-z])([A-Z])', r'\1_\2', s).lower()

to_snake("myVariableName")  # → "my_variable_name"

# kebab-case
def to_kebab(s):
    return re.sub(r'([a-z])([A-Z])', r'\1-\2', s).replace('_', '-').lower()

to_kebab("myVariableName")  # → "my-variable-name"
Go
package main

import (
	"fmt"
	"regexp"
	"strings"
)

// camelCase → snake_case
func toSnake(s string) string {
	re := regexp.MustCompile("([a-z])([A-Z])")
	snake := re.ReplaceAllString(s, "${1}_${2}")
	return strings.ToLower(snake)
}

// snake_case → camelCase
func toCamel(s string) string {
	parts := strings.Split(strings.ToLower(s), "_")
	for i := 1; i < len(parts); i++ {
		parts[i] = strings.Title(parts[i])
	}
	return strings.Join(parts, "")
}

func main() {
	fmt.Println(toSnake("myVariableName"))  // → my_variable_name
	fmt.Println(toCamel("my_variable_name")) // → myVariableName
	fmt.Println(strings.ToUpper("hello"))    // → HELLO
	fmt.Println(strings.ToUpper("hello world")) // → HELLO WORLD
}
CLI (bash / sed)
# UPPERCASE
echo "hello world" | tr '[:lower:]' '[:upper:]'
# → HELLO WORLD

# lowercase
echo "HELLO WORLD" | tr '[:upper:]' '[:lower:]'
# → hello world

# camelCase → snake_case (using sed)
echo "myVariableName" | sed 's/\([a-z]\)\([A-Z]\)/\1_\2/g' | tr '[:upper:]' '[:lower:]'
# → my_variable_name

# snake_case → kebab-case
echo "my_variable_name" | tr '_' '-'
# → my-variable-name

Domande Frequenti

Qual è la differenza tra camelCase e PascalCase?
camelCase inizia con una lettera minuscola (myVariable), mentre PascalCase inizia con una lettera maiuscola (MyVariable). In JavaScript, camelCase è usato per variabili e funzioni; PascalCase è usato per i nomi delle classi e dei componenti React. C# usa PascalCase per metodi e proprietà pubblici. L'unica differenza strutturale è il primo carattere.
Come converto camelCase in snake_case in JavaScript?
Inserisci un underscore prima di ogni lettera maiuscola usando una regex, poi converti il risultato in minuscolo: str.replace(/([a-z])([A-Z])/g, '$1_$2').toLowerCase(). Questo gestisce il camelCase standard. Per stringhe con lettere maiuscole consecutive come "XMLParser", è necessario un ulteriore passaggio con regex per separare correttamente le sequenze di maiuscole.
Perché Python usa snake_case invece di camelCase?
PEP 8, la guida di stile ufficiale di Python pubblicata nel 2001, ha scelto snake_case per funzioni e variabili perché Guido van Rossum e il team principale lo ritenevano più leggibile a colpo d'occhio. Studi come quello di Binkley et al. (2009) hanno rilevato che gli identificatori snake_case venivano riconosciuti più rapidamente dai programmatori rispetto a camelCase in certi compiti di lettura. La convenzione è applicata da linter come flake8 e pylint.
Il Title Case equivale a capitalizzare ogni parola?
Il Title Case semplice capitalizza la prima lettera di ogni parola, ed è quello che fa questo strumento. Il Title Case formale (AP, Chicago, APA) ha regole aggiuntive: gli articoli (a, an, the), le congiunzioni brevi (and, but, or) e le preposizioni brevi (in, on, at) restano in minuscolo a meno che non siano la prima o l'ultima parola. Il title case formale richiede una ricerca nel dizionario, non solo una trasformazione a livello di carattere.
Questo strumento gestisce Unicode e scritture non latine?
Lo strumento usa i metodi JavaScript incorporati toUpperCase() e toLowerCase(), che seguono le regole di capitalizzazione Unicode definite nello Unicode Standard (Capitolo 3, Sezione 3.13). Questo gestisce correttamente i caratteri accentati (é in É), la eszett tedesca (ss in SS) e le lettere greche. Tuttavia, le regole specifiche per lingua come la capitalizzazione turca (dove la i minuscola diventa İ con il punto, non I) dipendono dall'impostazione della lingua del browser, non dallo strumento.
Per cosa viene usato CONSTANT_CASE?
CONSTANT_CASE (chiamato anche SCREAMING_SNAKE_CASE) è usato per costanti e variabili d'ambiente. In JavaScript: const MAX_RETRIES = 3. In Python: MAX_RETRIES = 3 (per convenzione, poiché Python non ha vere costanti). Negli script shell: export DATABASE_URL=.... Lo stile tutto-maiuscolo segnala che un valore non dovrebbe essere riassegnato dopo l'inizializzazione.
Come scelgo la convenzione di maiuscole giusta per il mio progetto?
Segui la convenzione dominante per il tuo linguaggio e framework. JavaScript/TypeScript: camelCase per variabili, PascalCase per classi e componenti. Python: snake_case per funzioni e variabili, PascalCase per classi. CSS: kebab-case. SQL: snake_case per colonne e tabelle. Chiavi JSON di API REST: abbina il linguaggio del frontend (camelCase per client JS, snake_case per client Python). In caso di dubbio, controlla la configurazione del linter o il file .editorconfig nella root del progetto.