Conversione fra file e Base64 (con indirizzi con dati incorporati, in entrambi i sensi)

Strumento gratuito che converte qualunque file — immagini, PDF e altro — in una stringa Base64 o in un indirizzo con dati incorporati, e viceversa ricostruisce il file da una stringa Base64 o da un indirizzo con dati, rendendolo scaricabile. La conversione avviene interamente nel navigatore e i file non sono trasmessi ad alcun servente.

Consigli per l'uso

  • Nella modalità che parte dal file potete caricare qualunque tipo di documento — immagini, PDF, audio — e copiare tanto l'indirizzo con dati incorporati quanto la semplice stringa Base64.
  • Nella modalità inversa, incollando un indirizzo completo che comincia con `data:` il tipo di supporto è riconosciuto automaticamente. Se disponete della sola stringa Base64, sceglietelo a mano.
  • La conversione avviene interamente nel JavaScript del navigatore e né i file caricati né le stringhe Base64 sono mai trasmessi ad alcun servente: potete usare lo strumento con serenità anche su documenti riservati.
  • Per inserire una piccola icona in un foglio di stile o in una pagina HTML, potete incollare senz'altro l'indirizzo con dati incorporati nella proprietà `background-image: url(...)` oppure nell'attributo `src` di un marcatore <img>.
  • Poiché la codifica Base64 accresce la dimensione di circa il 33 per cento, la conversione di file di decine di megabyte o più può rallentare sensibilmente il navigatore.

Domande frequenti

È il metodo che rappresenta dati binari — immagini, suoni, eseguibili, qualunque formato — servendosi soltanto di sessantaquattro caratteri ASCII stampabili: le lettere maiuscole e minuscole, le cifre, il più e la barra. Non è una cifratura, ma una conversione che rende quei dati trattabili in sicurezza come testo.

È la forma che inserisce direttamente in un indirizzo il contenuto di un file codificato in Base64, come data:image/png;base64,iVBOR.... Poiché comprende anche l'informazione sul tipo di supporto, si può indicare così com'è nell'attributo src di un marcatore <img> o nella proprietà background-image di un foglio di stile.

No. La conversione, che si serve delle funzioni di lettura dei file e degli oggetti binari del navigatore, avviene interamente nel JavaScript locale: né il contenuto dei file né le stringhe Base64 giungono mai a un servente.

Sì. Se incollate una semplice stringa Base64 e non un indirizzo completo che comincia con data:, compare un campo per scegliere il tipo di supporto: indicate a mano il formato originario — immagine, PDF, testo — e procedete allo scaricamento.

Perché Base64 trasforma dati binari a otto bit in caratteri che ne rappresentano sei: il risultato è circa quattro terzi dell'originale, cioè un 33 per cento in più. È una caratteristica inevitabile del funzionamento della codifica.
Tool-kun

A proposito — perché Base64 accresce i file di un terzo

Base64 nacque dai limiti dei canali di comunicazione che trattano in sicurezza soltanto caratteri ASCII stampabili: posta elettronica, JSON, indirizzi web. Inviando tali e quali dati binari come un'immagine o un eseguibile, l'intrusione di caratteri di controllo li avrebbe corrotti; si ideò perciò un metodo che rappresenta il binario con sessantaquattro soli caratteri stampabili — lettere maiuscole e minuscole, cifre, più e barra.

Base64 prende tre byte, cioè ventiquattro bit, li suddivide in quattro gruppi da sei bit e li converte in quattro caratteri. Ridistribuendo dati a otto bit in caratteri da sei, il risultato è circa quattro terzi dell'originale, con un aumento di circa il 33 per cento: è il prezzo da pagare per poterli trasportare in sicurezza come testo.

Un uso che rovescia a proprio favore questa caratteristica è l'indirizzo con dati incorporati, che inserisce direttamente in HTML o in un foglio di stile una piccola immagine nella forma data:image/png;base64,.... Poiché mostra l'icona senza generare una richiesta aggiuntiva, è una tecnica diffusa per accelerare il caricamento delle pagine. Ha però lo svantaggio dell'aumento di circa un terzo e dell'impossibilità di sfruttare la memoria del navigatore, e non si presta quindi alle immagini di grandi dimensioni.