Codificatore e Decodificatore Base64

Codice Convertitore
Carica o trascina un file .txt
Carica o trascina un file .b64 / .txt

Introduzione

Il Codificatore e Decodificatore Base64 è uno strumento gratuito online per convertire testo in Base64 e decodificare Base64 in testo. Entrambe le operazioni avvengono in tempo reale durante la digitazione, senza ricaricare la pagina o premere un pulsante di invio. Lo strumento viene eseguito interamente nel tuo browser — nulla viene inviato a un server.

Due sezioni indipendenti si trovano sulla stessa pagina: una per codificare, una per decodificare. Ciascuna ha la propria area di testo, zona di caricamento e pulsanti di azione, così puoi lavorare in entrambe le direzioni senza cambiare modalità.

Cos'è Base64?

Base64 è un modo per rappresentare dati binari utilizzando solo caratteri ASCII stampabili. Non è uno schema di crittografia o compressione — il suo scopo è rendere i dati binari sicuri da trasportare attraverso sistemi progettati per il testo.

Come funziona la codifica

L'alfabeto Base64 utilizza 64 caratteri:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

Il processo di codifica divide l'input in gruppi di 3 byte (24 bit), poi divide ogni gruppo in quattro valori da 6 bit. Ogni valore da 6 bit (0–63) viene mappato a un carattere dell'alfabeto.

Input:       F   o   o
Binario:     01000110 01101111 01101111
6 bit:       010001 100110 111101 101111
Decimale:    17     38     61     47
Base64:      R     b    9     v

"Foo" viene codificato come Rm9v.

Perché 64?

64 è stato scelto perché è la più grande potenza di due che utilizza solo caratteri disponibili in quasi tutti i set di caratteri (lettere, cifre e due segni di punteggiatura). Questo rende Base64 affidabile attraverso sistemi di posta elettronica, payload JSON, URL e altri canali basati su testo che potrebbero alterare o rifiutare byte non ASCII.

Ogni carattere Base64 trasporta 6 bit di informazione, rispetto agli 8 bit di un byte. Questo rapporto 6:8 spiega perché l'output codificato è circa il 33 % più grande dell'input originale — un argomento trattato più in dettaglio in seguito.

Quando l'input non è un multiplo di 3 byte

Se l'ultimo gruppo ha meno di 3 byte, viene aggiunto riempimento. Il codificatore aggiunge caratteri = per rendere la lunghezza dell'output un multiplo di 4:

  • 1 byte rimanente → 2 caratteri Base64 + ==
  • 2 byte rimanenti → 3 caratteri Base64 + =
  • 3 byte completi → 4 caratteri Base64, nessun riempimento

Ad esempio, "Fo" (2 byte) viene codificato come Rm8=.

Una nota su ciò che Base64 non è

Base64 viene spesso confuso con la crittografia perché l'output sembra un insieme di caratteri casuali. Una rapida decodifica rivela il testo originale senza bisogno di chiave. Se devi proteggere i dati, utilizza un algoritmo di crittografia appropriato (AES, ChaCha20, ecc.) e poi codifica i byte crittografati con Base64 per il trasporto. Base64 da solo non fornisce riservatezza.

Usi Comuni di Base64

Base64 appare in molti luoghi quotidiani sul web, spesso senza che gli utenti se ne accorgano.

Data URI

I browser moderni permettono di incorporare immagini, font e altri media direttamente in HTML o CSS utilizzando data: URI:

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

I dati dell'immagine codificati in Base64 vivono all'interno del file HTML stesso — nessuna richiesta HTTP separata necessaria. Questo è comune per icone piccole, sprite e font web, dove il round-trip HTTP aggiuntivo costerebbe più dei byte in linea.

Tuttavia, le Data URI Base64 non sono sempre la scelta migliore per risorse più grandi. Il sovraccarico di dimensione del 33 % significa che un'icona di 100 KB diventa 133 KB di testo in linea, e il browser non può metterla in cache separatamente dalla pagina HTML. La maggior parte dei siti utilizza Data URI solo per risorse inferiori a pochi kilobyte.

JWT e Token API

I JSON Web Token utilizzano Base64url (la variante sicura per URL) per codificare i segmenti di intestazione, payload e firma di un token. Se hai mai ispezionato un JWT come questo:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.dozjgNryP4J3jVmNHl0w5N_XgL0n3I9PlFUP0THsR8U

ogni segmento separato da punti è JSON codificato in Base64url. Puoi incollare qualsiasi segmento nella sezione di decodifica di questo strumento per ispezionarne il contenuto.

Allegati Email (MIME)

La posta elettronica è stata originariamente progettata per ASCII a 7 bit. Per inviare allegati binari (immagini, PDF, fogli di calcolo), lo standard MIME li codifica come Base64. Il tuo client di posta li decodifica automaticamente quando apri il messaggio.

Un dettaglio che a volte causa confusione: il Base64 MIME suddivide convenzionalmente le righe ogni 76 caratteri. Se estrai dati Base64 da una fonte email, potrebbero contenere interruzioni di riga incorporate. Il decodificatore di questo strumento gestisce le interruzioni di riga automaticamente — puoi incollare Base64 MIME multilinea senza rimuovere prima le interruzioni di riga.

Certificati e Chiavi PEM

I certificati SSL/TLS e le chiavi private vengono distribuiti in formato PEM, che avvolge dati DER codificati in Base64 tra righe di intestazione e piè di pagina:

-----BEGIN CERTIFICATE-----
MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
...
-----END CERTIFICATE-----

PEM è essenzialmente Base64 con un involucro etichettato. Puoi decodificare il corpo Base64 di un file PEM per ispezionarne il contenuto DER grezzo, anche se il risultato sarà binario, non testo leggibile.

Autenticazione di Base HTTP

L'intestazione di autenticazione di base HTTP codifica utente:password come Base64:

Authorization: Basic YWRtaW46c2VjcmV0

La stringa YWRtaW46c2VjcmV0 è la codifica Base64 di admin:secret. Base64 qui è un meccanismo di serializzazione, non di sicurezza — le credenziali sono banalmente decodificabili da chiunque veda l'intestazione.

Cos'è un file .b64?

Un file .b64 è un file di testo semplice il cui intero contenuto è una stringa Base64. L'estensione .b64 è una convenzione di denominazione che segnala "questo file contiene dati Base64" — al contrario di testo arbitrario, codice sorgente o un formato binario.

Puoi incontrare file .b64 quando:

  • Esporti output codificati da strumenti come questo
  • Memorizzi chiavi crittografiche o certificati in un formato di testo portabile
  • Scambi dati Base64 tra sistemi che utilizzano flussi di lavoro basati su file

Poiché i file .b64 sono testo semplice, puoi aprirli in qualsiasi editor di testo, ispezionare il contenuto o copiare la stringa in un decodificatore. Questo strumento accetta file .b64 sia nella sezione Codifica che Decodifica tramite trascinamento o selezione file.

Come Funziona

Lo strumento utilizza le funzioni Base64 native del browser con un livello aggiuntivo per la sicurezza UTF-8.

Conversione Principale

JavaScript fornisce due funzioni native per Base64:

  • btoa(input) — converte una stringa in Base64 (binario in ASCII)
  • atob(input) — converte Base64 in una stringa (ASCII in binario)

Queste funzioni funzionano solo con caratteri Latin-1 (ISO-8859-1). Se passi una stringa contenente caratteri cinesi, giapponesi, emoji o qualsiasi carattere al di fuori dell'intervallo Latin-1, btoa() lancia una DOMException.

Codifica UTF-8 Sicura

Per gestire correttamente tutto il testo Unicode, lo strumento avvolge le funzioni native:

function encode(text, urlSafe, noPad) {
  let utf8 = encodeURIComponent(text);
  let base64 = btoa(utf8);
  if (urlSafe) base64 = base64.replace(/\+/g, '-').replace(/\//g, '_');
  if (noPad) base64 = base64.replace(/=+$/, '');
  return base64;
}

function decode(base64) {
  let restored = base64.replace(/-/g, '+').replace(/_/g, '/');
  while (restored.length % 4 !== 0) restored += '=';
  let utf8 = atob(restored);
  return decodeURIComponent(utf8);
}

encodeURIComponent converte il testo in forma codificata in percentuale UTF-8, che contiene solo caratteri ASCII che btoa può elaborare. Il percorso di decodifica inverte questo processo nell'ordine opposto.

Per capire perché questo è importante, prova a codificare l'emoji "😊" direttamente con btoa — lancia un errore. Con l'involucro UTF-8, diventa J UmbKSA4bQ, che viene decodificato correttamente in 😊.

Gestione dell'Input Sicuro per URL

La funzione di decodifica esegue sempre due trasformazioni prima di passare la stringa a atob:

  1. Sostituire - con + e _ con / (annullando la codifica sicura per URL)
  2. Aggiungere riempimento = se la lunghezza della stringa non è un multiplo di 4

Questo significa che non devi mai modificare un'impostazione sul lato decodifica. Che il tuo input sia Base64 standard, Base64 sicuro per URL, con o senza riempimento, il decodificatore lo gestisce automaticamente.

Flusso degli Eventi

Quando digiti o incolli in un'area di testo, un listener di eventi input si attiva. Lo scheduler bufferizza le battiture rapide (debounced a circa 16 ms per allinearsi a un fotogramma) e poi esegue la funzione di codifica o decodifica. Il risultato appare nell'area di testo di output al successivo aggiornamento dello schermo.

Base64 Standard vs Base64 Sicuro per URL

Le due caselle di controllo nella sezione Codifica corrispondono a due varianti ben definite di Base64.

Base64 Standard (RFC 4648 §4)

Utilizza l'alfabeto completo: A–Z, a–z, 0–9, +, /. Questa è la forma originale e funziona ovunque, tranne dove + e / hanno un significato speciale.

Base64 Sicuro per URL (RFC 4648 §5)

Sostituisce i due caratteri che causano problemi negli URL:

Carattere Standard Sicuro per URL
Segno più + -
Barra / _

Il Base64 standard Pz4/Pj8+QA== diventa Pz4_Pj8- QA_ in forma sicura per URL (nota: il riempimento = è omesso anche nell'esempio, sebbene la variante sicura per URL possa usare riempimento).

Quando usare ciascuna

Scenario Variante
Allegati email (MIME) Standard
Data URI in HTML/CSS Standard
JSON Web Token (JWT) Sicuro per URL
Parametri di query URL o segmenti di percorso Sicuro per URL
Nomi file Sicuro per URL
Payload API dove + potrebbe essere decodificato come spazio Sicuro per URL
Certificati e chiavi PEM Standard

Il lato decodifica di questo strumento rileva automaticamente quale variante è stata utilizzata, quindi puoi incollare qualsiasi formato senza cambiare impostazioni.

Un Malinteso Comune

Alcuni sviluppatori credono che Base64 sicuro per URL sia un algoritmo diverso. Non lo è — cambiano solo due caratteri dell'alfabeto. Qualsiasi decodificatore Base64 standard può essere adattato mappando -+ e _/ prima dell'elaborazione, che è esattamente ciò che questo strumento fa sul lato decodifica.

Riempimento in Base64

Il carattere = alla fine di una stringa Base64 è riempimento — non fa parte dei dati codificati.

Perché esiste il riempimento

Base64 elabora l'input in gruppi di 3 byte. Se l'ultimo gruppo ha meno di 3 byte, il codificatore aggiunge = come riempimento per rendere la lunghezza totale un multiplo di 4. Questo è richiesto da alcuni decodificatori e permette di concatenare più stringhe Base64 senza ambiguità.

Cosa significa "senza riempimento"

Quando attivi "Senza riempimento", il codificatore rimuove i caratteri = finali dall'output. Per esempio:

  • Input: FoRm8= (con riempimento) → Rm8 (senza riempimento)
  • Input: FooRm9v (nessun riempimento in entrambi i casi — multiplo esatto di 3)

Molti sistemi moderni accettano Base64 senza riempimento, e il decodificatore di questo strumento lo gestisce sempre. Attiva questa opzione quando il sistema a cui invii l'output non richiede o non vuole riempimento.

Matrice di Interoperabilità

La sezione di decodifica di questo strumento accetta tutte e quattro le combinazioni automaticamente:

Formato di Input Esempio Decodifica?
Standard con riempimento Rm8=
Standard senza riempimento Rm8
Sicuro URL con riempimento Rm8=
Sicuro URL senza riempimento Rm8

Non c'è alcuna impostazione da regolare. Il decodificatore normalizza l'input prima dell'elaborazione.

Quando il riempimento è richiesto

Alcuni sistemi richiedono strettamente il riempimento, in particolare:

  • Data URI: data:image/png;base64,... — il parser del browser si aspetta Base64 correttamente riempito.
  • Librerie Base64 vecchie: Alcune implementazioni rifiutano completamente input senza riempimento.

Se non sei sicuro che il sistema di destinazione richieda riempimento, lascialo attivato (impostazione predefinita). Rimuovere il riempimento è sicuro solo quando controlli sia il codificatore che il decodificatore.

Base64 vs Altri Schemi di Codifica

Base64 è uno dei vari schemi di codifica da binario a testo, ciascuno con diversi compromessi in densità, dimensione dell'alfabeto e caso d'uso.

Schema Dimensione Alfabeto Sovraccarico Uso Tipico
Hex (Base16) 16 caratteri 100 % Impronte digitali, hash, codici colore
Base32 32 caratteri 60 % Record DNS, segreti TOTP, condivisione file
Base64 64 caratteri 33 % Data URI, JWT, MIME, PEM, payload API
Base85 (Ascii85) 85 caratteri 25 % Adobe PostScript, PDF, pickle Python
Base122 122 caratteri ≈14 % Nicchia — codifica compatta per canali ristretti

Perché Base64 è il più popolare

Base64 raggiunge il punto ideale per la maggior parte delle applicazioni pratiche. Rispetto a Hex — che raddoppia la dimensione dell'input — il sovraccarico del 33 % di Base64 è significativamente più efficiente. Rispetto a Base85, Base64 è più semplice da implementare (ogni linguaggio ha un decodificatore integrato), e il suo alfabeto evita i problemi di citazione che i caratteri Base85 come " e \ possono causare in alcuni contesti.

Quando usare qualcos'altro

  • Hex: Quando la leggibilità umana e il debug contano più della dimensione. Una stringa Hex come 4f6f è immediatamente riconoscibile come dati codificati; b293 è meno ovvio come Base64.
  • Base32: Quando la distinzione tra maiuscole e minuscole non è desiderata (ad esempio, per dettare al telefono, stampato su prodotti). Base32 usa solo lettere maiuscole e cifre.
  • Base85: Quando ogni byte di sovraccarico conta in un canale ristretto e controlli entrambe le estremità della pipeline.

Per la codifica web generica, Base64 rimane la scelta predefinita corretta. Questo strumento segue quella convenzione.

Prestazioni e Considerazioni sulla Dimensione

Base64 è semplice e universale, ma ha costi reali che contano quando lavori con dati più grandi.

Il Sovraccarico del 33 %

Ogni 3 byte di input diventano 4 byte di output, un rapporto 4:3. In pratica, includendo riempimento e interruzioni di riga, il sovraccarico è di circa il 37 % per input piccoli e si stabilizza al 33 % per input sufficientemente grandi.

Dimensione Input Dimensione Base64 Approssimativa
1 KB 1,37 KB
10 KB 13,7 KB
100 KB 137 KB
1 MB 1,37 MB
10 MB 13,7 MB

Base64 e Compressione

La compressione Gzip (o Brotli) del testo Base64 è generalmente inefficace. L'output Base64 ha una distribuzione uniforme dei caratteri — ciascuno dei 64 caratteri appare con circa la stessa frequenza — il che elimina i modelli sfruttati dagli algoritmi di compressione. Una stringa Base64 compressa è spesso solo del 5–10 % più piccola della forma non compressa, rispetto alla riduzione del 60–80 % ottenibile con i dati binari originali.

Questo significa:

  • Non codificare in Base64 prima di comprimere. Comprimi prima, poi codifica se necessario.
  • Non affidarti alla compressione a livello di trasporto (ad esempio, HTTP gzip) per compensare il sovraccarico Base64. Non lo farà.

Quando non usare Base64

Base64 ha senso quando devi inserire dati binari in un canale di solo testo. Se il canale supporta il trasferimento binario nativamente, salta Base64:

  • Caricamenti di file: Usa multipart/form-data con binario grezzo, non Base64 in JSON. Il file arriva al server del 33 % più grande e impiega più tempo per essere caricato.
  • Archiviazione in database: Archivia i dati binari come BYTEA (PostgreSQL), BLOB (MySQL/SQLite) o varbinary (MSSQL) invece di testo Base64.
  • Chiamate API tra servizi: Usa gRPC, Thrift o MessagePack con campi binari invece di stringhe JSON codificate in Base64.

Per payload di testo (payload JWT, contenuto HTML, corpo email), il sovraccarico è trascurabile e la comodità di Base64 vale il compromesso.

Implicazioni di Cache

Quando incorpori una Data URI Base64 in HTML o CSS, il contenuto codificato diventa parte della risorsa della pagina. Il browser non può memorizzare nella cache quella Data URI indipendentemente — qualsiasi modifica alla pagina la invalida. Un file immagine separato richiesto tramite <img src="icon.png"> può essere memorizzato nella cache tra pagine con un'intestazione Cache-Control futura. Per risorse più grandi di pochi kilobyte, i file separati sono quasi sempre più performanti.

Errori Comuni e Idee Sbagliate

Base64 è semplice, ma diversi malintesi ricorrenti causano errori reali.

Base64 Non È Crittografia

Questo è l'equivoco più comune. Poiché l'output Base64 sembra caratteri casuali, molti sviluppatori presumono che fornisca un certo livello di protezione. Non è così. La decodifica non richiede né chiave né segreto. Tratta qualsiasi stringa Base64 come testo pubblicamente leggibile.

Se vedi un servizio memorizzare password o chiavi API come Base64, consideralo un problema di sicurezza — i dati sono memorizzati in chiaro.

Sensibilità a Maiuscole/Miniuscole

L'alfabeto Base64 distingue tra maiuscole e minuscole:

  • Maiuscole: A–Z (valori 0–25)
  • Minuscole: a–z (valori 26–51)

Un errore di battitura come R vs r cambia completamente il valore decodificato. Se il tuo output decodificato sembra errato, verifica la presenza di errori di maiuscole/minuscole nell'input.

Interruzioni di Riga MIME

Gli allegati email codificati in MIME suddividono il corpo Base64 ogni 76 caratteri:

SGVsbG8sIHdvcmxkISBUaGlzIGlzIGEgdGVzdCBvZi BiYXNlNjQgZW5jb2Rpbmcu
VGhpcyBpcyB0aGUgc2Vjb25kIGxpbmUu

Non tutti i decodificatori Base64 gestiscono queste interruzioni di riga incorporate. Questo strumento lo fa — incolla Base64 MIME multilinea direttamente senza pre-elaborazione. Un decodificatore che non gestisce le interruzioni di riga produrrà un risultato alterato o un errore.

Spazi Bianchi Nascosti

Copiare testo da email, PDF o pagine web può introdurre caratteri di spazio bianco invisibili (spazi, tabulazioni, spazi a larghezza zero, spazi unificatori). Questi non sono Base64 valido. Se una stringa Base64 dall'aspetto valido non si decodifica, incollala prima in un editor di testo semplice per verificare la presenza di caratteri nascosti, o ricopiala dalla fonte.

Concatenazione di Stringhe con Riempimento

Due stringhe Base64 con riempimento concatenate direttamente non si decodificano necessariamente correttamente. Il riempimento = appartiene all'ultimo gruppo di ogni stringa, e la concatenazione può creare confini ambigui. Questo è intenzionale — il riempimento previene l'ambiguità per le stringhe individuali. Per dati in più parti, gestisci ogni parte separatamente.

Utilizzo

Usare il Codificatore e Decodificatore Base64 non richiede configurazione, registrazione né account.

Codificare Testo in Base64

  1. Nella sezione Codifica Base64, digita o incolla il tuo testo nell'area di testo di input.
  2. L'area di output si aggiorna automaticamente con il risultato codificato.
  3. Opzionalmente, attiva Sicuro per URL per usare la variante web sicura, o Senza riempimento per rimuovere i caratteri = finali.
  4. Clicca Copia per copiare il testo codificato negli appunti, o Scarica Base64 per salvarlo come file .b64.

Decodificare Base64 in Testo

  1. Nella sezione Decodifica Base64, incolla una stringa Base64 nell'area di input.
  2. Il testo decodificato appare nell'area di output istantaneamente.
  3. Se l'input non è Base64 valido, viene visualizzato un messaggio di errore.
  4. Clicca Copia o Scarica per salvare il risultato decodificato.

Usare il Caricamento File

  • Sezione Codifica: rilascia un file .txt sulla zona di caricamento per caricarne il contenuto da codificare.
  • Sezione Decodifica: rilascia un file .b64 o .txt per caricare contenuto Base64 da decodificare.

Il contenuto del file viene letto, inserito nell'area di testo di input ed elaborato immediatamente.

Tutorial

Scenario: Stai costruendo un'applicazione web che comunica con un'API. L'API si aspetta che il payload della richiesta includa un campo di testo breve codificato come Base64 sicuro per URL senza riempimento. Devi codificare il tuo testo, verificare l'output e confermare che l'API lo accetti. Più tardi, ricevi una risposta dalla stessa API con un campo codificato in Base64 che devi decodificare.

Questo tutorial ti guida attraverso l'intero percorso.

Parte 1: Codificare

  1. Apri il Codificatore e Decodificatore Base64 nel tuo browser. Vedi due sezioni affiancate — Codifica a sinistra, Decodifica a destra.

  2. Nell'area di input di Codifica, digita il seguente testo:

    Ciao, server API. Questo è il mio payload.
    

    L'area di output mostra immediatamente la codifica Base64 standard. Il risultato inizia con Q2lhbywg. Per ora tutto bene.

  3. La specifica API richiede Base64 sicuro per URL senza riempimento. Attiva entrambe le caselle Sicuro per URL e Senza riempimento. Osserva come cambia l'output:

    • I caratteri + (se presenti) diventano -
    • I caratteri / diventano _
    • I caratteri = finali scompaiono
  4. Clicca Copia per copiare il risultato codificato negli appunti. Incollalo nel payload della tua richiesta API.

Parte 2: Decodificare

  1. L'API risponde con un payload JSON contenente un campo codificato in Base64:

    {
      "status": "ok",
      "message": "eyJzdWIiOiAiMTAwMSIsICJuYW1lIjogIkFQSSBHYXRld2F5In0="
    }
    
  2. Copia il valore di message e incollalo nell'area di input Decodifica.

    L'area di output mostra istantaneamente il testo decodificato:

    { "sub": "1001", "name": "API Gateway" }
    
  3. Il payload JSON simile a JWT è ora leggibile. Se l'API avesse usato Base64 sicuro per URL (nessun + o / nella stringa, o con - e _), il decodificatore lo avrebbe gestito automaticamente.

Parte 3: Flusso di Lavoro Basato su File

  1. Supponi di dover inviare il payload codificato a un collega che preferisce i file. Clicca Scarica Base64 nella sezione Codifica. La finestra Salva con nome del tuo browser si apre, suggerendo download.b64 come nome file. Salva il file.

  2. Il tuo collega riceve il file e apre questo stesso strumento. Trascina download.b64 sulla zona di caricamento della sezione Decodifica. Il contenuto del file appare nell'area di input e il testo decodificato appare immediatamente.

Questo percorso — codificare con opzioni → copiare o scaricare → decodificare con rilevamento automatico — copre il flusso di lavoro reale più comune. Lo strumento gestisce tutta la normalizzazione in modo che tu non debba pensare a varianti di caratteri o regole di riempimento.

Suggerimenti

  • Codifica e decodifica simultaneamente: Le due sezioni sono indipendenti. Puoi digitare testo nella sezione Codifica e incollare una stringa Base64 separata nella sezione Decodifica allo stesso tempo. Usalo per confrontare input e output di entrambe le direzioni affiancate.

  • Sicuro per URL per JWT: Quando lavori con token JWT, attiva sempre la modalità sicura per URL. I segmenti JWT usano la variante sicura per URL (RFC 7515). Se incolli un segmento JWT nella sezione di decodifica, lo strumento rileva automaticamente i caratteri sicuri per URL.

  • Rimuovi gli spazi bianchi prima di incollare: Alcune fonti di dati Base64 includono interruzioni di riga o spazi finali. Il decodificatore gestisce meglio gli input ripuliti. Se vedi un errore "Stringa Base64 non valida", verifica se il testo incollato contiene spazi bianchi aggiuntivi.

  • Scarica per output grandi: Per stringhe Base64 lunghe, usa i pulsanti Scarica invece di Copia. La finestra Salva con nome nativa ti permette di scegliere dove salvare il file, e il risultato viene salvato come file .b64 o .txt che puoi trasferire o archiviare.

  • Carica come alternativa alla digitazione: Se hai già un file contenente il testo o i dati Base64, trascinalo sulla zona di caricamento. È più veloce che aprire il file, selezionare tutto, copiare e incollare — specialmente per file grandi.

  • Decodifica prima per verificare il formato: Se ricevi una stringa Base64 e non sei sicuro che contenga testo o dati binari, incollala nella sezione di decodifica. Se l'output è testo leggibile, hai finito. Se contiene caratteri alterati o glifi di sostituzione ( ), la fonte originale era probabilmente binaria (un'immagine, PDF o altro formato non testuale).

Alternative

Esistono diversi altri modi per codificare o decodificare Base64, ciascuno con diversi compromessi.

Strumento / Metodo Migliore per Limitazioni
Toollect Codificatore e Decodificatore Base64 Codifica/decodifica in tempo reale nel browser, privacy prima di tutto, sezioni doppie codifica/decodifica Richiede internet per il caricamento iniziale della pagina
Comando Unix base64 Scripting, elaborazione batch, flussi di lavoro con pipe Solo riga di comando, nessuna interfaccia grafica, nessun passaggio a sicuro per URL
CyberChef Trasformazioni dati multi-fase (Base64 + decomprimere + decifrare) Eccessivo per semplice codifica/decodifica, caricamento pagina più pesante
DevTools del browser btoa()/atob() Conversioni rapide singole senza uscire dagli strumenti di sviluppo Nessun supporto UTF-8 predefinito, nessun caricamento file, nessuna opzione sicura per URL
Strumenti Base64 online (lato server) Uso singolo quando non puoi eseguire strumenti lato client I dati vengono inviati a un server; rischio per la privacy di contenuti sensibili
OpenSSL openssl base64 Elaborazione certificati PEM, flussi di lavoro crittografici Solo riga di comando, orientato ai certificati, non per uso testo occasionale

Per codificare o decodificare testo Base64 con privacy, feedback in tempo reale e senza conoscenza della riga di comando, questo strumento offre la migliore esperienza utente.

Privacy dei Dati

Il Codificatore e Decodificatore Base64 elabora ogni carattere interamente nel tuo browser. Nessun testo che inserisci viene trasmesso a un server, memorizzato in un database o registrato in alcun sistema.

Tutta la conversione viene eseguita utilizzando le funzioni native btoa() e atob() di JavaScript nella memoria del browser. La pagina non include script di analisi, pixel di tracciamento o incorporamenti di terze parti. Nessun cookie, voce localStorage o sessionStorage viene creato o letto.

Dopo il caricamento iniziale della pagina, lo strumento funziona completamente offline. Puoi disconnetterti da internet e continuare a codificare e decodificare senza interruzioni. Verificalo utilizzando lo strumento in modalità aereo o ispezionando l'attività di rete negli strumenti di sviluppo del tuo browser — nessuna richiesta lascia il tuo dispositivo dopo il caricamento della pagina.

Risoluzione Problemi

Problema Causa Probabile Soluzione
La decodifica mostra "Stringa Base64 non valida" L'input contiene caratteri non Base64 Verifica che l'input usi solo A–Z, a–z, 0–9, +, /, -, _ e =. Rimuovi spazi bianchi o interruzioni di riga.
La decodifica produce testo alterato o glifi di sostituzione ( ) I dati originali erano binari (immagine, PDF, ZIP), non testo Questo strumento decodifica Base64 in testo. Se l'input originale era binario, l'output non sarà leggibile. Usa un decodificatore Base64 binario dedicato o identifica prima il formato con il comando file.
La decodifica produce testo alterato per Base64 dall'aspetto corretto L'input potrebbe essere MIME con interruzioni di riga (ogni 76 caratteri) Questo strumento gestisce le interruzioni di riga automaticamente. Se il problema persiste, verifica la stringa in un editor di testo semplice per altri spazi nascosti.
Errore btoa() incollando determinati testi Caratteri non ASCII nell'input (cinese, emoji, ecc.) senza involucro UTF-8 Questo viene gestito automaticamente dallo strumento. Se vedi un errore JavaScript grezzo, l'involucro UTF-8 non viene applicato. Aggiorna la pagina.
Il file .b64 scaricato ha contenuto errato Il file potrebbe essere stato aperto in un editor che ha aggiunto interruzioni di riga I file .b64 devono contenere una singola stringa Base64 continua. Se il tuo editor spezza le righe, il file è comunque valido — reincollalo nello strumento per verificare.
La zona di caricamento non risponde al trascinamento Restrizioni di sicurezza del browser o mancanza di supporto JavaScript Il trascinamento richiede JavaScript e potrebbe essere bloccato da alcune policy di sicurezza. Usa il selettore file (clicca sulla zona di caricamento) come alternativa.
L'output differisce da un altro strumento Base64 La modalità di riempimento o sicuro per URL potrebbe differire Verifica se l'altro strumento rimuove il riempimento o usa una variante diversa. Attiva le caselle per corrispondere. Se l'altro strumento usa un alfabeto non standard, questo strumento non può replicarlo.
Il testo decodificato è vuoto ma non viene mostrato errore L'input consisteva interamente in caratteri di riempimento (es. "==") Una stringa di soli caratteri di riempimento è tecnicamente valida ma si decodifica in un risultato vuoto. Verifica l'input per dati mancanti.

Specifiche Tecniche

  • Algoritmo Principale: btoa() / atob() avvolto con encodeURIComponent / decodeURIComponent per la sicurezza UTF-8
  • Standard: RFC 4648 §4 (Base64 standard), RFC 4648 §5 (Base64 sicuro per URL)
  • Gestione Input: Conversione automatica dei caratteri sicuri per URL (-+, _/) e normalizzazione del riempimento in decodifica
  • Elaborazione in Tempo Reale: Listener di eventi input sulle aree di testo, debounced a circa un fotogramma (16 ms)
  • I/O File: API FileReader per il caricamento, showSaveFilePicker (File System Access API) con fallback <a download>
  • Formati di Download: .b64 (codificato), .txt (decodificato)
  • Formati di Caricamento: .txt (sezione Codifica), .b64 / .txt (sezione Decodifica)

Benchmark di Prestazioni

Dimensione Input Tempo di Codifica Tempo di Decodifica
1 KB < 1 ms < 1 ms
10 KB < 2 ms < 2 ms
100 KB < 10 ms < 10 ms
1 MB < 50 ms < 50 ms

Misurato su un laptop di fascia media del 2020 (Chrome 120). Le prestazioni scalano linearmente con la dimensione dell'input. Per payload di testo tipici sotto i 100 KB, la conversione è praticamente istantanea.

Compatibilità Browser

Browser Versione Minima Stato
Google Chrome 86+ Supporto completo
Mozilla Firefox 87+ Supporto completo
Apple Safari 15+ Supporto completo
Microsoft Edge 86+ Supporto completo
Samsung Internet 15+ Supporto completo
Opera 72+ Supporto completo

showSaveFilePicker richiede browser basati su Chromium (Chrome, Edge, Opera, Samsung Internet). In Firefox e Safari, il download utilizza automaticamente il metodo <a download> come fallback.

Privacy e Sicurezza

  • Zero trasmissione dati: tutta l'elaborazione del testo avviene nella memoria del browser
  • Nessun cookie, localStorage o sessionStorage utilizzato
  • Nessuno script di analisi o tracciamento sulla pagina dello strumento
  • Completamente funzionante in modalità offline dopo il caricamento iniziale della pagina
  • Nessuna registrazione, login o chiave API richiesta

Caratteristiche

  • Codificare testo in Base64 e decodificare Base64 in testo con conversione in tempo reale
  • Modalità sicura per URL che usa -_ invece di +/ per un Base64 adatto al web (RFC 4648 §5)
  • Opzione senza riempimento per rimuovere i segni di uguale finali (RFC 4648 §3.2)
  • Spiegazione integrata dello schema di codifica Base64 e del formato file .b64
  • Caricare file .txt e .b64 con supporto drag-and-drop
  • Scaricare risultati come file .b64 o .txt con finestra nativa Salva con nome
  • Completamente lato client — nessun invio al server, funziona offline

Domande frequenti

Cos'è la codifica Base64?
Base64 è uno schema di codifica da binario a testo che converte dati binari arbitrari in una stringa ASCII utilizzando un alfabeto di 64 caratteri (A–Z, a–z, 0–9, +, /). Ogni 3 byte di input vengono codificati come 4 caratteri Base64. Se la lunghezza dell'input non è un multiplo di 3, vengono aggiunti caratteri di riempimento = per rendere la lunghezza dell'output un multiplo di 4. Base64 è definito nella RFC 4648.
Come funziona questo codificatore Base64?
Digita o incolla testo nella sezione Codifica per convertirlo istantaneamente in Base64. Lo strumento utilizza la funzione nativa btoa() del browser avvolta con codifica UTF-8 sicura tramite encodeURIComponent, in modo che i caratteri non ASCII (cinese, giapponese, emoji, ecc.) vengano gestiti correttamente. La sezione Decodifica inverte il processo usando atob() e decodeURIComponent.
Cos'è il Base64 sicuro per URL?
Il Base64 standard usa i caratteri + e /, che richiedono codifica URL nei contesti web (%2B e %2F). Il Base64 sicuro per URL (RFC 4648 §5) sostituisce + con - e / con _, rendendo l'output sicuro per l'uso in URL, nomi file e token JWT senza codifica percentuale aggiuntiva. La sezione di decodifica di questo strumento rileva e converte automaticamente l'input sicuro per URL — non è mai necessario modificare un'impostazione sul lato decodifica.
Cosa significa "senza riempimento"?
Il Base64 standard usa caratteri = come riempimento per garantire che la lunghezza dell'output sia un multiplo di 4. Alcune implementazioni accettano o producono Base64 senza riempimento. Quando "Senza riempimento" è attivato, i caratteri = finali vengono rimossi dall'output codificato. La decodifica in questo strumento accetta automaticamente input con e senza riempimento.
Cos'è un file .b64?
Un file .b64 è un file di testo semplice il cui contenuto sono dati codificati in Base64. L'estensione funge da convenzione per distinguere il contenuto Base64 dal testo semplice o da altri formati. Puoi aprire un file .b64 in qualsiasi editor di testo — contiene la stessa stringa Base64 che vedi nell'output dello strumento. Questo strumento usa .b64 come formato di download predefinito per gli output codificati.
I miei dati vengono inviati a un server?
No. Tutto viene eseguito interamente nel tuo browser. Lo strumento utilizza le funzioni integrate btoa() e atob() di JavaScript senza richieste di rete. Il tuo testo non lascia mai il tuo dispositivo. Puoi verificarlo usando lo strumento in modalità aereo dopo il caricamento iniziale della pagina.
ESC