Gratis, senza registrazione
Base64 decodifica e codifica
Il Base64 scrive qualsiasi dato con 64 caratteri sicuri: «Ciao, mondo!» diventa Q2lhbywgbW9uZG8h. Incolla del Base64 per decodificarlo, oppure scrivi un testo per codificarlo; lo strumento gestisce accenti ed emoji in UTF-8, la variante URL-safe dei token, le righe da 76 caratteri delle email e i file interi trasformati in data URL. Tutto avviene nel tuo browser e nulla viene inviato a un server.
Come si usa
- Scegli codifica o decodifica. Nella scheda Testo premi Codifica per trasformare un testo in Base64, oppure Decodifica per leggere una stringa Base64. Per immagini e documenti usa la scheda File.
- Incolla o scrivi. Il risultato si aggiorna mentre scrivi. In decodifica spazi e a capo vengono ignorati e sono accettati sia l'alfabeto standard sia quello URL-safe, con o senza riempimento.
- Copia o scarica. Copia il risultato con un clic. Nella scheda File puoi copiare il data URL, scaricarlo come file di testo oppure ritrasformare il Base64 incollato nel file originale.
Come funziona il Base64
I computer memorizzano i dati in byte da 8 bit, ma molti canali, come email, URL, JSON e attributi HTML, trasportano in sicurezza solo testo semplice. Il Base64 risolve il problema prendendo i byte 3 alla volta (24 bit) e dividendoli in 4 gruppi da 6 bit. Ogni gruppo è un numero da 0 a 63 e sceglie un carattere da un alfabeto fisso: A–Z, a–z, 0–9, + e /.
Quando i dati non sono un multiplo di 3 byte, l'ultimo gruppo si completa con bit a zero e i caratteri mancanti diventano =. Ecco perché «Man» diventa TWFu, «Ma» TWE= e «M» TQ==. Il disegno sotto lo strumento mostra il procedimento bit per bit sui primi tre byte del tuo input.
| Input | Byte | Base64 |
|---|---|---|
| Man | 3 | TWFu |
| Ma | 2 | TWE= |
| M | 1 | TQ== |
| € | 3 (e2 82 ac) | 4oKs |
Ogni 3 byte diventano 4 caratteri, quindi il Base64 è circa un terzo più grande dell'originale: 30.000 byte diventano 40.000 caratteri, il 33,3% in più. Il testo viene prima trasformato in byte con UTF-8: per questo il solo simbolo dell'euro occupa 3 byte e 4 caratteri Base64.
Dove si usa il Base64
- Allegati email: lo standard MIME codifica i file in Base64 e va a capo ogni 76 caratteri. Attiva «Righe da 76 caratteri» per ottenere lo stesso formato.
- Data URL in HTML e CSS: una piccola icona si può incorporare come data:image/png;base64,… e la pagina fa una richiesta in meno. Per crearne uno usa la scheda File.
- Token web: i JSON Web Token sono tre parti in base64url separate da punti. L'intestazione {"alg":"HS256","typ":"JWT"} diventa eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9. Decodificare un token ne mostra il contenuto, ma per verificare la firma serve la chiave.
- Autenticazione HTTP Basic: l'intestazione «Authorization: Basic dXRlbnRlOnBhc3N3b3Jk» è solo utente:password in Base64, ed è per questo che deve viaggiare esclusivamente su HTTPS.
- API e file di configurazione: dati binari come certificati, chiavi e immagini finiscono spesso in JSON o YAML sotto forma di Base64.
Il Base64 non è una cifratura
Il Base64 è una codifica, non un cifrario: non c'è nessuna chiave e chiunque lo decodifica in un secondo, con questo strumento o con una riga di codice. Non nasconde niente. Una password, una chiave API o dei dati personali salvati in Base64 sono esposti quanto il testo in chiaro.
Per proteggere i dati serve una vera cifratura (per esempio AES) e il trasporto su HTTPS; per conservare le password si usa una funzione di hash lenta, progettata apposta. Il Base64 serve solo a far viaggiare i dati attraverso sistemi che si aspettano testo. Se ti servono valori casuali, per un'estrazione o un campione di prova, usa il generatore di numeri casuali.
Questo strumento decodifica nel tuo browser: incollare qui un token non lo invia da nessuna parte. Tratta comunque token e chiavi di produzione come segreti.
Varianti: URL-safe, riempimento e a capo
I caratteri + e / hanno un significato speciale negli indirizzi web e nei nomi di file. La variante base64url li sostituisce con - e _: gli stessi byte danno PDw/Pz8+Pg== in Base64 standard e PDw_Pz8-Pg== in base64url. Spesso si toglie anche il riempimento =, perché la lunghezza della stringa indica già dove finiscono i dati.
Il decodificatore accetta entrambi gli alfabeti e funziona con o senza riempimento. Segnala un errore preciso quando un carattere non appartiene all'alfabeto (con la sua posizione), quando la lunghezza non può essere valida o quando il segno = compare in mezzo alla stringa. Spazi e a capo vengono saltati, come prevede lo standard MIME.
Esempi svolti
Codificare un testo breve
«Ciao, mondo!» occupa 12 byte in UTF-8. 12 è un multiplo di 3, quindi il risultato ha 4 gruppi da 4 caratteri e nessun =: Q2lhbywgbW9uZG8h.
Una parola con l'accento
«Città» sono 5 lettere ma 6 byte, perché la à in UTF-8 ne occupa due: 43 69 74 74 c3 a0. Il Base64 è Q2l0dMOg.
Leggere un'intestazione Basic
Incolla dXRlbnRlOnBhc3N3b3Jk in Decodifica e ottieni utente:password. Le credenziali sono leggibili da chiunque veda l'intestazione.
Fonti
- RFC 4648, «The Base16, Base32, and Base64 Data Encodings» (IETF, 2006): sezione 4 (alfabeto Base64), sezione 5 (base64url), sezione 3.2 (riempimento), sezione 3.3 (caratteri fuori dall'alfabeto) e sezione 10 (vettori di prova). Verificato il 14/10/2026.
- RFC 2045, «Multipurpose Internet Mail Extensions (MIME) Part One» (IETF, 1996), sezione 6.8: codifica Base64 con righe di al massimo 76 caratteri. Verificato il 14/10/2026.
- RFC 7519, «JSON Web Token (JWT)» (IETF, 2015): uso di base64url senza riempimento. Verificato il 14/10/2026.
Gli esempi di questa pagina sono calcolati con lo stesso codice dello strumento: le stringhe nel testo coincidono sempre con quelle che produce.
Domande frequenti
Come si decodifica il Base64?
Il Base64 è una cifratura?
Perché il Base64 finisce con = o ==?
Perché il Base64 è più grande dell'originale?
Che differenza c'è tra Base64 e base64url?
Perché ottengo l'errore «carattere non valido»?
I miei file vengono caricati?
Ultimo aggiornamento: mercoledì 14 ottobre 2026