Encoder e decoder Base64

Converti testo e file in Base64 e viceversa. Gestisce correttamente l'Unicode, supporta il base64url URL-safe e ti dice esattamente perché un input non valido fallisce.

Funziona nel browserNessuna registrazioneNessun caricamento

Output Base64

Come usare Base64 Encode / Decode

  1. Scegli Codifica o Decodifica.
  2. Scrivi o incolla l'input. Il risultato si aggiorna mentre scrivi.
  3. Per URL, JWT e nomi di file, spunta URL-safe per usare - e _ e, se vuoi, elimina il padding =.
  4. Per incorporare un'immagine o un font, clicca Codifica file e lascia attivo Output come data URI.
  5. Copia il risultato o usa Inverti per rimandarlo in input nella direzione opposta.

Come funziona Base64

Base64 rappresenta dati binari usando 64 caratteri ASCII stampabili: A-Z, a-z, 0-9, + e /. Ogni 3 byte di input diventano 4 caratteri, quindi i dati codificati sono circa il 33% più grandi. Quando la lunghezza dell'input non è un multiplo di 3, uno o due segni = completano l'output (padding). Base64 è una codifica, non una cifratura: chiunque può decodificarlo.

Base64 standard e base64url

I caratteri + e / hanno un significato speciale negli URL e nei percorsi dei file. L'alfabeto URL-safe della RFC 4648 §5 li sostituisce con - e _ e di solito omette il padding. I JWT, molti parametri OAuth e alcune API cloud usano base64url. Il decoder di questa pagina accetta automaticamente entrambi gli alfabeti.

Unicode e la trappola di btoa()

Nei browser btoa("café") funziona ma btoa("日本") genera un errore, perché btoa accetta solo Latin-1. L'approccio corretto è codificare prima il testo in byte UTF-8, come fa questo strumento. In JavaScript: btoa(String.fromCharCode(...new TextEncoder().encode(text))), oppure Buffer.from(text).toString('base64') in Node.js.

Usi comuni

  • Data URI per piccole immagini e font in CSS o HTML
  • Header di autenticazione HTTP Basic (user:password codificato)
  • Allegati binari in payload JSON e nelle email (MIME)
  • Secret di Kubernetes, che memorizzano i valori in Base64

Domande frequenti

Base64 è una cifratura?
No. Base64 è una codifica reversibile senza chiave. Chiunque può decodificarlo, quindi non usarlo mai per nascondere password o segreti.
Perché il mio Base64 non si decodifica?
Le cause più comuni sono caratteri fuori dall'alfabeto (spesso una virgoletta o un a capo rimasti dal copia e incolla), una stringa troncata o testo che non è Base64. Il messaggio di errore indica la posizione del primo problema.
L'output decodificato sembra spazzatura. Perché?
Probabilmente i dati sono binari, ad esempio un'immagine, un file compresso o byte cifrati, e non testo. Lo strumento lo rileva, mostra un dump esadecimale e ti permette di scaricare i byte grezzi.
Il padding = è necessario?
Molti decoder, compreso questo, funzionano anche senza, perché dalla lunghezza capiscono quanti byte mancano. Alcuni decoder rigorosi lo richiedono. I JWT e la maggior parte degli usi di base64url omettono il padding.
I miei file vengono caricati?
No. I file vengono letti e codificati in locale con la File API del browser. Nulla viene inviato a un server.

Strumenti correlati