100 % locale — i tuoi dati non lasciano mai il tuo browser

Testo in Base64 — sicuro in header o nel corpo

Codifica testo in Base64, con variante adatta agli URL. Il testo diventa prima byte UTF-8, così accenti ed emoji arrivano intatti dall’altra parte.

Istantaneo Privato Zero cookie

Input Text

Output Base64

Cosa fa questo strumento

Il testo viene convertito in byte UTF-8, e quei byte vengono codificati in Base64. L’ordine dei due passaggi conta: il Base64 codifica byte, non caratteri, ed è il numero di byte a determinare l’output.

Ecco perché café dà Y2Fmw6k=: cinque byte, non quattro, perché la lettera accentata ne occupa due.

La variante adatta agli URL

Il Base64 standard usa + e /, che dentro un URL hanno un significato proprio. L’alfabeto adatto agli URL li sostituisce con - e _, e rinuncia al riempimento =, altrettanto scomodo in una query string.

Così a si codifica in YQ== nella forma normale e in YQ nella variante. I decodificatori che conoscono quell’alfabeto accettano la versione senza riempimento: è ciò che la RFC 4648 intende.

Cosa non è

Il Base64 non è una cifratura. Non c’è chiave, nulla è segreto, e decodificare richiede un passaggio con qualunque strumento, questo compreso. È un modo per far passare dei byte in un canale che accetta solo testo: un data URI, un allegato, un campo JSON.

Mettere una password o un token in Base64 non protegge nulla. Rende solo il valore un po’ meno evidente a chi scorre un log, e questa non è una proprietà di sicurezza.

Dimensione

L’output è circa un terzo più grande dell’input, riempimento compreso. Un file da 3 KB diventa circa 4 KB di Base64 — utile saperlo prima di incorporare un’immagine in un foglio di stile o in un data URI.

Privato per progettazione

Tutto viene eseguito localmente nel browser con JavaScript. I tuoi dati non vengono mai caricati, quindi lo strumento è sicuro per contenuti sensibili e funziona anche offline.

Domande frequenti

Base64 è una cifratura?
No, e crederlo è un errore diffuso e costoso. Base64 è una codifica di trasporto senza chiave e senza segreto: chiunque la decodifica in un passaggio. Non nasconde nulla, rende soltanto trasportabili dei dati binari dentro un campo di testo.
Perché al mio output adatto agli URL mancano i segni di uguale?
Perché la RFC 4648 rende il riempimento opzionale nell’alfabeto adatto agli URL, e un `=` isolato è già di per sé problematico in una query string. I decodificatori che accettano quella forma accettano anche la versione senza riempimento.
Perché la mia parola di 4 lettere diventa 8 caratteri?
Due effetti si sommano. Il testo diventa prima byte UTF-8, quindi una lettera accentata ne costa due invece di uno; poi il Base64 trasforma ogni 3 byte in 4 caratteri. Conta circa un terzo in più del numero di byte.

Convertitori correlati