Da Base64 a Immagine

Input Base640 Caratteri

Converti stringhe Base64 in immagini visualizzabili e scaricabili online. Supporta oltre 7 formati comuni tra cui PNG/JPG/WebP/GIF/SVG. Riconosce automaticamente il prefisso Data URL, anteprima direttamente nel browser, ideale per il debug di API e la verifica della codifica.

Raccomandazioni correlate

Cos'è la conversione da Base64 a immagine?

La conversione da Base64 a immagine è il processo inverso della codifica Base64: ripristina la stringa codificata Base64 nei dati binari originali dell'immagine (come formati PNG / JPG / WebP / GIF / SVG ecc.), consentendo l'anteprima direttamente nel browser o il download come file immagine locale. È uno strumento indispensabile per gestire immagini restituite da API, risorse inline (Data URL) e allegati email in Base64.

**Principio fondamentale:** Base64 codifica i dati binari in 64 caratteri ASCII stampabili (A-Z, a-z, 0-9, +, /). La conversione in immagine ripristina questa stringa ASCII nel flusso di byte binario originale, che viene poi interpretato dal browser come pixel dell'immagine in base al tipo MIME specificato (come image/png). Il Data URL (es. `data:image/png;base64,iVBORw0KGgo...`) è una combinazione di Base64 + prefisso MIME, che lo strumento riconosce e gestisce automaticamente.

**Scenari di utilizzo tipici:** ①Debug API: molte API restituiscono codici di verifica, avatar utente e firme elettroniche direttamente come stringhe Base64 che devono essere visualizzate nel frontend; ②Sviluppo frontend: le piccole icone incorporate nei Data URL (CSS background-image: url(data:image/png;base64,...)) possono essere incollate nello strumento per verificarne l'aspetto; ③Ripristino allegati email: gli allegati codificati in MIME Base64 possono essere decodificati e salvati come immagini originali; ④Dati da web scraping: le immagini Base64 acquisite possono essere decodificate e salvate come file locali; ⑤Pre-elaborazione OCR: decodifica le immagini per il riconoscimento con strumenti OCR.

**Formati di immagine supportati:** Lo strumento supporta tutti i tipi MIME di immagine riconosciuti nativamente dai browser: PNG (image/png), JPG/JPEG (image/jpeg), WebP (image/webp), GIF (image/gif), SVG (image/svg+xml), BMP (image/bmp), AVIF (image/avif), ICO (image/x-icon) ecc. Ogni formato ha algoritmi di compressione e casi d'uso diversi: PNG è senza perdita per icone e screenshot, JPG con perdita per fotografie, WebP è consigliato per i browser moderni, SVG vettoriale per icone e logo.

**Sicurezza della decodifica:** Tutte le operazioni di decodifica vengono eseguite nel browser tramite JavaScript (basato su `atob()` + `TextDecoder` o API `Blob`), i dati binari dell'immagine non vengono caricati su alcun server. Le stringhe Base64 contenenti informazioni sensibili (come avatar utente, screenshot interni) possono essere utilizzate in sicurezza, tutti i dati vengono eliminati automaticamente alla chiusura della pagina.

Casi d'uso

  • Ripristinare i dati immagine Base64 restituiti dalle API in file immagine visualizzabili e scaricabili
  • Verificare che le risorse immagine inline del frontend (formato Data URL) siano codificate correttamente
  • Confermare che il contenuto Base64 sia completo durante il debug delle API di caricamento immagini
  • Salvare immagini Base64 come file PNG/JPG locali per la progettazione o la documentazione
  • Decodificare e ripristinare immagini da allegati email codificati in Base64
  • Ripristinare e salvare su disco immagini Base64 acquisite tramite web scraping
  • Decodificare Data URL per verificare l'aspetto effettivo delle icone SVG
  • Ripristinare e visualizzare come file locali le immagini Base64 restituite da API OCR / AI

Come utilizzare

  1. Incolla i dati dell'immagine codificata in Base64 (supporta sia con che senza prefisso Data URL, es. data:image/png;base64,iVBORw0KG...)
  2. Lo strumento rileva automaticamente il tipo MIME e decodifica (lo riconosce nel Data URL o lo deduce dall'intestazione del contenuto)
  3. Sulla destra vengono visualizzati in tempo reale l'anteprima dell'immagine, la dimensione del file e le informazioni sulle dimensioni
  4. Fai clic su «Scarica» per salvare come file immagine locale, oppure fai clic con il tasto destro sull'immagine e seleziona «Salva immagine come»
  5. Se la decodifica fallisce, puoi specificare manualmente il tipo MIME o preelaborare i dati con lo strumento Base64 Clean

Funzionalità

  • Anteprima immagine online: dopo la decodifica, l'immagine viene visualizzata direttamente nel browser senza doverla scaricare localmente
  • Supporto multiformato: supporta oltre 7 tipi MIME di immagini comuni tra cui PNG / JPG / WebP / GIF / SVG / BMP / AVIF
  • Riconoscimento automatico Data URL: rimuove automaticamente il prefisso data:image/png;base64, estraendo il contenuto Base64 puro per la decodifica
  • Input Base64 puro: supporta stringhe Base64 senza prefisso, con possibilità di specificare il tipo MIME
  • Download file immagine: consente di salvare l'immagine decodificata come file PNG/JPG locale con un clic
  • Conteggio caratteri in tempo reale: mostra in tempo reale il numero di caratteri in input e i byte dopo la decodifica, per valutare la dimensione dell'immagine
  • Rilevamento errori: in caso di decodifica fallita, indica la posizione specifica dell'errore (caratteri Base64 non validi, lunghezza errata, MIME non corrispondente)
  • Zero caricamenti sul server: tutta la decodifica e l'anteprima avvengono nel browser, senza passare per alcun server
  • Compatibilità inversa completa: funziona in coppia con lo strumento «Immagine in Base64» per un flusso di lavoro di conversione bidirezionale completo

Esempi di codice

JavaScript: decodifica nativa nel browser + anteprima Blob URL

javascript

Utilizza le API native del browser atob() + TextDecoder + Blob per decodificare Base64 e visualizzare l'immagine nel browser.

// Base64 → Immagine (implementazione nativa browser)
function base64ToImage(base64String, mimeType = 'image/png') {
  // 1. Rimuovi il prefisso Data URL (se presente)
  const clean = base64String.replace(/^data:image\/\w+;base64,/, '');

  // 2. Decodifica con atob() nativo del browser in stringa binaria
  const binary = atob(clean);

  // 3. Converti in Uint8Array
  const bytes = new Uint8Array(binary.length);
  for (let i = 0; i < binary.length; i++) {
    bytes[i] = binary.charCodeAt(i);
  }

  // 4. Crea Blob URL per l'anteprima nel tag <img>
  const blob = new Blob([bytes], { type: mimeType });
  const url = URL.createObjectURL(blob);

  // 5. Imposta img.src per visualizzare l'anteprima
  const img = document.createElement('img');
  img.src = url;
  img.onload = () => {
    console.log(`Dimensioni immagine: ${img.width}x${img.height}`);
    console.log(`Dimensione file: ${bytes.byteLength} bytes`);
  };

  return { img, url, size: bytes.byteLength };
}

// Esempio di utilizzo:
const result = base64ToImage('iVBORw0KGgoAAAANSUhEUgAAAAUA...');
document.body.appendChild(result.img);

// Rilascia Blob URL (evita perdite di memoria)
setTimeout(() => URL.revokeObjectURL(result.url), 60000);

Python: decodifica con libreria base64 e salvataggio immagine

python

Decodifica i dati Base64 in flusso binario dell'immagine con la libreria standard base64 di Python, poi salva con PIL/Pillow o operazioni su file integrate.

import base64
from pathlib import Path

def base64_to_image(base64_string: str, output_path: str, mime_type: str = 'image/png'):
    """Decodifica la stringa Base64 e salva come file immagine"""

    # 1. Rimuovi il prefisso Data URL
    if base64_string.startswith('data:image'):
        # Formato: data:image/png;base64,iVBORw0...
        header, base64_string = base64_string.split(',', 1)
        # Estrai automaticamente MIME dall'header
        if 'image/' in header:
            mime_type = header.split('data:')[1].split(';')[0]

    # 2. Decodifica
    image_bytes = base64.b64decode(base64_string)

    # 3. Salva su file
    output_file = Path(output_path)
    output_file.parent.mkdir(parents=True, exist_ok=True)
    output_file.write_bytes(image_bytes)

    print(f"✅ Salvato: {output_file}")
    print(f"   Dimensione file: {len(image_bytes):,} bytes")
    print(f"   Tipo MIME: {mime_type}")

    return output_file


# Esempio di utilizzo:
# 1. Stringa Base64 ottenuta da una risposta API
api_base64_response = "iVBORw0KGgoAAAANSUhEUgAA..."

# 2. Decodifica e salva
base64_to_image(api_base64_response, 'output/captcha.png')

# 3. Opzionale: ulteriore elaborazione con PIL
try:
    from PIL import Image
    img = Image.open('output/captcha.png')
    print(f"Dimensioni immagine: {img.size}")
    img.save('output/captcha.png', optimize=True)
except ImportError:
    print('Installa Pillow per elaborare le immagini: pip install Pillow')

Java: decodifica immagine con java.util.Base64 + ImageIO

java

Decodifica il flusso binario dell'immagine con Base64 della libreria standard Java, in combinazione con ImageIO / BufferedImage per gestire i metadati dell'immagine.

import java.io.*;
import java.util.Base64;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;

public class Base64ToImage {
    public static void main(String[] args) throws Exception {
        String base64String = "iVBORw0KGgoAAAANSUhEUgAA...";
        String mimeType = "image/png";

        // 1. Rimuovi il prefisso Data URL (se presente)
        if (base64String.startsWith("data:image")) {
            int commaIdx = base64String.indexOf(',');
            String header = base64String.substring(0, commaIdx);
            base64String = base64String.substring(commaIdx + 1);
            // Estrai MIME dall'header
            if (header.contains("image/")) {
                mimeType = header.substring(header.indexOf("data:") + 5, header.indexOf(";"));
            }
        }

        // 2. Decodifica Base64
        byte[] imageBytes = Base64.getDecoder().decode(base64String);

        // 3. Salva su file
        String extension = mimeType.substring("image/".length());
        File outputFile = new File("output." + extension);
        try (FileOutputStream fos = new FileOutputStream(outputFile)) {
            fos.write(imageBytes);
        }
        System.out.println("✅ Salvato: " + outputFile.getAbsolutePath());
        System.out.println("   Dimensione file: " + imageBytes.length + " bytes");

        // 4. (Opzionale) Leggi metadati dell'immagine
        ByteArrayInputStream bais = new ByteArrayInputStream(imageBytes);
        BufferedImage image = ImageIO.read(bais);
        if (image != null) {
            System.out.println("Dimensioni immagine: " + image.getWidth() + "x" + image.getHeight());
        }
    }
}

Domande frequenti

Quali formati di immagine sono supportati?

Sono supportati tutti i tipi MIME di immagine riconosciuti nativamente dai browser, tra cui PNG, JPG, WebP, GIF, SVG, BMP, AVIF, ICO. Lo strumento determina automaticamente il formato in base al prefisso MIME nel Data URL o alle caratteristiche dell'input, oppure è possibile specificare manualmente il tipo MIME nell'interfaccia. Selezionare il formato corretto garantisce che il browser decodifichi e visualizzi l'immagine correttamente.

L'input richiede il prefisso data:image/png;base64?

No. Lo strumento supporta due formati di input: ①Stringa Base64 pura (es. iVBORw0KGgoAA...), per la quale è necessario selezionare il tipo MIME nell'interfaccia (es. PNG / JPG); ②Formato Data URL (es. data:image/png;base64,iVBORw0KGgo...), per il quale lo strumento riconosce automaticamente il tipo MIME nel prefisso e decodifica. Entrambe le modalità di input sono supportate.

È possibile visualizzare l'anteprima direttamente nel browser?

Sì. L'immagine decodificata viene visualizzata direttamente nel browser tramite Blob URL, supportando l'anteprima online. Dopo aver verificato che il contenuto sia corretto, puoi scaricarla come file locale o copiare il Data URL per l'incorporamento in HTML/CSS. L'intero processo di anteprima non richiede richieste di rete.

Qual è la differenza con lo strumento Base64 a file?

Base64 a immagine è ottimizzato specificamente per i formati immagine: ①riconosce automaticamente il tipo MIME; ②mostra l'anteprima direttamente nel browser tramite Blob URL; ③imposta automaticamente l'estensione del file in base al MIME (.png / .jpg ecc.); ④visualizza le informazioni sulle dimensioni dell'immagine. Base64 a file è uno strumento generico adatto al ripristino e al download di qualsiasi file binario (come PDF, ZIP, audio ecc.).

Cosa fare se l'immagine dopo la decodifica viene visualizzata incompleta?

Possibili cause: ①la stringa Base64 è stata troncata (verifica che la lunghezza sia completa); ②il tipo MIME è stato specificato in modo errato (es. dati PNG decodificati come JPG); ③i dati originali sono già danneggiati. Suggerimenti: ①verifica che la stringa Base64 di origine sia completa; ②prova a cambiare tipo MIME; ③controlla la validità con lo strumento Base64 Validate.

Quanto è più grande Base64 rispetto all'immagine originale?

La codifica Base64 aumenta la dimensione dei dati binari originali di circa il 33% (3 byte → 4 caratteri). Ad esempio, una PNG da 100KB dopo la codifica diventa una stringa Base64 di circa 133KB. Pertanto Base64 è adatto per immagini piccole (< 10KB), per immagini grandi è consigliabile utilizzare direttamente URL HTTP per il trasferimento.

È supportato il formato vettoriale SVG?

Sì. SVG è un formato di immagine vettoriale basato su XML, dopo la codifica Base64 può essere incorporato direttamente in HTML <img> o CSS background-image. Dopo la decodifica viene renderizzato come vettoriale nel browser, consentendo lo zoom senza perdita di qualità. Nota che SVG potrebbe contenere codice JavaScript, prestare attenzione alla sicurezza XSS durante l'utilizzo.

Come salvare nel formato specificato?

Dopo la decodifica fai clic sul pulsante di download, lo strumento aggiungerà automaticamente l'estensione corrispondente in base al tipo MIME utilizzato per la decodifica (image/png → .png, image/jpeg → .jpg). Se è necessaria la conversione del formato (es. PNG → JPG), si consiglia di decodificare prima e poi convertire con altri strumenti (come Canvas / ImageMagick).

L'immagine dopo la decodifica è vuota o danneggiata?

Cause comuni: ①Base64 contiene caratteri di nuova riga o spazi non rimossi: preelabora prima con lo strumento Base64 Clean; ②mancanza di padding (=): questo strumento lo completa automaticamente; ③il tipo MIME non corrisponde ai dati originali: verifica il Content-Type restituito dall'API di origine o prova manualmente altri MIME; ④la stringa Base64 di origine è stata troncata durante il trasferimento: ottieni nuovamente la stringa completa.

Sono supportate immagini grandi (>10MB)?

Sì, ma le prestazioni di rendering del browser diminuiscono per immagini molto grandi. La decodifica di 10MB di Base64 (circa 7,5MB di immagine originale) è generalmente fluida; oltre i 50MB potrebbero verificarsi avvisi di memoria. Suggerimenti: ①prima usa base64-clean per rimuovere gli spazi; ②decodifica le immagini grandi in blocchi; ③verifica che la memoria del browser sia sufficiente (consigliati 4GB+).

Risoluzione dei problemi

Immagine vuota dopo la decodifica

Possibile mancata corrispondenza del tipo MIME o Base64 incompleto. Verifica: 1) l'intestazione Content-Type restituita dall'API di origine; 2) cambia manualmente il tipo MIME e riprova; 3) conferma che la stringa Base64 sia completa (lunghezza come previsto).

Decodifica fallita: InvalidCharacterError

La stringa Base64 contiene caratteri non validi (spazi, nuove righe, caratteri cinesi ecc.). Prima usa lo strumento Base64 Clean per rimuovere tutti gli spazi e i caratteri non validi, poi effettua la conversione.

Estensione del file scaricato errata

Verifica che il tipo MIME durante la decodifica corrisponda all'immagine originale. Ad esempio, se l'API restituisce image/jpeg ma i dati Base64 sono effettivamente PNG, dopo il download l'estensione sarà .jpg ma il formato effettivo è PNG. Si consiglia di confermare il formato originale dal prefisso MIME o dall'intestazione Content-Type.

Il browser si blocca durante la decodifica di immagini grandi

Stringhe Base64 superiori a 50MB possono causare esaurimento della memoria. Suggerimenti: ①prima usa lo strumento base64-clean per rimuovere i caratteri di spazio; ②decodifica le immagini grandi in lotti (es. suddividendo in tile); ③verifica che la memoria del browser sia sufficiente (consigliati 4GB+ di memoria disponibile); ④utilizza script lato server Node.js / Python per elaborare immagini molto grandi.

Impossibile visualizzare l'immagine SVG dopo la decodifica

SVG è un formato vettoriale basato su XML, dopo la decodifica devi assicurarti che: 1) il tipo MIME sia image/svg+xml; 2) SVG non contenga caratteri speciali non escape; 3) alcuni browser applicano restrizioni di sicurezza al codice JavaScript in SVG. Si consiglia di verificare prima la validità di SVG con uno strumento di analisi XML.

Glossario

Base64
Metodo di codifica che rappresenta dati binari utilizzando 64 caratteri ASCII, definito in RFC 4648. Questo strumento esegue l'operazione inversa: ripristina la stringa Base64 nel binario originale dell'immagine.
Data URL
Formato URL inline definito in RFC 2397: data:image/<MIME>;base64,<dati>. Può essere utilizzato direttamente in HTML img src e CSS background-image. Questo strumento riconosce e rimuove automaticamente il prefisso.
Tipo MIME
Tipo di media Internet, come image/png, image/jpeg. Il browser determina come interpretare il flusso di byte come immagine in base al MIME.
PNG
Formato bitmap con compressione senza perdita, supporta il canale alpha. Comunemente usato per icone, screenshot e immagini che richiedono dettagli. Dopo la codifica Base64, la dimensione è circa 1,33 volte l'originale.
JPG/JPEG
Formato bitmap con compressione con perdita, adatto per fotografie. Alto rapporto di compressione ma non supporta la trasparenza. Dopo la codifica Base64, la dimensione è circa 1,33 volte l'originale.
WebP
Formato immagine moderno sviluppato da Google, supporta sia compressione con perdita che senza perdita e il canale alpha. È più piccolo del 25-35% rispetto a PNG/JPG.
Blob (Binary Large Object)
Oggetto binario nativo del browser, può incapsulare il flusso di byte decodificato da Base64 in un Blob URL per l'anteprima e il download dell'immagine.

Tabella di confronto di 8 formati immagine

Diversi formati immagine hanno diversi algoritmi di compressione, caratteristiche e casi d'uso.

FormatoTipo MIMETipo di compressioneSupporto trasparenzaCaso tipico
PNGimage/pngSenza perditaIcone / Screenshot / Logo
JPGimage/jpegCon perditaFotografie / Immagini paesaggistiche
WebPimage/webpCon/senza perditaConsigliato per Web moderno
GIFimage/gifSenza perdita (256 colori)✅ (1-bit)Piccole animazioni / Icone semplici
SVGimage/svg+xmlVettorialeLogo / Icone / Illustrazioni
BMPimage/bmpNessunaOpzionaleImmagini di sistema Windows
AVIFimage/avifCon/senza perditaFormato immagine di prossima generazione
ICOimage/x-iconSenza perditaFavicon del sito

Confronto tra caricamento immagini Data URL e HTTP URL

Le immagini dopo la decodifica possono essere incorporate direttamente in HTML/CSS come Data URL, ecco un confronto con il tradizionale HTTP URL.

DimensioneData URLHTTP URL
Numero di richieste HTTP01
Riuso della cacheDifficileFacile (CDN / browser)
DimensioneOriginale + 33%Dimensione originale
Dimensione adatta< 10 KBQualsiasi dimensione
Trasferimento compressoNo (già codificato)gzip / Brotli
Limitazioni CSPPossibiliGeneralmente consentito
Archiviazione serverNon necessariaNecessaria
Accesso offline✅ (a livello di file)❌ (richiede cache)

Tabella di 5 errori comuni nella conversione da Base64 a immagine

In caso di errori di decodifica, utilizza questa tabella per identificare rapidamente il problema.

Sintomo dell'errorePossibile causaSoluzione
Decodifica fallita: InvalidCharacterErrorContiene spazi, nuove righe o caratteri non Base64Preelabora con lo strumento Base64 Clean
Immagine visualizzata vuotaIl tipo MIME non corrisponde ai dati originaliCambia al MIME corretto (es. dati PNG con image/png)
Immagine visualizzata incompletaLa stringa Base64 è stata troncataOttieni nuovamente la stringa Base64 completa
Errore di paddingBase64 URL-safe omette il paddingUsa lo strumento Base64 Padding per completare =
Memoria del browser esauritaImmagine troppo grande (> 50MB)Decodifica in blocchi o usa uno strumento di compressione immagini

Authoritative References