Base64 Encoder e Decoder
Codifica testo in Base64 o decodifica una stringa Base64 (anche URL-safe), con UTF-8 corretto, direttamente nel browser.
Inserisci del testo per vedere il risultato.
Cos'è Base64 e come funziona questo strumento
Base64 è un modo di rappresentare dati binari usando solo 64 caratteri stampabili: le lettere maiuscole e minuscole, le cifre, «+» e «/», più il carattere «=» usato come riempimento. Serve ogni volta che dei byte devono viaggiare dentro un canale pensato per il testo: gli allegati delle email (MIME), le immagini incorporate in una pagina come data URL, le credenziali dell'header Authorization: Basic, i campi binari dentro un JSON. Questo strumento codifica del testo in Base64 e decodifica stringhe Base64 in testo, interamente nel tuo browser.
Il funzionamento è semplice. I dati vengono letti a gruppi di 3 byte (24 bit), che si dividono in quattro blocchi da 6 bit; ogni blocco è un numero da 0 a 63 e corrisponde a un carattere dell'alfabeto. Per questo l'output è circa un terzo più lungo dell'input. Quando i byte non sono un multiplo di 3, si aggiunge il riempimento «=»: «Man» diventa «TWFu», «Ma» diventa «TWE=» e «M» diventa «TQ==».
Esiste una variante chiamata Base64URL, che sostituisce «+» e «/» con «-» e «_» e spesso omette il riempimento, perché quei caratteri hanno un significato speciale negli URL. È il formato usato dai token JWT e da molti identificatori nei parametri web. Lo strumento può produrre entrambe le varianti e, in decodifica, riconosce da solo quale alfabeto stai usando; accetta anche stringhe senza riempimento, con a capo (come nei messaggi email) o precedute da un prefisso «data:…;base64,».
Un dettaglio che fa sbagliare molti strumenti online è il testo non ASCII. Base64 lavora sui byte, non sui caratteri: prima di codificare, una lettera come «è» diventa due byte UTF-8 e un'emoji ne diventa quattro. La funzione btoa dei browser, per esempio, lancia un errore su qualsiasi carattere fuori dal set Latin-1. Qui la conversione UTF-8 è fatta correttamente in entrambe le direzioni. Se invece decodifichi dati che non sono testo UTF-8 valido, come un'immagine o un file compresso, lo strumento non mostra simboli senza senso: ti avvisa e ti mostra i byte in esadecimale.
Base64 non è crittografia. È una codifica reversibile da chiunque, senza chiavi né segreti: nascondere una password in Base64 non la protegge in alcun modo. Per esempio le credenziali dell'autenticazione HTTP Basic sono solo Base64, ed è per questo che viaggiano sempre su HTTPS. Se ti serve riservatezza usa la cifratura vera. Se invece stai esaminando un token JWT, le sue prime due parti sono Base64URL di un JSON: il JWT Decoder di questo sito le decodifica e le mostra già formattate.
Domande frequenti
- Base64 è una forma di crittografia?
- No. È una codifica, non una cifratura: chiunque può riportarla al testo originale senza chiavi. Non protegge nulla, quindi non usarla per nascondere password o dati riservati.
- Perché una stringa Base64 finisce spesso con «=»?
- Perché i dati vengono codificati a gruppi di 3 byte. Se ne avanzano 1 o 2, si aggiungono uno o due «=» per completare l'ultimo gruppo di 4 caratteri. La variante Base64URL spesso li omette, e questo strumento accetta entrambe le forme.
- Qual è la differenza tra Base64 e Base64URL?
- Base64URL usa «-» e «_» al posto di «+» e «/», che hanno un significato speciale negli URL, e di solito non usa il riempimento «=». È il formato dei token JWT. Lo strumento riconosce da solo quale alfabeto stai decodificando.
- Perché l'output è più lungo dell'input?
- Ogni 3 byte diventano 4 caratteri, quindi la stringa Base64 è circa un terzo più lunga (più l'eventuale riempimento). Lo strumento mostra il conteggio esatto sotto il risultato.
- Come funzionano accenti ed emoji?
- Il testo viene prima convertito in byte UTF-8 e poi codificato, quindi «è», «€» ed emoji si codificano e si decodificano correttamente. Molti strumenti basati su btoa invece falliscono su questi caratteri.
- I dati inseriti vengono inviati a un server?
- No. La codifica e la decodifica avvengono interamente nel tuo browser: nessun testo viene trasmesso, salvato o registrato.
Dai libri
