toooly-box

Decodificatore Base64

Incolla una stringa Base64 e leggi cosa contiene. Funziona sia con l’alfabeto standard sia con quello per URL.

elaborazione locale
Base64
Base64
Testo decodificato

Questo non è Base64 valido.

Che cos'è un decodificatore Base64?

Un decodificatore Base64 rilegge l'alfabeto di 64 caratteri e lo riporta ai byte originali, mostrandoli come testo. Non serve chiave né password, perché il Base64 non nasconde niente: è un modo di scrivere byte come testo, non di proteggerli.

Come funziona

Il decodificatore riporta i caratteri Base64 a byte e poi legge quei byte come testo UTF-8.

La variante per URL sostituisce + e / con - e _ così il valore può stare dentro un indirizzo. Qui sono accettate entrambe, e il riempimento finale può anche mancare.

Se il risultato sembra incomprensibile, probabilmente il contenuto non era testo: un’immagine o un file compresso diventano byte che nessun lettore di testo può mostrare.

Che cos'è un decodificatore Base64

Un decodificatore Base64 inverte la codifica: rilegge l'alfabeto di 64 caratteri ricavando i byte originali, e poi te li mostra come testo. Se all'origine erano testo, un payload JSON, i claim di un JWT, una password dentro un'intestazione Authorization, il valore di un secret Kubernetes, riottieni la stringa esatta, accenti ed emoji compresi, perché i byte vengono letti come UTF-8.

Se invece non erano testo, vedrai un avviso al posto di caratteri senza senso. Una stringa Base64 che contiene un PNG, un PDF o un archivio zip si decodifica benissimo, ma non c'è un modo sensato di mostrare il risultato in una casella di testo: lo strumento ti dice che l'input era Base64 valido con dati binari, invece di fingere il contrario.

Entrambi gli alfabeti, senza interruttori

Gli alfabeti Base64 in uso sono due. Il Base64 standard usa + e / come ultimi due caratteri e riempie la fine con = fino a un multiplo di quattro. Il Base64 per URL, che l'RFC 4648 chiama base64url, usa - e _ così la stringa può stare in un percorso o in una query senza essere sottoposta a escape, e di solito rinuncia al riempimento.

Non devi sapere quale dei due hai. Questo decodificatore accetta entrambi, tratta - e _ come + e /, e ripristina da sé il riempimento mancante: un segmento di JWT copiato direttamente dalla scheda di rete del browser si decodifica senza bisogno di sistemarlo prima. Anche spazi e interruzioni di riga vengono ignorati, cosa che conta quando la stringa è stata spezzata a 76 caratteri da un client email o da un file PEM.

Perché una decodifica fallisce

  • Un carattere fuori dall'alfabeto la causa più comune è una copia incompleta che ha preso anche un apice, una virgola o una graffa dal JSON intorno. Controlla prima gli estremi della stringa.
  • Una lunghezza impossibile Base64 codifica tre byte alla volta in quattro caratteri, quindi una stringa di lunghezza 4n+1 non può essere valida, in nessun caso.
  • Un URL sottoposto a escape due volte se nella stringa vedi %2B o %3D, stai guardando Base64 con codifica percentuale. Decodifica prima l'URL, poi il Base64.
  • Non era Base64 esadecimale, UUID e hash sembrano tutti stringhe opache e non sono Base64. Un digest esadecimale usa solo 0–9 e a–f; il Base64 mescola maiuscole e minuscole.

Decodificare un JWT, con prudenza

Un JSON Web Token è composto da tre segmenti base64url separati da punti: intestazione, payload, firma. Incolla qui il segmento centrale e ottieni i claim in JSON, emittente, soggetto, scadenza, ed è il modo più rapido di rispondere a «questo token è scaduto?» o «quale account credeva di avere il gateway?».

Due avvertenze. La firma non si verifica decodificando: accertarsi che il token sia autentico richiede la chiave di firma, che sta su un server e non in una scheda del browser. E un token che puoi decodificare è un token che può decodificare chiunque lo intercetti: se quello che hai appena letto nel payload ti imbarazzerebbe in un file di log, non doveva stare nel payload. Decodificarlo qui è sicuro nell'unico senso che conta: il token resta sul tuo computer, perché la decodifica avviene nella pagina e non viene caricato nulla.

Domande frequenti

Che cos’è il Base64 per URL?

Una variante che usa - e _ al posto di + e / così il valore può stare in un URL senza escape. Questo strumento accetta entrambe le varianti e tollera il riempimento = mancante.

Perché il risultato è illeggibile?

Perché il contenuto originale non era testo. Base64 può trasportare byte di qualsiasi tipo, immagini e file binari compresi, che non hanno una forma leggibile.