Come si usa
- Scegli Codifica o Decodifica nella parte superiore dello strumento.
- Digita o incolla il testo, oppure fai clic su Apri file per codificare qualsiasi file.
- Se serve, modifica le opzioni Variante (standard o sicura per URL), Padding, A capo e Codifica del testo. Il risultato si aggiorna mentre scrivi.
- Copia il risultato, scaricalo oppure premi Scambia input e output per elaborarlo nella direzione opposta.
Che cos’è Base64?
Base64 è una codifica da binario a testo che rappresenta qualsiasi sequenza di byte con 64 caratteri ASCII stampabili: A-Z, a-z, 0-9, + e /, più il segno = usato come padding. Permette a dati binari come immagini, chiavi o file compressi di attraversare senza danni sistemi pensati per il testo, come email, JSON, XML, URL e HTML.
Il codificatore legge l’input tre byte (24 bit) alla volta e li divide in quattro gruppi da 6 bit. Ogni valore a 6 bit, da 0 a 63, seleziona un carattere dell’alfabeto. Quando la lunghezza dell’input non è un multiplo di tre, l’ultimo gruppo viene completato con uno o due segni =. Per questo l’output Base64 è sempre più grande di circa il 33% rispetto ai dati originali.
Base64 è una codifica, non una cifratura. Chiunque può decodificarlo, quindi non usarlo mai per nascondere password o segreti.
Base64 e Base64URL
Il Base64 standard usa + e /, che hanno un significato speciale negli URL e nei nomi di file. Base64URL, definito nella sezione 5 della RFC 4648, li sostituisce con - e _ e di solito omette il padding. Si usa nei JSON Web Token, in OAuth e ovunque un valore debba trovarsi all’interno di un URL. Il decodificatore di questa pagina accetta automaticamente entrambe le forme.
| Base64 standard | Base64URL | |
|---|---|---|
| Caratteri 62 e 63 | + / | - _ |
| Padding | = obbligatorio | Facoltativo, di solito omesso |
| Sicuro in URL e nomi di file | No | Sì |
| Uso tipico | Email (MIME), data URI, JSON, chiavi PEM | JWT, OAuth, parametri URL |
Usi comuni di Base64
- Allegati email. MIME codifica gli allegati in Base64 andando a capo ogni 76 caratteri. Usa l’opzione A capo per riprodurre questo formato.
- Incorporare immagini e file. I data URI inseriscono piccole immagini, font o icone direttamente in HTML e CSS. Vedi Immagine in Base64 e Base64 in immagine.
- API e configurazione. JSON non ha un tipo binario, quindi le API inviano file, firme e chiavi come stringhe Base64. Anche i Secret di Kubernetes memorizzano i propri valori in Base64.
- Autenticazione. L’autenticazione HTTP Basic invia
username:passwordin Base64, e i JSON Web Token sono formati da tre segmenti Base64URL. - Certificati e chiavi. I file PEM contengono dati DER codificati in Base64, con un a capo ogni 64 caratteri.
Base64 nei linguaggi di programmazione
| Linguaggio | Codifica | Decodifica |
|---|---|---|
| JavaScript (browser) | btoa(binaryString) | atob(base64) |
| Node.js | Buffer.from(str).toString('base64') | Buffer.from(b64, 'base64').toString() |
| Python | base64.b64encode(data) | base64.b64decode(data) |
| PHP | base64_encode($str) | base64_decode($b64) |
| Java | Base64.getEncoder().encodeToString(bytes) | Base64.getDecoder().decode(b64) |
| C# | Convert.ToBase64String(bytes) | Convert.FromBase64String(b64) |
| Go | base64.StdEncoding.EncodeToString(b) | base64.StdEncoding.DecodeString(s) |
| Shell | base64 file.bin | base64 -d file.txt |
Nei browser, btoa accetta solo caratteri fino a U+00FF. Per codificare testo Unicode, convertilo prima in byte UTF-8, per esempio con TextEncoder, oppure usa questo strumento, che per impostazione predefinita codifica il testo in UTF-8.
Non solo Base64
Base64.is copre anche il resto della famiglia Base-N: Base32, Base58, Base62, Base85, Ascii85, basE91, Base45, esadecimale e binario. Se non sai quale codifica usa una stringa, prova il rilevatore di codifica, oppure confrontale tutte in una volta con Tutte le codifiche.
Specifiche
| Alfabeto | A-Z a-z 0-9 + / |
|---|---|
| Dimensione dell’output | 4 caratteri ogni 3 byte (circa 133%) |
| Padding | = fino a un multiplo di 4 caratteri |
| Standard | RFC 4648, sezione 4 |
| Distingue maiuscole/minuscole | Sì |
Esempi
| Input (UTF-8) | Output |
|---|---|
Hello, World! | SGVsbG8sIFdvcmxkIQ== |
Base64.is | QmFzZTY0Lmlz |
你好 | 5L2g5aW9 |
Domande frequenti
I miei dati vengono caricati su un server?
No. La codifica e la decodifica avvengono interamente nel tuo browser con JavaScript. Il testo e i file che inserisci non lasciano mai il tuo dispositivo e, una volta caricata la pagina, lo strumento continua a funzionare anche offline.
Perché il testo decodificato è pieno di caratteri strani?
Che cosa significano i segni di uguale alla fine?
Sono il padding. Base64 lavora a blocchi di quattro caratteri e il segno = riempie l’ultimo blocco quando la lunghezza dell’input non è un multiplo di tre byte. Un solo = indica che l’ultimo blocco codifica due byte, due indicano che ne codifica uno solo.
Di quanto aumentano le dimensioni dei dati con la codifica?
Base64 trasforma ogni 3 byte in 4 caratteri, quindi l’output è più grande dell’input di circa il 33%, più le interruzioni di riga se attivi l’a capo.
Base64 è una forma di cifratura?
No. Base64 cambia solo il modo in cui i dati sono rappresentati. Non ha una chiave e chiunque può decodificarlo, quindi per proteggere informazioni sensibili usa una vera cifratura come AES o TLS.