Encodage

Data URI / Image Base64

Encodage d'une image en Data URI (data:image/…;base64,…) pour l'insérer dans CSS/HTML, et décodage d'un Data URI ou de Base64 brut vers un fichier — le tout directement dans le navigateur.

L'aperçu de l'image apparaîtra ici.

A Data URI embeds a file's contents (usually an image) directly into HTML or CSS as a Base64 string, instead of linking to a separate file. This removes an extra network request at the cost of a larger document.

How to use it

Common uses

Things to keep in mind

Base64 encoding grows the data by about 33% — for large images, a Data URI is usually a worse choice than a separate file with browser caching.

A Data URI isn't cached separately from the document it's embedded in — it gets re-downloaded along with the page every time.

Article sur cet outil: Data URI : quand intégrer une image directement dans le code

Questions fréquentes

À quoi sert un Data URI ?

Un Data URI intègre directement le contenu d'un fichier, comme une image, dans du CSS ou du HTML sous forme de texte Base64, évitant une requête réseau séparée. C'est pratique pour de petites icônes ou images utilisées une seule fois.

Y a-t-il des limites à l'usage des Data URI ?

Oui, la taille de l'image encodée en Base64 augmente d'environ 33 %, et certains navigateurs ou clients email imposent des limites de taille sur les URLs ou attributs. Contrairement à une vraie URL de fichier, un Data URI n'est pas mis en cache séparément par le navigateur.

Mon image est-elle envoyée sur un serveur ?

Non, l'encodage et le décodage se font entièrement dans votre navigateur. Aucune image n'est transmise à un serveur.

Peut-on utiliser un Data URI pour un SVG sans Base64 ?

Oui. Le SVG est du texte (XML), donc au lieu du Base64, un percent-encoding des caractères spéciaux suffit : data:image/svg+xml,%3Csvg...%3E. Cette approche est plus compacte et reste éditable directement dans un fichier CSS.

Peut-on insérer un Data URI dans un attribut href ou background-image ?

Oui, un Data URI fonctionne partout où une référence à une ressource est attendue — dans src, href, background-image en CSS et même dans @import. La syntaxe et les limites de taille sont les mêmes que pour la balise img.

Articles : Encodage

Base64 : à quoi sert l'encodage et comment il fonctionne

Comment Base64 transforme des données binaires en texte ASCII, et quand c'est réellement utile.

Base32 : en quoi il diffère de Base64 et quand il est plus pratique

L'alphabet de Base32, insensible à la casse, et les cas où il est plus pratique que Base64.

URL Encode/Decode : le percent-encoding dans les liens

Comment les caractères spéciaux d'une URL et de ses paramètres deviennent des séquences %XX.

HTML Entities : afficher des caractères spéciaux en toute sécurité

Pourquoi les caractères < > & doivent être échappés, et comment cela évite de casser le balisage.

JWT : structure du token et ce que signifie « décoder » un JWT

Le header, le payload et la signature d'un JWT, et pourquoi décoder n'est pas la même chose que vérifier la signature.

Unicode Escape : que signifient les séquences \uXXXX

D'où viennent les séquences du type \u0041 dans le JSON et les chaînes JS, et ce qu'elles signifient.

ROT13 et le chiffre de César : une simple substitution de caractères

Pourquoi un décalage de 13 lettres rend ROT13 auto-inverse, et pourquoi on l'utilise encore aujourd'hui.

Punycode : comment les domaines internationalisés fonctionnent dans le DNS

Comment un domaine avec des caractères non latins devient une forme ASCII avec le préfixe xn--.

Le morse : comment le texte devient des points et des traits

Le principe de l'encodage des lettres en points et traits, et où le morse est encore utilisé aujourd'hui.

Gzip + Base64 : compresser des données pour les transmettre en texte

Pourquoi des données binaires compressées sont aussi encodées en Base64 avant d'être placées dans un champ texte.

XML Entities : échapper les caractères dans les documents XML

Les cinq entités XML obligatoires, sans lesquelles le document se casse à l'analyse.