Come si usa
- Incolla la stringa Base64 nel campo di input, oppure fai clic su Apri file per caricare un file che contiene testo Base64.
- Lascia Formato output su Testo e scegli il set di caratteri (UTF-8 per impostazione predefinita), oppure imposta Formato output su Esadecimale per i dati binari.
- Se la decodifica non riesce, leggi il messaggio di errore: indica la posizione del primo carattere non valido.
- Copia il risultato decodificato o scaricalo.
Che cosa accetta il decodificatore
La decodifica inverte la codifica: ogni carattere viene ricondotto al suo valore a 6 bit e ogni quattro caratteri diventano tre byte. Il Base64 che si trova nella pratica è raramente pulito, quindi questo decodificatore è tollerante:
- Spazi e interruzioni di riga vengono ignorati, quindi puoi incollare così come sono corpi MIME e blocchi PEM suddivisi in righe. Elimina però prima le righe
-----BEGINe-----END: le loro lettere e i loro trattini sono caratteri Base64 validi e verrebbero decodificati come dati. - L’input sicuro per URL con
-e_viene decodificato esattamente come il Base64 standard con+e/. - Il padding mancante non è un problema. Viene rifiutata solo una lunghezza di 4n + 1 caratteri, perché un singolo carattere avanzato non può formare un byte; di solito significa che la stringa è stata troncata.
- Anche i data URI funzionano: un prefisso iniziale
data:...;base64,viene rimosso prima della decodifica.
Output di testo o binario
Il risultato della decodifica è sempre una sequenza di byte. Se l’originale era testo, mantieni l’output Testo e scegli il suo set di caratteri. Se era un’immagine, un PDF, un archivio, una chiave o un testo cifrato, nessun set di caratteri lo renderà leggibile: imposta l’output su Esadecimale per esaminare i byte, oppure apri Base64 in file o Base64 in immagine per visualizzarne l’anteprima e salvarlo. Spesso i primi caratteri rivelano il contenuto:
| Il Base64 inizia con | Contenuto decodificato |
|---|---|
iVBORw0KGgo | Immagine PNG |
/9j/ | Immagine JPEG |
R0lGOD | Immagine GIF |
JVBERi0 | Documento PDF |
UEsDB | Archivio ZIP, inclusi DOCX, XLSX e JAR |
H4sI | Dati compressi con gzip |
eyJ | Oggetto JSON, come l’header di un JWT |
Perché il testo decodificato contiene caratteri strani
- Set di caratteri sbagliato. Un testo UTF-8 letto come Windows-1252 trasforma é in
é, mentre un testo GBK o Shift_JIS letto come UTF-8 mostra caratteri sostitutivi (�). Seleziona il set di caratteri con cui è stato scritto il testo. - Dati binari. Simboli casuali con qualche frammento leggibile qua e là, come
PNGoPKvicino all’inizio, indicano che il contenuto è un file e non un testo. - Dati compressi o cifrati. Flussi gzip, Protocol Buffers e testo cifrato vengono decodificati correttamente, ma non sono testo. L’output Esadecimale mostra che cosa contengono davvero.
- Doppia codifica. Se l’output è a sua volta Base64, incollalo di nuovo nell’input e decodificalo una seconda volta.
Decodificare Base64 nel codice
# Python
base64.b64decode(s).decode('utf-8')
// Node.js (accetta anche input sicuro per URL)
Buffer.from(s, 'base64').toString('utf8')
// Browser: atob() restituisce un carattere per byte, quindi poi decodifica l'UTF-8
new TextDecoder().decode(Uint8Array.from(atob(s), c => c.charCodeAt(0)))
# Shell di Linux e macOS
echo 'SGVsbG8=' | base64 --decode
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
Perché ricevo un errore di carattere non valido?
%2B e %3D copiate da un URL. Rimuovi le virgolette oppure decodifica prima la stringa come URL. Il messaggio di errore mostra la posizione del primo carattere non valido.Posso decodificare Base64 senza padding?
= finali, quindi le stringhe senza padding provenienti da JWT, URL e API vengono decodificate normalmente.Perché l’output è sbagliato dopo aver copiato il Base64 da un URL?
+ in uno spazio. Qui gli spazi vengono ignorati, quindi quei caratteri vanno persi. Sostituisci gli spazi con + prima di decodificare e usa Base64URL per i valori che viaggiano negli URL.Come si decodifica Base64 in un’immagine o in un file?
Il mio Base64 viene inviato a un server?
No. La decodifica avviene nel tuo browser con JavaScript e l’input non lascia mai il tuo dispositivo, un aspetto importante quando decodifichi token, segreti di configurazione o dati personali.