Codificatore Base64 Online

Codifica testo o dati binari in Base64

Testo Normale

Base64

Esegue in locale · Sicuro per incollare segreti
Output Base64...

Cos'è la codifica Base64?

Base64 è uno schema di codifica da binario a testo che rappresenta dati binari usando un insieme di 64 caratteri ASCII stampabili. È stato progettato per trasportare in sicurezza dati binari attraverso sistemi che gestiscono solo testo — come la posta elettronica (MIME), le intestazioni HTTP e XML. Il nome "Base64" deriva dai 64 caratteri usati nell'alfabeto di codifica.

La codifica funziona prendendo tre byte di input (24 bit) e suddividendoli in quattro gruppi da 6 bit. Ogni valore a 6 bit corrisponde a un carattere nell'alfabeto Base64. Se la lunghezza dell'input non è un multiplo di tre, vengono aggiunti caratteri di riempimento (=) per raggiungere un multiplo di quattro caratteri in output. Il risultato è una stringa circa il 33% più grande dei dati originali, ma sicura da trasmettere come testo normale.

Perché usare questo strumento?

Questo codificatore gestisce correttamente il testo Unicode, supporta le varianti standard e URL-safe e codifica interamente nel tuo browser — i tuoi dati non lasciano mai la tua macchina.

Codifica istantanea
I risultati appaiono mentre digiti. Nessun pulsante da cliccare, nessuna attesa di una risposta dal server.
🔗
Interruttore URL-safe
Passa tra codifica standard (+/) e URL-safe (-_) con un solo clic. Il riempimento viene rimosso automaticamente per la variante URL-safe.
🔒
Completamente lato client
Tutta la codifica avviene localmente nel tuo browser usando l'API nativa btoa e TextEncoder. Nulla viene inviato a nessun server.
🎛️
Supporto Unicode
Gestisce correttamente l'Unicode completo inclusi emoji, caratteri CJK e qualsiasi testo UTF-8 usando encodeURIComponent prima della codifica.

Come usare questo codificatore Base64 online

Nessun account, nessuna installazione, nessun upload — incolla il testo e l'output codificato appare istantaneamente.

  1. 1
    Incolla o digita il tuo testo
    Clicca sul campo di input e incolla qualsiasi testo — stringhe semplici, payload JSON, chiavi API, indirizzi e-mail o qualsiasi contenuto UTF-8. La codifica si aggiorna in tempo reale mentre digiti.
  2. 2
    Scegli la tua variante
    Seleziona Standard (RFC 4648) per MIME, HTTP Basic Auth e uso generale. Seleziona URL-safe per i token JWT, i parametri di query string, i nomi di file e qualsiasi contesto in cui + o / romperebbe l'analisi dell'URL.
  3. 3
    Copia l'output
    Clicca su Copia per inviare la stringa Base64 negli appunti con un clic. L'output è pronto per essere incollato direttamente nel tuo codice, file di configurazione o richiesta API.
  4. 4
    Usa nella tua applicazione
    Incolla la stringa codificata ovunque sia necessaria — intestazioni Authorization, URI di dati, campi JSON, variabili d'ambiente o segreti Kubernetes. Per l'output URL-safe, il padding è già rimosso.

L'alfabeto Base64

Base64 usa 64 caratteri: maiuscole A–Z (valori 0–25), minuscole a–z (26–51), cifre 0–9 (52–61) e due caratteri speciali per i valori 62 e 63. La variante standard RFC 4648 usa + e /; la variante URL-safe li sostituisce con - e _ per evitare conflitti negli URL e nei nomi di file.

A–Z0–25ABCDEFGHIJKLMNOPQRSTUVWXYZ
a–z26–51abcdefghijklmnopqrstuvwxyz
0–952–610123456789
+, /62–63RFC 4648 standard — da evitare negli URL e nei nomi di file
-, _62–63Variante URL-safe (RFC 4648 §5) — sicura negli URL e nei nomi di file

Base64 standard vs URL-safe

L'alfabeto Base64 standard usa + e / che sono caratteri speciali negli URL e nei percorsi di file. La variante URL-safe li sostituisce con - e _ e in genere omette i caratteri di riempimento =. Usa la codifica URL-safe per i token JWT, i dati nelle query string, i nomi di file e qualsiasi contesto in cui + o / verrebbero interpretati erroneamente.

InputStandardURL-safe
ManTWFuTWFu
HelloSGVsbG8=SGVsbG8
AQQ==QQ
1+1=2MSsxPTI=MSsxPTI

Casi d'uso comuni

Allegati e-mail (MIME)
SMTP è stato progettato per testo ASCII a 7 bit. La codifica Base64 è usata dallo standard MIME per incorporare in sicurezza allegati binari (immagini, PDF, eseguibili) nei messaggi e-mail.
URI di dati
Incorpora immagini, font e altre risorse direttamente in HTML o CSS usando URI di dati: data:image/png;base64,... — eliminando richieste HTTP aggiuntive per risorse piccole.
Payload API
Le API REST spesso richiedono che i campi binari (upload di file, chiavi crittografiche, certificati) siano codificati in Base64 quando incorporati in JSON, poiché JSON non ha un tipo binario.
File di configurazione
I secret di Kubernetes, le variabili d'ambiente e le configurazioni CI/CD comunemente memorizzano segreti binari e certificati come stringhe Base64 per evitare problemi di escape.
HTTP Basic Auth
L'intestazione HTTP Authorization: Basic codifica le credenziali come Base64(utente:password). Non è crittografia — fornisce solo codifica per il trasporto nelle intestazioni.
Token JWT
I JSON Web Token usano Base64 URL-safe (base64url) per codificare i segmenti di intestazione e payload, rendendo il token sicuro da usare in URL e intestazioni HTTP senza escape.

Quando NON usare Base64

Base64 è una codifica di trasporto, non un meccanismo di sicurezza. Questi sono gli usi errati più comuni che causano veri problemi in produzione:

Non per sicurezza o crittografia
Base64 è banalmente reversibile — non è necessaria alcuna chiave o password per decodificarlo. Chiunque veda una stringa Base64 può decodificarla in pochi secondi. Non usare mai Base64 come sostituto della crittografia, dell'hashing o del controllo degli accessi.
Non per la compressione
Base64 aumenta la dimensione dell'output di circa il 33%. È l'opposto della compressione. Non usarlo per ridurre la dimensione del payload — usa gzip, Brotli o zstd.
Non per l'archiviazione di file binari
Archiviare file binari di grandi dimensioni come Base64 in database o API JSON spreca spazio di archiviazione e memoria in modo significativo. Usa l'object storage (S3, R2, Cloudflare) e servi il binario direttamente.

Esempi di codice

Come codificare una stringa in Base64 nei linguaggi e ambienti più diffusi:

JavaScript (browser)
// Standard Base64
const encoded = btoa(unescape(encodeURIComponent(text)))

// URL-safe Base64 (no padding)
const urlSafe = btoa(unescape(encodeURIComponent(text)))
  .replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '')
Node.js
// Standard
const encoded = Buffer.from(text).toString('base64')

// URL-safe
const urlSafe = Buffer.from(text).toString('base64url')
Python
import base64

# Standard
encoded = base64.b64encode(text.encode()).decode()

# URL-safe (no padding)
url_safe = base64.urlsafe_b64encode(text.encode()).decode().rstrip('=')
CLI (bash)
# Standard
echo -n "Hello, World!" | base64

# URL-safe (requires sed)
echo -n "Hello, World!" | base64 | tr '+/' '-_' | tr -d '='

Codificatore Base64 online vs. altri strumenti

Esistono diversi codificatori Base64 online. I principali elementi distintivi per l'uso quotidiano dello sviluppatore sono privacy, correttezza e supporto delle varianti.

Completamente privato — nessun server
Questo codificatore funziona interamente nel browser usando l'API nativa btoa e TextEncoder. Il tuo testo non viene mai trasmesso ad alcun server — sicuro per chiavi API, token e segreti.
Codifica Unicode corretta
Molti strumenti Base64 online corrompono silenziosamente l'input non-ASCII. Questo strumento gestisce correttamente tutto Unicode — emoji, CJK, arabo e tutto il testo UTF-8 — codificando prima in byte UTF-8.
Entrambe le varianti in un unico posto
La maggior parte degli strumenti offre solo Base64 standard. Questo codificatore fornisce sia la variante standard (+/) che quella URL-safe (-_) con gestione automatica del padding — senza sostituzione manuale dei caratteri.

Domande frequenti

Base64 è uguale alla crittografia?
No. Base64 è uno schema di codifica, non crittografia. È banalmente reversibile da chiunque — non è necessaria alcuna chiave o password per decodificarlo. Non usare mai Base64 per proteggere dati sensibili. Usa la crittografia appropriata (AES, RSA) per questo scopo.
Perché l'output Base64 termina con = o ==?
Base64 lavora in gruppi di 3 byte (24 bit), producendo 4 caratteri Base64. Se la lunghezza dell'input non è un multiplo di 3, vengono aggiunti caratteri di riempimento (=) per fare in modo che la lunghezza dell'output sia un multiplo di 4. Un = significa che l'ultimo gruppo aveva 2 byte; due = significa che ne aveva 1.
Cos'è Base64 URL-safe?
Base64 URL-safe (definito in RFC 4648 §5) sostituisce + con - e / con _ in modo che la stringa codificata possa essere usata in URL, nomi di file e intestazioni HTTP senza codifica percentuale. Di solito omette anche i caratteri di riempimento =.
Di quanto Base64 aumenta la dimensione del file?
La codifica Base64 aumenta la dimensione di circa il 33%. Ogni 3 byte di input diventano 4 caratteri di output. Per un file da 1 MB, l'output Base64 sarà di circa 1,37 MB.
Posso codificare file binari con questo strumento?
Questo strumento codifica stringhe di testo (trattate come byte UTF-8). Per codificare file binari arbitrari (immagini, PDF, eseguibili), usa una libreria di linguaggio o uno strumento CLI che legge byte grezzi.
Qual è la differenza tra btoa() e Buffer.from().toString('base64')?
btoa() è un built-in del browser che funziona con stringhe Latin-1; genererà un errore per i caratteri non ASCII a meno che non li codifichi prima in byte UTF-8 (usando encodeURIComponent). Buffer.from(testo).toString('base64') in Node.js gestisce direttamente le stringhe UTF-8 ed è l'approccio preferito sul server.
Base64 funziona con file binari?
Questo strumento codifica stringhe di testo come byte UTF-8 in Base64. Per file binari (immagini, PDF, eseguibili), usa uno strumento CLI o una libreria di linguaggio che legge byte grezzi. Nel browser, usa FileReader.readAsDataURL() che restituisce una URI di dati con contenuto binario codificato in Base64.
C'è un limite di dimensione per la codifica?
Questo strumento funziona interamente nel browser senza limiti lato server. I limiti pratici dipendono dalla memoria del browser. Per input molto grandi (oltre pochi MB), uno strumento CLI come base64 (Linux/macOS) o certutil -encode (Windows) è più efficiente.