Codifica o decodifica Base64, Base64URL, codifica percentuale URL, entità HTML ed esadecimale mentre scrivi, con pieno supporto UTF-8.
Nulla di ciò che inserisci viene memorizzato: viene convertito e restituito nella stessa richiesta.
Informazioni Codifica / Decodifica
Un token in un log, una query string in un redirect, un'email piena di &: il testo codificato salta fuori ovunque al lavoro. Incollalo qui, scegli il formato e vedi il risultato codificato o decodificato mentre scrivi.
Cosa fa
Base64, Base64URL (stile JWT, senza padding), codifica percentuale degli URL, entità HTML ed esadecimale.
UTF-8 completo: lettere accentate, hindi, cinese ed emoji sopravvivono all'andata e ritorno.
Il padding Base64 mancante viene aggiunto e segnalato, mai corretto in silenzio.
I byte che non sono testo vengono mostrati in esadecimale invece che come caratteri incomprensibili.
Un clic per usare l'output come nuovo input e invertire la direzione.
Come funziona
1Scegli il formato e se codificare o decodificare.
2Incolla il testo: il risultato si aggiorna mentre scrivi.
3Copia l'output o usalo come input successivo.
Esempio pratico: leggere un JWT
Un JSON Web Token è formato da tre parti Base64URL unite da punti: header, payload e firma. Incolla la parte centrale, scegli Base64URL e decodifica: vedrai i claim JSON, come l'id utente e la scadenza exp (un timestamp Unix leggibile con il Convertitore timestamp Unix). Decodificare non è verificare: chiunque può leggere il payload di un JWT, e solo il controllo della firma sul server dimostra che non è stato modificato.
I casi che creano problemi al lavoro
Un Base64 a cui è stato tolto il padding, cosa che alcuni sistemi fanno per risparmiare spazio, fallisce nei decoder rigorosi; questo strumento aggiunge i segni = mancanti e te lo dice. Per molti server un + in una query string significa uno spazio, quindi un valore Base64 incollato in un link senza codifica arriva danneggiato; codificalo come componente URL o usa Base64URL. Il testo codificato due volte compare come %2520 o & e va decodificato due volte.
Cosa accetta ogni decodificatore
La decodifica Base64 ignora spazi e a capo, quindi un valore spezzato su più righe, come in un'e-mail, si decodifica così come è stato incollato. Base64URL accetta anche + e /, mentre il Base64 normale rifiuta - e _, quindi una parte di un JWT richiede l'opzione Base64URL. La decodifica esadecimale salta spazi, due punti, virgole, trattini e prefissi 0x, quindi 48:65:6c:6c:6f e 0x48 0x65 funzionano entrambi. La decodifica URL trasforma + in uno spazio, quindi un vero segno più deve arrivare come %2B. La codifica HTML esegue l'escape dei cinque caratteri & < > " e '; la decodifica HTML riconosce tutte le entità con nome di HTML5, come e …, e quelle numeriche come ₹ per il simbolo della rupia.
Esempi pratici: cosa produce ogni formato
La codifica URL di questo strumento codifica un solo valore, per esempio un parametro di query, quindi ogni carattere riservato viene escapato: https://example.com/a b?x=1&y=2 diventa https%3A%2F%2Fexample.com%2Fa%20b%3Fx%3D1%26y%3D2. Codifica solo il valore che inserisci in un link, mai il link intero. Il testo fuori dall'ASCII viene codificato come i suoi byte UTF-8: café ₹ diventa caf%C3%A9%20%E2%82%B9, e l'esadecimale mostra gli stessi byte, é come c3 a9 e ₹ come e2 82 b9. Il Base64 di user:pass è dXNlcjpwYXNz, il valore che porta un header HTTP Basic Authorization (RFC 7617): per questo chiunque veda quell'header può leggere la password.
I byte erano UTF-8 ma da qualche parte sono stati letti come Latin-1 o Windows-1252 prima di essere codificati. Qui la decodifica mostra i byte così come sono; la correzione va fatta nel sistema che li ha prodotti.
Posso decodificare un intero file?
Incolla fino a 200.000 caratteri di testo. Per i file binari come le immagini, i byte decodificati vengono mostrati in esadecimale invece di diventare un download.
Il Base64 è una cifratura?
No. Il Base64 cambia solo il modo in cui i byte sono scritti, perché passino in sistemi che si aspettano testo semplice. Chiunque può decodificarlo; non usarlo mai per nascondere una password o un segreto.
Che differenza c'è tra Base64 e Base64URL?
Base64URL sostituisce "+" e "/" con "-" e "_" e di solito elimina il padding "=", così il risultato è sicuro dentro URL e nomi di file. I JSON Web Token lo usano.
Il mio testo viene salvato?
No. Viene convertito e restituito nella stessa richiesta e non viene mai scritto in un database o in un log.
Perché l'output codificato è diverso da encodeURIComponent di JavaScript?
Questo strumento escapa anche ! ' ( ) e *, che encodeURIComponent lascia come sono, quindi it's (50%) off! diventa it%27s%20%2850%25%29%20off%21. Le due forme si decodificano nello stesso testo, ed escapare questi caratteri è sempre sicuro dentro un valore di query. Uno spazio diventa %20, non +; la forma con + viene dalla codifica dei moduli HTML, e il decodificatore qui legge entrambe.
Come codifico o decodifico testo in Base64 dalla riga di comando?
Su Linux o Mac, echo -n 'Hello, World' | base64 restituisce SGVsbG8sIFdvcmxk, e echo 'SGVsbG8sIFdvcmxk' | base64 --decode lo riporta in testo. Senza -n, echo aggiunge un a capo che viene codificato anch'esso, e ottieni SGVsbG8sIFdvcmxkCg==: il motivo più comune per cui due strumenti non coincidono. In PowerShell, [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes('Hello, World')) codifica e [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('SGVsbG8sIFdvcmxk')) decodifica. Questa pagina codifica esattamente i caratteri che incolli, in UTF-8, senza aggiungere a capo.
Come decodifico un'immagine in Base64 o un data URI?
Incolla solo la parte dopo la virgola: in data:image/png;base64,iVBORw0KGgo... è iVBORw0KGgo..., perché il prefisso data:image/png;base64, non è Base64 e la stringa intera viene rifiutata. Scegli Base64 e Decode. I byte che non sono testo vengono mostrati in esadecimale invece che come immagine, il che basta per capire di che file si tratta: un PNG inizia con 89 50 4e 47, un JPEG con ff d8 ff e un file .docx, .xlsx o altro file basato su ZIP intero con 50 4b 03 04. Per vedere l'immagine, incolla il data URI completo nella barra degli indirizzi del browser. L'input arriva a 200.000 caratteri, circa 150.000 byte di file.
Perché il Base64 è circa un terzo più lungo dell'originale?
Il Base64 scrive ogni 3 byte come 4 caratteri e completa l'ultimo gruppo con = fino a un multiplo di 4 (RFC 4648), quindi l'output è 4/3 dei byte di input, arrotondato per eccesso. Hello, World sono 12 byte e diventano i 16 caratteri SGVsbG8sIFdvcmxk. Si contano byte UTF-8, non lettere: café ha 4 caratteri ma 5 byte e dà Y2Fmw6k=, e ₹100 ha 6 byte e dà 4oK5MTAw. Gli allegati email crescono un po' di più perché MIME spezza il Base64 in righe di al massimo 76 caratteri (RFC 2045); questa pagina ignora quegli a capo durante la decodifica. Il Base64URL senza padding risparmia solo i segni =.