Convertitore da immagine a Base64
Converti immagini in data URI Base64 nel tuo browser — PNG, JPG, GIF, WebP, SVG, ICO. Copia l'output HTML, CSS, Markdown e JSON. 100% privato, nessun upload.
Trascina un'immagine qui, incollala o clicca per sfogliare
PNG · JPG · GIF · WebP · SVG · ICO · BMP — convertita interamente nel tuo browser
Cos'è un'immagine Base64 (data URI)?
Un'immagine Base64 è un'immagine i cui byte binari sono stati ricodificati come stringa di caratteri ASCII stampabili usando l'alfabeto Base64 (A–Z, a–z, 0–9, + e /). Avvolta nello schema URI data: — data:image/png;base64,iVBORw0KGgo… — quella stringa può apparire ovunque sia atteso un URL: un src di un HTML, un background-image CSS, il corpo di un'email o un campo dentro un payload JSON. Il browser la decodifica al volo e mostra l'immagine senza alcuna richiesta di rete separata. È per questo che le immagini Base64 sono talvolta chiamate immagini "inline" o "incorporate".
La codifica esiste per un motivo semplice: molti sistemi sono stati costruiti per trasportare testo, non dati binari arbitrari. HTML, JSON, header email e URL si aspettano tutti caratteri, e i byte grezzi di un'immagine includerebbero codici di controllo e delimitatori che li romperebbero. Base64 mappa ogni 3 byte binari su 4 caratteri di testo sicuri, garantendo che i dati sopravvivano intatti al transito. Il costo è la dimensione: la rappresentazione testuale è circa il 33% più grande del binario originale e non può essere messa in cache indipendentemente dal documento che la contiene.
Quel compromesso definisce quando le immagini Base64 hanno senso. Per una piccola icona usata in un solo foglio di stile, l'inlining elimina un viaggio di andata e ritorno e la penalità di dimensione è trascurabile — una chiara vittoria. Per una foto hero da 200 KB riutilizzata su ogni pagina, l'inlining gonfia ogni pagina, vanifica la cache del browser e costa CPU per decodificare a ogni caricamento — una chiara perdita. La guida moderna, dell'era HTTP/2, è di fare l'inlining solo di asset piccoli e stabili e di servire tutto il resto come normali file in cache. Questo strumento mette in evidenza i numeri esatti per la tua immagine e una raccomandazione a semaforo così la decisione si basa sui dati, non sul sentito dire.
L'operazione inversa — riportare una stringa Base64 a un'immagine visualizzabile e scaricabile — è altrettanto utile quando stai facendo il debug di un data URI da un foglio di stile, ispezionando una risposta API o recuperando un asset incorporato in un file di configurazione. Passa alla scheda Base64 → Immagine o apri il decodificatore da Base64 a immagine dedicato.
<!-- The same 1×1 transparent PNG, four ways -->
<!-- HTML -->
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==" alt="pixel">
/* CSS */
.badge {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==");
}
<!-- Markdown -->

// JSON
{ "mime": "image/png", "data": "iVBORw0KGgo…" } Caratteristiche principali
Trascina, clicca o incolla
Tre vie di input: rilascia un file, sfoglialo, oppure incolla un'immagine direttamente dagli appunti con Ctrl+V — la strada più rapida per gli screenshot. Qualsiasi cosa fornisci viene codificata immediatamente, senza upload.
Sei formati di output
Base64 grezzo, un data URI completo, un elemento HTML, una regola CSS background-image, un link a immagine Markdown e un oggetto JSON. Ognuno ha il suo pulsante Copia e un'opzione Scarica, così lo snippet è pronto esattamente per il contesto che ti serve.
Metriche di dimensione e inflazione dal vivo
La barra dei metadati mostra la dimensione del file originale, la dimensione Base64 codificata e la precisa percentuale di aumento per la tua immagine specifica — non un generico "circa 33%". Vedi il costo reale dell'inlining prima di impegnarti.
Badge di consiglio per l'inlining
Una raccomandazione a semaforo legge la dimensione del tuo file e ti dice se un data URI è una buona idea: verde sotto ~2 KB, ambra fino a ~10 KB, rosso oltre. Codifica il consenso post-HTTP/2 così non devi ricordare le soglie.
Decodificatore integrato
La scheda Base64 → Immagine inverte il processo: incolla una stringa o un data URI e ottieni un'anteprima dal vivo, le dimensioni decodificate e il tipo MIME, e un pulsante Scarica che ricostruisce il file originale. Tollera prefissi mancanti e spazi sparsi.
Tutti i formati comuni
PNG, JPG, GIF (animazione preservata), WebP, SVG, ICO e BMP — più AVIF dove supportato. I byte grezzi vengono codificati così come sono, quindi trasparenza, animazione e scalabilità vettoriale sopravvivono intatte.
Esempi
Da PNG a data URI (pronto per CSS / HTML)
transparent-1x1.png (un PNG da 68 byte)
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==
Trascina un PNG e la scheda Data URI ti dà una stringa da incollare direttamente in un src HTML o in un url() CSS. La barra dei metadati mostra la dimensione originale, la dimensione Base64 e l'esatta percentuale di aumento.
Inserisci un'icona SVG inline in HTML
icon.svg
<img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0i…" alt="icon">
Passa alla scheda HTML per un elemento pronto da incollare. Per gli SVG in particolare, la codifica URL è spesso più piccola di Base64 — vedi la FAQ sul perché l'SVG è un caso speciale.
Immagine Markdown con un JPG incorporato
photo.jpg (12 KB)

La scheda Markdown produce un link a immagine autonomo — comodo per file README, issue GitHub e notebook dove non puoi ospitare un file esterno. A 12 KB il badge di consiglio diventa ambra: valuta la comodità rispetto al costo in peso della pagina.
Come convertire un'immagine in Base64
- 1
Aggiungi la tua immagine
Trascina un'immagine sulla zona di rilascio, clicca per sfogliare, o incolla dagli appunti con Ctrl+V / Cmd+V. PNG, JPG, GIF, WebP, SVG, ICO e BMP sono tutti supportati e codificati interamente nel tuo browser.
- 2
Scegli un formato di output
Scegli Data URI, Base64 grezzo, HTML
, background CSS, Markdown o JSON dalle schede. Controlla la barra dei metadati per l'aumento di dimensione e il badge di consiglio per capire se l'inlining vale la pena.
- 3
Copia o scarica
Clicca Copia per prendere lo snippet, o Scarica per salvarlo come file. Per invertire il processo, passa alla scheda Base64 → Immagine, incolla una stringa e scarica l'immagine ricostruita.
Insidie comuni
Tipo MIME mancante o sbagliato
Un data URI deve dichiarare il tipo di media corretto o il browser rifiuta di renderizzarlo. Codificare un PNG ma etichettarlo image/jpeg, o omettere del tutto il tipo, produce un'immagine rotta. Copia l'output Data URI o HTML direttamente da questo strumento per ottenere automaticamente il prefisso giusto.
data:base64,iVBORw0KGgo… <!-- no MIME type — will not render -->
data:image/png;base64,iVBORw0KGgo… <!-- correct: image/png -->
Spazi o interruzioni di riga nella stringa
Alcuni strumenti spezzano il Base64 a 76 caratteri secondo la RFC 2045, e il copia-incolla può iniettare spazi o a capo sparsi. In un attributo HTML o in un url() CSS, quelle interruzioni possono invalidare il URI. Rimuovi gli spazi prima di usare la stringa — il decodificatore di questo strumento lo fa automaticamente, quindi un giro di andata e ritorno attraverso la scheda Base64 → Immagine la ripulirà.
data:image/png;base64,iVBORw0KGgoAAAANS UhEUgAAAAEAAAABCAYAAAA… <!-- embedded newline breaks the attribute -->
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAA… <!-- single unbroken line -->
Stringa troncata (padding perso)
Le stringhe Base64 finiscono con zero, uno o due caratteri di padding =. Una copia parziale che perde il = finale (o gli ultimi caratteri) produce una stringa non decodificabile e un'immagine rotta. Se un incollaggio non viene renderizzato, conferma di aver copiato l'intero valore incluso qualsiasi padding finale.
…WjR9awAAAABJRU5ErkJggg <!-- missing trailing == -->
…WjR9awAAAABJRU5ErkJggg== <!-- complete with padding -->
Codificare una foto grande in Base64
Codificare una fotografia da diverse centinaia di KB produce una stringa enorme che gonfia il tuo HTML o CSS, non può essere messa in cache da sola ed è lenta da decodificare. Il badge di consiglio diventa rosso esattamente per questo caso. Servi le immagini grandi come file normali; riserva Base64 a piccoli asset, e comprimi prima.
/* 380 KB hero photo inlined into a global stylesheet */
.hero { background-image: url("data:image/jpeg;base64,/9j/…(½ MB of text)…"); } /* Serve it as a cached file instead */
.hero { background-image: url("/img/hero.jpg"); } Casi d'uso comuni
- Inserisci un logo o un'icona inline nel CSS
- Trascina una piccola icona PNG o SVG, copia lo snippet CSS background-image e incollalo nel tuo foglio di stile per eliminare una richiesta HTTP per un asset che cambia raramente. Mantienilo sotto i ~2 KB (osserva il badge verde) così il foglio di stile resta leggero.
- Incorpora immagini nelle email HTML
- I client email spesso bloccano le immagini remote. Codifica il tuo logo come data URI e incolla l'elemento
nel template così viene renderizzato senza un fetch dal server. Fai dei test sui client — mantieni gli incorporamenti a piccole icone, non foto.
- Markdown e README autonomi
- Quando non puoi ospitare un'immagine — un'issue GitHub, un notebook, un documento offline — l'output Markdown incorpora l'immagine direttamente nel file così viaggia con il testo. Ideale per piccoli diagrammi e badge.
- Immagini dentro JSON o payload API
- Devi spedire una miniatura dentro un documento JSON o un file di configurazione? L'output JSON ti dà un oggetto { mime, data } da inserire direttamente, e il decodificatore recupera l'immagine dall'altra parte.
- Debug rapido di data URI
- Trovato un misterioso data: URI in un foglio di stile o in una risposta API? Incollalo nella scheda Base64 → Immagine per vedere cosa è davvero, leggere le sue dimensioni reali e scaricarlo come file normale per un'ispezione più ravvicinata.
- Widget e bookmarklet a file singolo
- I bookmarklet e i widget incorporabili devono essere autonomi senza dipendenze esterne. Fare l'inlining delle loro icone come Base64 mantiene tutto in un unico file che funziona ovunque venga inserito.
Dettagli tecnici
- Come funziona la codifica Base64
- Base64 prende il flusso binario dell'immagine tre byte (24 bit) alla volta e lo divide in quattro gruppi da 6 bit, ciascuno mappato a un carattere nell'alfabeto a 64 simboli. Quando la lunghezza dell'input non è multiplo di tre, uno o due caratteri di padding = segnano il resto. Questo rapporto 3-a-4 è il motivo per cui il testo codificato è circa il 33% più grande della sorgente. Lo strumento calcola la lunghezza in byte decodificata direttamente dalla lunghezza della stringa e dal padding, quindi le cifre di dimensione che riporta sono esatte, non stimate.
- Rilevamento MIME e magic byte
- Quando codifichi un file, il suo tipo MIME proviene dall'oggetto File del browser. Quando decodifichi una stringa Base64 grezza senza prefisso data:, lo strumento ispeziona i caratteri iniziali, che corrispondono ai magic byte dell'immagine: iVBORw0KGgo per PNG, /9j/ per JPEG, R0lGOD per GIF, UklGR per WebP, e PHN2Zy o PD94bWw per SVG. Questo permette al decodificatore di ricostruire un data URI corretto e di scaricare con la giusta estensione di file anche quando l'input è solo il payload nudo.
- Elaborazione solo locale
- La codifica usa il metodo readAsDataURL dell'API FileReader, che restituisce un data URI sintetizzato interamente nel browser. La decodifica per il download usa atob più un Uint8Array per ricostruire il binario, poi un Blob e un object URL — di nuovo senza alcuna rete coinvolta. Il risultato è uno strumento che puoi eseguire offline e a cui affidare immagini riservate, perché i byte non lasciano mai la pagina. Puoi verificare il comportamento a zero richieste negli strumenti per sviluppatori del tuo browser.
Buone pratiche
- Fai l'inlining solo di asset piccoli e stabili
- Il punto ideale per Base64 sono asset sotto i ~2 KB che cambiano raramente e appaiono su poche pagine — icone, piccoli loghi, sprite UI. Oltre i ~10 KB, la penalità di dimensione e la cache persa superano la richiesta risparmiata, specialmente ora che HTTP/2 rende economiche le richieste extra. Lascia che il badge di consiglio ti guidi, e servi foto e grafiche grandi come normali file in cache.
- Preferisci la codifica URL per l'SVG
- L'SVG è testo, quindi Base64 lo gonfia senza alcun guadagno. Quando inserisci SVG inline nel CSS o nell'HTML, codifica invece il markup in URL — è di solito più piccolo, resta leggibile dall'uomo e si comprime meglio con gzip/brotli. Riserva l'SVG in Base64 ai flussi che lo richiedono specificamente. Il nostro Codificatore/Decodificatore URL gestisce il percent-encoding.
- Imposta sempre il tipo MIME corretto
- Un data URI viene renderizzato solo se il suo tipo MIME corrisponde al contenuto: image/png, image/jpeg, image/gif, image/webp, image/svg+xml. Un tipo sbagliato o mancante è la ragione numero uno per cui un'immagine incorporata non si visualizza. Quando copi da questo strumento il tipo è impostato per te; se assembli i URI a mano, ricontrolla il prefisso.
- Comprimi prima di codificare
- Poiché Base64 aggiunge il ~33% sopra la dimensione del file, ridurre prima la sorgente paga due volte. Passa le immagini attraverso il nostro Compressore Immagini — o esportale alle dimensioni giuste — prima di codificarle, così il data URI risultante è il più piccolo possibile. Un PNG compresso da 4 KB batte un originale da 40 KB sia come file sia inline.
- Non affidarti mai a Base64 per la privacy
- Base64 è banalmente reversibile e non offre alcuna protezione. Non usarlo per oscurare contenuti immagine sensibili — chiunque può decodificarlo istantaneamente, anche con la scheda in questa pagina. Se il contenuto deve essere protetto, usa veri controlli di accesso e crittografia sul server, e servi l'immagine attraverso un endpoint autenticato.
Domande frequenti
Cosa fa questo convertitore da immagine a Base64?
Le mie immagini vengono caricate su un server?
Di quanto Base64 aumenta la dimensione di un'immagine?
Quando dovrei usare un'immagine Base64 invece di un file normale?
Quando NON dovrei usare immagini Base64?
Come uso l'output Base64 in HTML e CSS?
Quali formati immagine sono supportati?
Perché l'SVG è un caso speciale?
Base64 è la stessa cosa della crittografia?
Posso incorporare un'immagine Base64 in un'email?
Perché la mia immagine Base64 non viene renderizzata?
Strumenti correlati
Vedi tutti gli strumenti →Decodificatore e codificatore Base64
Codifica e formattazione
Decodifica e codifica Base64 online gratis. Conversione in tempo reale con pieno supporto UTF-8 ed emoji. 100% privato — gira nel tuo browser. Nessuna registrazione.
Convertitore da Base64 a immagine
Codifica e formattazione
Decodifica una stringa Base64 o un data URI in un'immagine nel tuo browser. Anteprima, dimensioni e MIME, poi scarica come PNG, JPG, GIF, SVG. Nessun upload.
Convertitore CSV in JSON
Codifica e formattazione
Converti CSV in JSON nel browser. RFC 4180, inferenza tipi, riga header, sicuro per big-int. 100% privato, nessun upload.
JSON Diff (Confronta)
Codifica e formattazione
Confronta due file JSON istantaneamente nel browser. Evidenziazione affiancata, output JSON Patch RFC 6902, ignora campi rumorosi come timestamp e ID. 100% privato, nessun upload.
Formattatore e Validatore JSON
Codifica e formattazione
Formatta, valida e abbellisci JSON direttamente nel browser. Strumento online gratuito con controllo sintassi, rilevamento errori, minifica e copia in un clic. 100% privato.
Validatore JSON Schema
Codifica e formattazione
Valida JSON contro qualsiasi JSON Schema istantaneamente nel browser. Supporta Draft 2020-12, 2019-09 e Draft-07 con messaggi di errore con percorso preciso. 100% privato — nessun upload, nessun account, gratis.