Qu'est-ce que le Base64 ?
Le Base64 est un encodage qui représente des données binaires en
utilisant uniquement 64 caractères imprimables ASCII
(A-Z a-z 0-9 + /, plus = pour le
padding). Chaque groupe de 3 octets binaires devient 4 caractères
Base64. C'est volontairement verbeux mais transportable sans
précaution dans des canaux qui n'acceptent que du texte (e-mail,
JSON, XML, URL, attributs HTML).
À quoi sert l'encodage Base64 ?
- E-mails : les pièces jointes binaires (PDF, images) sont historiquement encodées en Base64 par les MTAs.
- Data URLs : embarquer une image directement
dans du HTML / CSS sans requête HTTP supplémentaire
(
<img src="data:image/png;base64,…">). - JSON / API : transmettre des données binaires via une API REST quand le champ n'accepte que du texte.
- Configuration / secrets : encapsuler une clé ou un certificat binaire dans un fichier de configuration texte.
- QR codes et autres systèmes qui transportent des chaînes ASCII compactes.
Pourquoi le Base64 est-il « 33 % plus volumineux » que l'original ?
Chaque groupe de 3 octets binaires (24 bits) devient 4 caractères
Base64 (4 × 6 bits = 24 bits effectifs représentés sur 4 × 8 bits
en ASCII). Le surcoût théorique est donc 4/3 ≈ 1,33×, soit +33 %.
En pratique le ratio est très légèrement supérieur à cause du
padding (=) en fin de chaîne. Ne soyez pas surpris
qu'un fichier de 10 Mo produise environ 13,3 Mo de Base64.
Différence entre Base64 standard et URL-safe
Le Base64 standard (RFC 4648 §4) utilise + et
/, qui sont des caractères réservés dans une URL.
La variante « URL-safe » (RFC 4648 §5) remplace + par
- et / par _ pour pouvoir
s'intégrer dans un lien sans encodage supplémentaire. Cet outil
utilise la variante standard (la plus universelle) ; si vous avez
besoin de l'URL-safe, un simple remplacement
+ → - et / → _ suffit.
Confidentialité — calcul local, conforme RGPD
Aucun fichier, aucun texte ne quitte votre navigateur. La lecture
passe par FileReader, l'encodage par btoa
natif et le téléchargement par URL.createObjectURL —
toutes des API locales du navigateur. Aucun appel réseau, aucun
stockage côté serveur, aucun cookie de pistage. TropEasy, c'est
trop easy.