Cos'è la codifica Base64 e quando usarla
Se lavori con API, sistemi di e-mail o sviluppo web, hai incontrato Base64 — anche senza riconoscerlo. Quelle lunghe stringhe di lettere e cifre che assomigliano a caratteri senza senso? È probabilmente Base64.
Cosa fa Base64
Base64 converte dati binari (qualsiasi sequenza di byte) in una stringa di testo che usa solo 64 caratteri «sicuri»: A-Z, a-z, 0-9, + e /. Il risultato finisce sempre con un padding = se necessario.
Esempio:
- Testo:
Hello World - Base64:
SGVsbG8gV29ybGQ=
Questa codifica esiste perché molti sistemi (e-mail, JSON, URL, XML) gestiscono solo testo. I dati binari — immagini, file compressi, byte grezzi — possono contenere caratteri che rompono questi sistemi. Base64 converte il binario in testo che attraversa qualsiasi canale testuale senza essere corrotto.
Usi comuni
Integrare immagini in HTML/CSS:
<img src="data:image/png;base64,iVBORw0KGgoAAAA..." />
Piccole icone e loghi possono essere integrati direttamente nel tuo HTML, eliminando una richiesta HTTP aggiuntiva.
Payload di API: quando un'API si aspetta JSON ma bisogna includere binario (un caricamento di file, un'immagine di firma), codificarlo in Base64 permette di includerlo come un campo testo ordinario.
Allegati e-mail: i protocolli di messaggistica (SMTP) sono testuali. Ogni allegato è codificato in Base64 dietro le quinte per viaggiare come testo.
Intestazioni di autenticazione: l'autenticazione HTTP Basic codifica utente:password in Base64 nell'intestazione Authorization. (È codifica, non cifratura — non apporta alcuna sicurezza di per sé.)
Come codificare e decodificare
- Scegli codifica o decodifica — seleziona il senso di conversione.
- Incolla testo o carica un file — inserisci testo direttamente o trascina e rilascia un file (fino a 5 MB).
- Copia il risultato — l'output si aggiorna istantaneamente. Copialo negli appunti.
Quando usare Base64
Da usare quando:
- Devi integrare una piccola immagine (meno di 5 KB) direttamente in HTML o CSS
- Un'API richiede dati binari come stringa di testo
- Devi far transitare binario attraverso un sistema che supporta solo testo
Da non usare quando:
- Il file è grande — Base64 aggiunge il 33 % di sovraccarico e impedisce la cache
- Hai bisogno di sicurezza — Base64 non è cifratura
- Puoi servire il file normalmente — un classico
<img src="photo.jpg">è più efficiente di una Data URL Base64 per tutto ciò che supera alcuni KB
Consigli
- Solo file piccoli — l'aumento del 33 % conta. Un'immagine da 100 KB diventa 133 KB in Base64, e non può essere messa in cache separatamente dal browser.
- Non confondere codifica e cifratura — Base64 è totalmente reversibile da chiunque. Non apporta alcuna sicurezza. Usalo per trasportare dati, non per proteggerli.
- Attenzione ai ritorni a capo — alcune implementazioni Base64 aggiungono un ritorno a capo ogni 76 caratteri (secondo lo standard MIME). Se incolli Base64 in JSON o un URL, assicurati che stia su una sola riga.
Domande frequenti
Base64 cifra i miei dati?
No. Base64 è una codifica, non una cifratura. Chiunque può decodificare una stringa Base64 — non apporta alcuna sicurezza. Se vuoi proteggere dati, usa una vera cifratura (AES, RSA, ecc.).
Perché Base64 rende i file più pesanti?
La codifica Base64 aumenta la dimensione dei dati di circa il 33 %. Tre byte binari diventano quattro caratteri Base64. Questo sovraccarico è il prezzo da pagare per poter trasmettere binario in sicurezza sotto forma di testo.
Posso codificare file, non solo testo?
Sì. Qualsiasi file (immagini, PDF, audio) può essere codificato in Base64. È comunemente usato per integrare piccole immagini direttamente in HTML o CSS sotto forma di Data URL.
Quando NON usare Base64?
Non usarlo per file grandi. Un'immagine da 1 MB diventa 1,33 MB in testo Base64, e il browser non può metterla in cache separatamente. Per tutto ciò che supera alcuni KB, servire il file normalmente è più efficiente.