Decodifica Base64

Incolla una stringa Base64 e ottieni di nuovo il testo o i byte originali. Interruzioni di riga, caratteri sicuri per URL, padding mancante e prefissi data: vengono gestiti automaticamente, e gli errori indicano il carattere esatto.

Funziona interamente nel tuo browser. Non viene caricato nulla.

Come si usa

  1. Incolla la stringa Base64 nel campo di input, oppure fai clic su Apri file per caricare un file che contiene testo Base64.
  2. 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.
  3. Se la decodifica non riesce, leggi il messaggio di errore: indica la posizione del primo carattere non valido.
  4. 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 -----BEGIN e -----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 conContenuto decodificato
iVBORw0KGgoImmagine PNG
/9j/Immagine JPEG
R0lGODImmagine GIF
JVBERi0Documento PDF
UEsDBArchivio ZIP, inclusi DOCX, XLSX e JAR
H4sIDati compressi con gzip
eyJOggetto 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 PNG o PK vicino 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

AlfabetoA-Z a-z 0-9 + /
Dimensione dell’output4 caratteri ogni 3 byte (circa 133%)
Padding= fino a un multiplo di 4 caratteri
StandardRFC 4648, sezione 4
Distingue maiuscole/minuscoleSì

Esempi

Input (UTF-8)Output
Hello, World!SGVsbG8sIFdvcmxkIQ==
Base64.isQmFzZTY0Lmlz
你好5L2g5aW9

Domande frequenti

Perché ricevo un errore di carattere non valido?
L’input contiene qualcosa che non fa parte dell’alfabeto Base64, come virgolette, una barra rovesciata o sequenze percentuali come %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?
Sì. Il decodificatore non ha bisogno dei segni = 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?
Quando il Base64 viene inserito in una query string senza escape, la decodifica dei form trasforma spesso ogni + 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?
Usa Base64 in immagine per visualizzare in anteprima e scaricare le immagini, oppure Base64 in file per PDF, archivi, audio e altri file. Entrambi gli strumenti rilevano il tipo di file dai primi byte.
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.