Décodeur d'Images Base64

Décode les data URIs Base64 en images visibles

Entrée Base64

Qu'est-ce que le décodage d'images Base64 ?

Le décodage d'images Base64 est l'inverse du codage d'images : il prend une string Base64 ou un data URI qui représente une image et le reconvertit en données binaires visibles. Lorsque vous recevez une string comme data:image/png;base64,iVBORw0KGgo..., le décodage supprime le préfixe data URI, inverse le codage Base64 défini dans RFC 4648 et reconstruit les octets originaux de l'image. Le navigateur peut alors afficher les octets décodés sous forme d'image visible.

Les data URIs (RFC 2397) regroupent le type MIME et le contenu codé en Base64 dans une seule string. Ils apparaissent fréquemment dans les réponses API, le code source des e-mails HTML, les feuilles de style CSS et les enregistrements de base de données où les images sont stockées sous forme de texte plutôt que de fichiers binaires. Décoder ces strings est nécessaire pour prévisualiser l'image, vérifier son contenu ou l'enregistrer en tant que fichier autonome. Comme Base64 utilise 4 caractères ASCII pour représenter chaque 3 octets de données binaires, la string codée est toujours environ 33% plus grande que l'image originale.

Cet outil analyse à la fois les data URIs complets (data:image/png;base64,...) et les strings Base64 brutes sans le préfixe data:. Pour les strings brutes, le format de l'image est détecté automatiquement en inspectant les premiers caractères Base64, qui correspondent aux octets magiques du fichier — par exemple, iVBORw0KGgo indique toujours un fichier PNG. L'image décodée est affichée directement dans le navigateur et peut être téléchargée en tant que fichier.

Un scénario courant est de travailler avec une API REST qui renvoie une photo de profil ou une miniature de document sous forme de string Base64 dans un champ JSON — par exemple, {"avatar": "data:image/png;base64,iVBORw0KGgo..."}. Pour utiliser l'image, vous extrayez la valeur du champ, supprimez le préfixe data URI jusqu'à la virgule incluse, puis alimentez les caractères Base64 restants via un décodeur tel que atob() en JavaScript ou base64.b64decode() en Python pour récupérer les octets bruts. Coller la valeur complète dans cet outil ignore toutes ces étapes manuelles et affiche l'image immédiatement.

Pourquoi utiliser ce décodeur d'images Base64 ?

Cet outil convertit les données d'images Base64 en image visible et téléchargeable entièrement dans ton navigateur — pas de téléversement, pas de traitement serveur, pas de compte requis.

Aperçu instantané
Colle une string Base64 ou un data URI et vois l'image décodée immédiatement. Pas d'attente du traitement côté serveur — le navigateur décode et affiche le résultat localement.
🔒
Traitement axé sur la confidentialité
Tes données d'image ne quittent jamais ton appareil. Le décodage s'exécute entièrement dans le navigateur en utilisant les APIs JavaScript natives. Aucune string Base64 n'est transmise à un serveur.
🖼️
Détection automatique du format
Prend en charge PNG, JPEG, SVG, WebP, GIF, BMP et ICO. Le type MIME est extrait du préfixe data URI ou détecté automatiquement à partir des octets magiques Base64 lorsqu'aucun préfixe n'est présent.
📋
Télécharger le résultat
Enregistre l'image décodée sous forme de fichier avec l'extension appropriée. Le téléchargement utilise le format détecté — pas de renommage manuel de .txt en .png requis.

Cas d'usage du décodage d'images Base64

Débogage du frontend
Inspecte les images codées en Base64 intégrées dans le code source HTML, CSS ou JavaScript. Colle le data URI pour vérifier que l'image correcte est affichée avant le déploiement.
Inspection des réponses API
Les APIs REST et GraphQL renvoient souvent des images sous forme de strings Base64 dans les charges utiles JSON — avatars utilisateur, miniatures de documents ou codes QR. Décode-les pour vérifier que le contenu correspond aux attentes.
Développement de modèles d'e-mail
Les e-mails HTML intègrent fréquemment des images sous forme de data URIs pour contourner le blocage des images externes. Décode le Base64 pour prévisualiser ce que les destinataires verront sans envoyer un e-mail de test.
Vérification des enregistrements de base de données
Lorsque les images sont stockées sous forme de texte Base64 dans les colonnes de base de données (champs MongoDB, PostgreSQL text), décode les exemples d'enregistrements pour confirmer l'intégrité des données après les migrations ou importations.
Analyse de sécurité
Inspecte les charges utiles d'images Base64 suspectes dans les journaux, e-mails ou le trafic Web. Le décodage révèle le contenu réel de l'image et son format, aidant à identifier les pixels de suivi ou les données incorporées inattendues.
Apprentissage et éducation
Comprends le fonctionnement du codage Base64 en codant une image, puis en la décodant. Comparez le fichier original avec le résultat reconverti pour vérifier que Base64 est un codage sans perte.

Structure data URI pour les images

Un data URI empaquette le type d'image et le contenu codé dans une seule string. Chaque composant est essentiel pour un décodage correct : le schéma (data:) signale que l'URL est autonome plutôt qu'une référence à une ressource externe ; le type MIME (par exemple, image/png) indique au moteur de rendu quel format utiliser lors de l'interprétation des octets bruts ; le marqueur ;base64, distingue le contenu codé en Base64 des data URIs qui utilisent l'encodage en pourcentage pour les formats de texte brut. La charge utile Base64 elle-même peut se terminer par un ou deux caractères de remplissage = — ceux-ci sont nécessaires lorsque le nombre d'octets d'entrée n'est pas un multiple de trois, garantissant que la longueur codée est toujours un multiple de quatre. L'omission ou la troncature de l'un de ces composants cause l'échec du décodage ou produit une image corrompue.

ComposantDescription
data:URI scheme identifier
image/pngMIME type declaring the image format
;base64,Encoding declaration (always base64 for binary)
iVBORw0KGgo...Base64-encoded pixel data

Détection du format d'image à partir de Base64

Lorsqu'une string Base64 ne dispose pas d'un préfixe data:, le format de l'image peut être identifié en inspectant les premiers caractères. Ces caractères correspondent aux octets magiques du fichier — des séquences d'octets fixes au début de chaque fichier image qui identifient le format :

FormatPréfixe Base64Signature hexadécimaleType MIME
PNGiVBORw0KGgo89 50 4E 47image/png
JPEG/9j/FF D8 FFimage/jpeg
GIFR0lGOD47 49 46 38image/gif
WebPUklGR52 49 46 46image/webp
SVGPHN2Zy3C 73 76 67 (text)image/svg+xml
BMPQk42 4Dimage/bmp
ICOAAABAA00 00 01 00image/x-icon

Exemples de code

Comment décoder les strings d'images Base64 en fichiers d'image dans les langages et environnements populaires :

JavaScript (browser)
// Decode a Base64 data URI to a Blob and create a download link
const dataUri = 'data:image/png;base64,iVBORw0KGgo...'

// Method 1: fetch API (simplest)
const res  = await fetch(dataUri)
const blob = await res.blob()
// blob.type → "image/png", blob.size → 2048

// Method 2: manual decode for older environments
const [header, b64] = dataUri.split(',')
const mime    = header.match(/:(.*?);/)[1]   // → "image/png"
const binary  = atob(b64)
const bytes   = Uint8Array.from(binary, c => c.charCodeAt(0))
const blob2   = new Blob([bytes], { type: mime })

// Create a download link
const url = URL.createObjectURL(blob)
const a   = document.createElement('a')
a.href = url
a.download = 'decoded.png'
a.click()
URL.revokeObjectURL(url)
Python
import base64
import re

data_uri = 'data:image/png;base64,iVBORw0KGgo...'

# Parse the data URI
match = re.match(r'data:(image/[\w+.-]+);base64,(.+)', data_uri)
mime_type = match.group(1)    # → "image/png"
b64_data  = match.group(2)

# Decode and write to file
image_bytes = base64.b64decode(b64_data)
ext = mime_type.split('/')[1].replace('jpeg', 'jpg').replace('svg+xml', 'svg')

with open(f'output.{ext}', 'wb') as f:
    f.write(image_bytes)
# → writes output.png (byte-for-byte identical to the original)

# Decode raw Base64 (no data: prefix)
raw_b64 = 'iVBORw0KGgo...'
image_bytes = base64.b64decode(raw_b64)
Node.js
import { writeFileSync } from 'fs'

const dataUri = 'data:image/png;base64,iVBORw0KGgo...'

// Extract MIME type and Base64 payload
const [meta, b64] = dataUri.split(',')
const mime = meta.match(/:(.*?);/)[1]  // → "image/png"

// Decode to Buffer and save
const buffer = Buffer.from(b64, 'base64')
writeFileSync('output.png', buffer)
// → output.png (identical to the original file)

// Validate by checking magic bytes
console.log(buffer.subarray(0, 4))
// PNG → <Buffer 89 50 4e 47>  (\x89PNG)
// JPEG → <Buffer ff d8 ff e0>
CLI (bash)
# Decode a raw Base64 string to an image file (Linux)
echo 'iVBORw0KGgo...' | base64 -d > output.png

# Decode a raw Base64 string to an image file (macOS)
echo 'iVBORw0KGgo...' | base64 -D > output.png

# Extract Base64 from a data URI and decode
echo 'data:image/png;base64,iVBORw0KGgo...' | \
  sed 's/^data:.*base64,//' | base64 -d > output.png

# Identify the image format from the decoded file
file output.png
# → output.png: PNG image data, 64 x 64, 8-bit/color RGBA

Questions fréquemment posées

Quelle est la différence entre un data URI et une string Base64 brute ?
Un data URI comprend un préfixe qui déclare le type MIME et le codage : data:image/png;base64,iVBORw0KGgo.... Une string Base64 brute contient uniquement les octets codés (iVBORw0KGgo...) sans métadonnées. Cet outil accepte les deux formats. Lorsque tu colles une string brute, il détecte le format de l'image automatiquement à partir des octets magiques Base64.
Le décodage de Base64 modifie-t-il la qualité de l'image ?
Non. Base64 est un codage sans perte qui convertit les données binaires en texte ASCII et inversement sans modifier un seul octet. L'image décodée est byte-for-byte identique au fichier original. Toute différence de qualité que tu remarques provient du format d'image lui-même (par exemple, la compression JPEG appliquée avant le codage), pas de l'étape de décodage Base64.
Comment puis-je dire quel format est une image Base64 ?
Si la string commence par data:image/png;base64, le format est déclaré dans le type MIME. Pour les strings Base64 brutes, inspecte les premiers caractères : iVBORw0KGgo indique PNG, /9j/ indique JPEG, R0lGOD indique GIF, et UklGR indique WebP. Ces préfixes correspondent aux octets magiques de chaque format.
Pourquoi ma string Base64 ne peut-elle pas être décodée ?
Les causes courantes incluent les données tronquées (la string a été coupée lors du copier-coller), les caractères incorrects (Base64 utilise A–Z, a–z, 0–9, +, / et = pour le remplissage), les espaces incorporés ou les sauts de ligne, et un préfixe data URI manquant ou mal formé. Cet outil supprime automatiquement les espaces, mais les données tronquées ou corrompues ne peuvent pas être récupérées.
Est-il sûr de décoder les images Base64 de sources non fiables ?
Cet outil décode et affiche les images dans le sandbox du navigateur, qui les isole de ton système. Cependant, les images SVG peuvent contenir du JavaScript incorporé. Les navigateurs modernes bloquent l'exécution de scripts dans SVG rendu via des balises img ou des data URIs, mais sois prudent avec les SVGs de sources non fiables. L'outil n'exécute aucun script à partir des images décodées.
Puis-je décoder les images Base64 sans connexion Internet ?
Oui, une fois la page chargée. Tous les décodages s'exécutent localement dans ton navigateur en utilisant les APIs JavaScript natives (atob, Uint8Array, Blob). Aucune demande réseau n'est effectuée pendant le processus de décodage. L'outil fonctionne de manière identique hors ligne.
Quelle est la longueur maximale de string Base64 que cet outil peut gérer ?
La limite pratique dépend de la mémoire de ton navigateur. La plupart des navigateurs modernes gèrent les data URIs de plusieurs mégaoctets sans problème. Pour les très grandes images (10 MB+ codées), tu pourrais expérimenter un rendu plus lent. À cette taille, décoder par programme avec Node.js ou Python et écrire directement dans un fichier est plus efficace qu'utiliser un outil basé sur navigateur.