araç köşesi

Du Base64 vers l'image

Décodez un code Base64 ou un data URI, prévisualisez l'image et téléchargez le fichier

Vos données restent chez vous. La conversion se fait dans le navigateur ; rien n'est envoyé à un serveur.

Comment ça marche

Collez le code Base64 dans le panneau d'entrée : si l'image est valide, l'aperçu apparaît aussitôt et le bouton de téléchargement enregistre le fichier avec la bonne extension. Inutile de nettoyer le code avant de le coller : la ligne url('data:image/png;base64,…') d'un fichier CSS avec ses guillemets, ou la valeur src copiée telle quelle d'une page HTML, conviennent — l'outil repère le data URI lui-même et retire les sauts de ligne et les restes de guillemets. Par exemple, en collant la ligne d'un logo de 40 Ko incrusté dans un gabarit d'e-mail, vous lirez dans la ligne de résultat un bilan du type « PNG · 40 Ko · 200×80 px » ; le type du fichier n'est pas pris dans l'étiquette du début du code mais dans les premiers octets de la donnée décodée, la signature du fichier. Le Base64URL sans tirets ni barres obliques, tel qu'il arrive dans un JWT ou une réponse d'API, est accepté de la même façon. Rien n'est envoyé nulle part : le décodage se fait entièrement dans votre navigateur.

Cet outil est aussi connu sous le nom de base64 en image, base64 to image, data uri en image, convertir base64 en png.

Qu'est-ce que Base64 ?

Le Base64 est l'encodage qui écrit une donnée binaire en texte à l'aide d'un alphabet sûr de 64 caractères ; cet outil fait l'opération inverse, le décodage. Au décodage, chaque groupe de 4 caractères redevient 3 octets : le fichier est donc environ un quart plus léger que sa forme encodée. Les signes = en fin de code sont du remplissage qui complète le compte d'octets ; s'ils se perdent à la copie, cet outil les restitue lui-même. Le Base64 n'est pas un chiffrement : quiconque lit le code peut retrouver la donnée, une image confidentielle ne devient donc pas secrète une fois encodée.

Qu'est-ce que Signature de fichier (octets magiques) ?

La signature de fichier est la suite fixe d'octets placée au tout début d'un fichier et qui trahit son type : un PNG commence toujours par les octets 89 50 4E 47, un JPG par FF D8 FF, un GIF par les lettres GIF87a ou GIF89a. Les systèmes d'exploitation se fient à l'extension, mais les programmes bien écrits font confiance à cette signature, car l'extension et l'étiquette d'un data URI sont écrites à la main et peuvent être fausses. Cet outil lit le type de la donnée décodée dans la signature : quoi que dise l'étiquette, le fichier est enregistré avec l'extension qui correspond à son vrai contenu et s'ouvre sans accroc.

Quelle différence entre Base64 et Base64URL ?

Les deux alphabets ne diffèrent que par deux caractères : le + et le / du Base64 standard deviennent - et _ en Base64URL. La raison est pratique — + et / ont un sens spécial dans les adresses web et les noms de fichiers, donc une donnée destinée à une URL ou à un JWT est encodée avec le jumeau sûr. Le Base64URL abandonne aussi le plus souvent le remplissage = final. Vous verrez l'alphabet standard dans les e-mails et les sources CSS, l'alphabet URL-safe dans les JWT et les jetons d'API. Cet outil accepte les deux : il ramène le tiret et le tiret bas à leurs équivalents standard, complète le remplissage manquant, puis décode la donnée.

Le code ne se décode pas : les trois causes les plus fréquentes

La première est la copie incomplète : un code Base64 tient sur une seule longue ligne et les éditeurs ne copient souvent que la partie visible. Si la fin manque, l'image ne s'ouvre pas du tout ou sort avec le bas abîmé — retournez à la source et sélectionnez la ligne entière.

La deuxième est la confusion d'alphabet : les JWT et certaines API produisent du Base64URL, qui remplace + par un tiret et / par un tiret bas ; cet outil reconnaît les deux alphabets et complète lui-même le remplissage = manquant. La troisième : la donnée n'est tout simplement pas une image. Le Base64 d'un PDF ou d'un texte se décode sans erreur, mais faute de signature d'image, l'outil affiche un avertissement qui liste les formats reconnus.

D'où vient l'extension ? La signature de fichier

L'étiquette du début d'un data URI, comme image/png, est une simple déclaration et peut être fausse. Plutôt que de s'y fier, cet outil regarde les premiers octets de la donnée décodée : un fichier PNG commence toujours par les huit mêmes octets, un JPG par FF D8 FF, un GIF par les lettres GIF8.

L'extension est choisie d'après cette signature : même si l'étiquette annonce du JPG, une donnée qui porte la signature PNG est enregistrée en .png. Un data URI mal étiqueté ne devient donc pas un fichier à mauvaise extension qui refuse de s'ouvrir dans certains programmes. PNG, JPG, GIF, WEBP, BMP, ICO, AVIF et SVG sont reconnus.

Questions fréquentes

Dois-je coller le data URI en entier ?

Les deux marchent : la ligne complète qui commence par data:image/png;base64,… ou le code nu situé après la virgule. L'enveloppe CSS url(), les guillemets et les sauts de ligne sont retirés automatiquement.

Quels formats d'image sont reconnus ?

PNG, JPG, GIF, WEBP, BMP, ICO, AVIF et SVG. Le type est déterminé par la signature de fichier de la donnée décodée, pas par l'étiquette du code ; si la signature n'est pas reconnue, un avertissement liste les formats acceptés.

La donnée collée part-elle vers un serveur ?

Non. Le décodage se fait entièrement dans votre navigateur ; ni le code ni l'image décodée ne sont envoyés nulle part. Vous pouvez donc l'utiliser sans risque avec une donnée copiée depuis un système interne.

Pourquoi mon code Base64 donne-t-il une erreur ?

La cause la plus fréquente est une copie incomplète : vérifiez que la longue ligne est sélectionnée en entier. Un code en alphabet Base64URL (avec tirets et tirets bas) n'est pas un problème, l'outil le décode aussi. Si la donnée n'est pas une image, le code se décode mais un avertissement de format s'affiche.