Che cos'è questo strumento?
Base64 è uno schema di codifica che converte dati binari o di testo in un insieme di 64 caratteri ASCII sicuri (A–Z, a–z, 0–9, + e /). Viene utilizzato ovunque nel mondo del software: per incorporare immagini in HTML/CSS, nelle intestazioni di autenticazione HTTP Basic, negli allegati e-mail (MIME), nei JSON Web Token e nei payload delle API che devono superare canali di solo testo.
Importante: Base64 è una codifica, non una crittografia. Chiunque può decodificarla. Il suo scopo è garantire la sicurezza dei dati durante la trasmissione attraverso sistemi che riconoscono solo il testo, non quello di mantenerli segreti.
Perché usarlo?
- Decodifica i token API, i segmenti JWT e le intestazioni di autenticazione per vedere cosa contengono.
- Codifica il testo per gli URI di dati, i file di configurazione o le intestazioni HTTP.
- Compatibile con UTF-8: le emoji e i caratteri non latini vengono codificati e decodificati correttamente.
- 100% privato: la conversione avviene nel tuo browser, non viene caricato nulla.
- Gratuito, senza registrazione, senza limiti di dimensione.
Come si usa
- Digita o incolla il testo nella casella di immissione.
- Fai clic su "Codifica" per convertire il testo in Base64, oppure su "Decodifica" per riconvertire il Base64 in testo.
- Se la decodifica non va a buon fine, l'input non è un codice Base64 valido: verifica che non manchino caratteri o che non vi siano spazi in eccesso.
- Fai clic su "Copia" per copiare il risultato.
Esempio
Input
Hello, CodeKitHub! 你好 👋Risultato
SGVsbG8sIENvZGVLaXRIdWIhIOS9oOWlvSDwn5GLNotate come i caratteri cinesi e le emoji mantengano la loro integrità durante il trasferimento di andata e ritorno: è proprio questa la parte sicura dell'UTF-8.
Consigli pratici
- I token JWT sono costituiti da tre segmenti in Base64 separati da punti: decodifica separatamente i primi due (intestazione e payload) per leggerli; il terzo è una firma binaria e apparirà come un insieme di caratteri casuali.
- Se la decodifica di un segmento JWT non va a buon fine, significa che si tratta di una codifica base64url: sostituire prima - con + e _ con / (gli strumenti standard prevedono l'alfabeto +/).
- Gli spazi bianchi e le interruzioni di riga all'interno di una stringa Base64 sono solitamente residui innocui provenienti da e-mail o log, ma la mancanza del carattere di riempimento finale "=" spesso non lo è: controlla la lunghezza prima di supporre che i dati siano danneggiati.
- La codifica Base64 aumenta la dimensione dei dati di circa il 33%. Va bene per payload di piccole dimensioni; per immagini superiori a pochi KB, un file vero e proprio è quasi sempre la scelta migliore rispetto a un URI di dati.
Scenari di utilizzo reali
I tre casi che portano le persone a consultare questa pagina ogni giorno: leggere il contenuto di un'intestazione Authorization o di un JWT, decodificare un campo del payload di un webhook/API arrivato in formato Base64 (spesso JSON — formattarlo dopo la decodifica) e generare manualmente un URI di dati o una stringa Basic-Auth durante il debug.
Per i dati binari (immagini, file), tieni presente che, se li decodifichi come testo, otterrai caratteri incomprensibili (mojibake): i dati potrebbero essere perfettamente validi, ma semplicemente non sono testo. La codifica e la decodifica dei dati binari devono avvenire nel codice; questo strumento è ottimizzato per i casi relativi al testo.
Come diagnosticare un errore di decodifica
Gli errori di decodifica Base64 sono quasi sempre riconducibili a una delle tre cause seguenti, in ordine di frequenza: l’input era in realtà in formato base64url (che utilizza - e _ al posto dei caratteri standard + e /, comuni nei JWT e nei contesti URL-safe) e richiede che tali caratteri vengano ripristinati prima che la decodifica standard possa accettarlo; la stringa è stata troncata in qualche punto del processo (un copia-incolla che ha tralasciato gli ultimi caratteri, o una riga di log che è stata tagliata), il che è rilevabile poiché la lunghezza di una stringa Base64 valida è sempre un multiplo di 4 una volta considerato il riempimento; oppure durante la copia sono stati introdotti caratteri estranei (spazi in eccesso, un carattere di nuova riga fuori posto, un carattere duplicato accidentalmente), motivo per cui incollare direttamente da una fonte non elaborata piuttosto che digitare nuovamente è sempre più sicuro.
→ Formattatore JSON · Codificatore/Decodificatore URL · Decodificatore JWT
Domande frequenti
La codifica Base64 è una forma di crittografia?
No. Base64 è una codifica reversibile che chiunque può decodificare: non offre alcuna sicurezza. Se hai bisogno di proteggere i dati, usa una vera e propria crittografia (come AES); Base64 serve solo a rendere i dati sicuri durante il trasporto sotto forma di testo.
Perché l'output decodificato sembra un insieme di caratteri senza senso?
O l'input non è effettivamente in formato Base64, oppure è stato troncato, oppure i dati originali erano binari (come un'immagine) anziché testuali. I dati binari non vengono visualizzati come caratteri leggibili.
Cosa significano i segni "=" alla fine?
Riempimento. Base64 funziona in blocchi di 3 byte in ingresso → 4 caratteri in uscita. Quando la lunghezza dell'input non è divisibile per 3, il blocco finale viene riempito con uno o due caratteri =.
Questo strumento funziona con le emoji e i caratteri cinesi?
Sì. Prima codifica il testo come byte UTF-8, che è l'approccio standard. Gli strumenti più semplici che utilizzano direttamente la funzione btoa() non funzionano con caratteri che non appartengano al set Latin-1, mentre questo strumento sì.
I miei dati vengono caricati da qualche parte?
No. La codifica e la decodifica avvengono interamente nel browser tramite JavaScript. I tuoi dati non lasciano mai il tuo dispositivo.