Base64 Codifica/Decodifica Online

Codifica e decodifica testo in Base64 rapidamente. Strumento essenziale per sviluppatori che lavorano con API, immagini e dati binari.

Supporta UTF-8, emoji e caratteri accentati

Cos'è Base64?

Base64 è uno schema di codifica che converte dati binari in testo ASCII usando 64 caratteri stampabili (A-Z, a-z, 0-9, +, /). È ampiamente usato per trasmettere dati binari attraverso mezzi che supportano solo testo, come email (MIME) e URLs.

Come funziona la codifica Base64?

La codifica Base64 funziona dividendo l'input in gruppi di 3 byte (24 bit) e convertendo ogni gruppo in 4 caratteri da 6 bit. Quando il numero di byte non è multiplo di 3, vengono aggiunti caratteri di padding (=) alla fine.

Esempio di conversione:

Testo originale: "ABC"

Binario: 01000001 01000010 01000011

Raggruppato (6 bit): 010000 010100 001001 000011

Decimale: 16 20 9 3

Base64: "QUJD"

A cosa serve Base64?

1. Incorporare Immagini in HTML/CSS: Le Data URLs permettono di includere immagini direttamente nel codice senza richieste HTTP aggiuntive.

<img src="data:image/png;base64,iVBORw0KGg..." />

2. Trasmissione di Dati Binari in JSON: Le API REST usano frequentemente Base64 per inviare file o dati binari in payload JSON.

3. Autenticazione HTTP Basic: Le credenziali sono codificate in Base64 nell'header Authorization.

Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=

4. Email (MIME): Gli allegati nelle email sono codificati in Base64 per garantire compatibilità con server che supportano solo ASCII a 7 bit.

5. Archiviazione Temporanea: Archiviare dati binari in cookies, localStorage o sessionStorage.

Vantaggi e Svantaggi

✓ Vantaggi

  • Compatibile con sistemi che accettano solo testo ASCII
  • Facile da trasmettere via email, URL e JSON
  • Supportato nativamente in tutti i linguaggi
  • Sicuro per copiare/incollare senza perdere dati

✗ Svantaggi

  • Aumenta la dimensione del ~33% (overhead)
  • Non è crittografia (non offre sicurezza)
  • Costo CPU per encode/decode
  • Non è leggibile dall'uomo

Base64 vs Altri Schemi

SchemaCaratteriOverheadUso Comune
Base64A-Z, a-z, 0-9, +, /~33%Email, JSON, Data URLs
Base64URLA-Z, a-z, 0-9, -, _~33%URLs, JWT tokens
Esadecimale0-9, A-F100%Hash, colori CSS
Base32A-Z, 2-7~60%TOTP, codici di backup

Casi d'uso pratici

🖼️ Data URL per favicon

Incorpora un favicon inline senza richiesta HTTP esterna:

🔑 HTTP Basic Auth

Inviare credenziali in richieste HTTP:

const credentials = btoa('utente:password');
headers.Authorization = `Basic ${credentials}`;

📧 Allegato email

I protocolli SMTP usano Base64 per gli allegati, garantendo che i caratteri speciali non corrompano il messaggio durante la trasmissione.

Base64 NON è crittografia

⚠️ Avviso Importante

Base64 è uno schema di codifica, non crittografia. Chiunque può decodificare Base64 istantaneamente. Non usare mai Base64 per proteggere password, token o dati sensibili. Per vera sicurezza, usa algoritmi di crittografia come AES, RSA o bcrypt.

FAQ - Domande Frequenti

1. Perché Base64 aumenta la dimensione del file?

Perché converte 3 byte (24 bit) in 4 caratteri da 6 bit ciascuno. Questo genera un overhead di circa 33%. Un file da 1 MB diventa ~1,33 MB in Base64.

2. Cosa significa il "=" alla fine delle stringhe Base64?

Il segno "=" è padding, aggiunto quando il numero di byte di input non è multiplo di 3. Possono esserci 0, 1 o 2 caratteri "=" alla fine.

3. Base64 può essere usato per URLs?

Base64 standard usa "+", "/" e "=" che sono caratteri speciali nelle URLs. Usa Base64URL (sostituisce + con -, / con _ e rimuove il padding) per URLs sicure.

4. Come convertire immagini in Base64?

In JavaScript: usa FileReader API. Riga di comando: base64 image.png. In Python: base64.b64encode().

5. Base64 supporta caratteri Unicode?

Sì! Il nostro strumento usa encodeURIComponent per supportare UTF-8, inclusi emoji e caratteri accentati.

6. Qual è la differenza tra btoa() e atob()?

btoa() = binary to ASCII (codifica). atob() = ASCII to binary (decodifica). Sono funzioni JavaScript native del browser.

Strumenti Correlati