🔧 Prova subito il tool gratuito
Codifica e decodifica Base64 online gratis — direttamente nel browser, senza installazioni.
Vai al tool →

Come funziona Base64

Base64 converte dati binari in una stringa di caratteri ASCII usando un alfabeto di 64 simboli: lettere maiuscole (A-Z), minuscole (a-z), cifre (0-9) e i caratteri + e /. Ogni 3 byte di dati binari vengono convertiti in 4 caratteri Base64, aumentando la dimensione del 33%.

Il nome "Base64" deriva proprio dal fatto che usa una base numerica di 64 simboli.

Base64 non è crittografia

Questo è l'errore più comune: Base64 non è sicuro. È una codifica reversibile che chiunque può decodificare in un secondo. Non va mai usato per proteggere dati sensibili come password, chiavi API o informazioni private.

La differenza fondamentale: la crittografia usa una chiave segreta, Base64 no.

Quando si usa Base64

Base64 vs Base64url

Base64url è una variante di Base64 ottimizzata per URL e header HTTP: sostituisce + con - e / con _, ed elimina il padding =. È usata in JWT e OAuth. Il nostro tool supporta entrambe le varianti.

Quando NON usare Base64

Base64 in JavaScript: encoding e decoding lato browser

Tutti i browser moderni hanno funzioni native per Base64, senza librerie esterne:

// Encoding
const encoded = btoa("Hello, ToolsCove!");
console.log(encoded); // "SGVsbG8sIFRvb2xzQ292ZSE="

// Decoding
const decoded = atob("SGVsbG8sIFRvb2xzQ292ZSE=");
console.log(decoded); // "Hello, ToolsCove!"

Attenzione: btoa() e atob() gestiscono solo caratteri Latin-1. Per Unicode (emoji, caratteri accentati, cinese, ecc.) usa questa versione robusta:

// Encoding Unicode-safe
function b64Encode(str) {
  return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,
    (_, p1) => String.fromCharCode(parseInt(p1, 16))));
}

// Decoding Unicode-safe
function b64Decode(str) {
  return decodeURIComponent(Array.from(atob(str),
    c => '%' + c.charCodeAt(0).toString(16).padStart(2, '0')).join(''));
}

Base64 per immagini inline: pro e contro

Incorporare immagini come Base64 direttamente nell'HTML o nel CSS è una tecnica comune per eliminare richieste HTTP. Quando conviene?


FAQ

Come decodificare una stringa Base64?

Usa il nostro tool Base64 Encoder/Decoder: seleziona modalità \"Decodifica\", incolla la stringa e ottieni il testo originale istantaneamente. Da terminale: echo \"SGVsbG8=\" | base64 -d

Base64 e URL encoding sono la stessa cosa?

No. URL encoding (percent-encoding) converte caratteri speciali negli URL in %XX. Base64 converte dati binari in caratteri ASCII. Sono tecniche diverse per scopi diversi.

Perché Base64 aumenta la dimensione del file?

Perché usa 4 caratteri ASCII per rappresentare 3 byte di dati originali, aumentando la dimensione di circa il 33%.

Posso usare Base64 per le immagini sul mio sito?

Per piccole icone sì (risparmia una richiesta HTTP). Per immagini grandi no: aumenta il peso dell'HTML/CSS e bypassa il caching del browser.