Skip to content

Décodeur et Encodeur Base64

Décodez et encodez en Base64 en ligne gratuitement. Conversion en temps réel, support UTF-8 et émojis. 100 % privé, dans votre navigateur.

Sans pistage Fonctionne dans le navigateur Gratuit
Texte
Base64
Vérifié pour la conformité RFC 4648 et l'exactitude UTF-8 — Équipe d'ingénierie Go Tools · 22 mars 2026

Qu'est-ce que Base64 ?

Base64 est un schéma d'encodage binaire-vers-texte défini par la RFC 4648 qui convertit des données binaires arbitraires en une représentation ASCII sûre à l'aide d'un alphabet de 64 caractères. C'est l'un des encodages les plus utilisés dans l'infrastructure Internet, omniprésent dans les pièces jointes d'e-mails, les JSON Web Tokens et les certificats TLS.

Comme l'indique la RFC 4648, Section 1 : « L'encodage Base64 est conçu pour représenter des séquences arbitraires d'octets sous une forme qui n'a pas besoin d'être lisible par l'humain. »

Base64 divise les données d'entrée en groupes de 3 octets (24 bits), les découpe en quatre groupes de 6 bits, puis mappe chaque valeur sur l'un des 64 caractères imprimables : A-Z (0-25), a-z (26-51), 0-9 (52-61), + (62) et / (63). Le caractère = sert de remplissage quand la longueur de l'entrée n'est pas un multiple de 3. L'encodage Base64 augmente la taille des données d'environ 33 % (RFC 4648) — un compromis délibéré pour rendre les données binaires compatibles avec les canaux texte uniquement.

Les cas d'utilisation les plus courants incluent : les pièces jointes d'e-mails (encodage MIME), l'intégration de petits fichiers dans du HTML/CSS (URI de données), les jetons JWT, les en-têtes d'authentification API (Basic Auth) et le stockage de données binaires dans des formats texte comme JSON/XML. Base64 n'est pas du chiffrement — c'est simplement un encodage que n'importe qui peut facilement décoder.

Tout l'encodage et le décodage de cet outil s'exécutent entièrement dans votre navigateur — vos données ne sont jamais envoyées à un serveur, ce qui le rend sûr pour les clés API, les jetons et autres valeurs sensibles.

Utilisez ce convertisseur Base64 en ligne gratuit pour décoder du Base64 en texte ou encoder du texte en Base64 instantanément dans votre navigateur.

Base64 est souvent utilisé avec d'autres outils d'encodage et de données. Par exemple, vous pourriez avoir besoin de formater des données JSON avant de les encoder en Base64 pour une charge utile d'API, d'encoder une chaîne Base64 en URL avant de la placer dans un paramètre de requête, ou de vérifier une somme de contrôle de fichier avec MD5 ou SHA-256 après avoir décodé un téléchargement encodé en Base64. Nouveau sur Base64 ? Lisez notre guide Base64 pour débutants. Pour les sujets avancés comme MIME, les URL de données et l'optimisation des performances, consultez le guide Base64 avancé.

// Encode plain text to Base64
const encoded = btoa('Hello, World!');
console.log(encoded); // → 'SGVsbG8sIFdvcmxkIQ=='

// Decode Base64 back to text
const decoded = atob('SGVsbG8sIFdvcmxkIQ==');
console.log(decoded); // → 'Hello, World!'

// UTF-8 safe encode (handles Chinese, emoji, any Unicode)
function encodeBase64(str) {
  const bytes = new TextEncoder().encode(str);  // to UTF-8 bytes
  return btoa(String.fromCharCode(...bytes));
}
console.log(encodeBase64('你好')); // → '5L2g5aW9'

Fonctionnalités clés

Encodage/décodage en temps réel

Conversion instantanée à la saisie, encodage et décodage simultanés sans cliquer, réponse en millisecondes.

Prise en charge UTF-8 complète

Gère correctement le chinois, le japonais, le coréen, les émojis et tous les caractères Unicode sans corruption.

Conversion bidirectionnelle

Convertissez librement entre texte et Base64 dans les deux sens, en saisissant dans l'une ou l'autre zone.

100 % dans le navigateur

Tout le traitement se fait localement dans votre navigateur. Vos données ne quittent jamais votre appareil — aucun envoi serveur, aucun suivi.

Détection d'erreurs

Détecte automatiquement les entrées Base64 invalides avec des messages d'erreur clairs.

Copie en un clic

Cliquez sur le bouton Copier pour copier le résultat encodé ou décodé dans votre presse-papiers.

Exemples

Texte simple en anglais

Hello, World!
SGVsbG8sIFdvcmxkIQ==

Encodez un texte anglais simple en format Base64

Texte en chinois

你好,世界!
5L2g5aW977yM5LiW55WM77yB

Gère correctement les caractères chinois encodés en UTF-8

Texte avec émojis

Hello 🌍🚀
SGVsbG8g8J+MjfCfmoA=

Prend en charge l'encodage des caractères Unicode multi-octets comme les émojis

Données JSON

{"name":"Alice","age":30}
eyJuYW1lIjoiQWxpY2UiLCJhZ2UiOjMwfQ==

Encodez des chaînes JSON, couramment utilisé pour les jetons API et le transfert de données

Comment utiliser

  1. 1

    Saisissez du texte ou du Base64

    Entrez le texte à encoder dans la zone « Texte » à gauche, ou la chaîne Base64 à décoder dans la zone « Base64 » à droite. Vous pouvez aussi cliquer sur « Charger un exemple » pour essayer rapidement.

  2. 2

    Conversion en temps réel

    L'outil encode ou décode en temps réel pendant la saisie, sans avoir besoin de cliquer sur un bouton.

  3. 3

    Copiez le résultat

    Cliquez sur le bouton « Copier » pour copier le résultat de la conversion dans votre presse-papiers en un clic.

Cas d'utilisation courants

Authentification API
Encodez les identifiants HTTP Basic Auth et les jetons API, base de nombreux schémas d'authentification.
Intégration d'URI de données
Encodez de petites images et fichiers en Base64 pour les intégrer dans du HTML/CSS et réduire les requêtes HTTP.
Débogage de jetons JWT
Décodez le payload et l'en-tête des JWT (JSON Web Tokens) pour inspecter rapidement le contenu des jetons.
Pièces jointes d'e-mails
Comprenez et déboguez les pièces jointes encodées en MIME — les systèmes de messagerie utilisent Base64 pour transmettre les fichiers binaires.
Fichiers de configuration
Encodez et décodez les valeurs Base64 dans les configurations comme les Secrets Kubernetes et les variables d'environnement.
Transfert de données
Transmettez en toute sécurité des données binaires dans des formats texte comme JSON et XML.

Détails techniques

Conforme à RFC 4648
Prise en charge complète de la spécification d'encodage Base64 standard, y compris la gestion correcte du remplissage.
Traitement dans le navigateur
Utilise les API natives du navigateur btoa()/atob() et TextEncoder/TextDecoder pour l'encodage et le décodage.
Prise en charge Unicode complète
Gère correctement tous les caractères Unicode via l'encodage UTF-8, y compris les caractères multi-octets et les paires de substitution.

Bonnes pratiques

Ne pas utiliser pour le chiffrement
Base64 est un encodage, pas du chiffrement — n'importe qui peut le décoder facilement. Utilisez un algorithme de chiffrement formel pour les données sensibles.
Attention à l'augmentation de taille
Les données encodées en Base64 sont environ 33 % plus volumineuses. Pour les fichiers volumineux, préférez le transfert binaire direct.
Gérer correctement l'UTF-8
Lors de l'encodage de texte non-ASCII, utilisez d'abord TextEncoder pour convertir en octets UTF-8 afin d'éviter les problèmes de corruption de caractères.

Questions fréquentes

Qu'est-ce que l'encodage Base64 ?
Base64 est un schéma d'encodage qui convertit des données binaires en chaînes de caractères ASCII. Il utilise 64 caractères imprimables (A-Z, a-z, 0-9, + et /) plus le caractère de remplissage = pour représenter les données binaires. Base64 est largement utilisé pour transmettre des données binaires dans des environnements ne prenant en charge que le texte, comme les pièces jointes d'e-mails, les URI de données et les jetons API.
Mes données sont-elles sécurisées avec cet outil ?
Oui, totalement. Tout l'encodage et le décodage se font localement dans votre navigateur avec les méthodes natives JavaScript btoa()/atob() et TextEncoder/TextDecoder — vos données ne quittent jamais votre appareil. Aucun envoi serveur, aucun cookie, aucun stockage d'aucune sorte. Vous pouvez donc l'utiliser en toute sécurité avec des clés API et des données sensibles.
Cet outil prend-il en charge le chinois et les émojis ?
Oui. Cet outil utilise l'API TextEncoder/TextDecoder pour gérer correctement l'encodage UTF-8, prenant parfaitement en charge le chinois, le japonais, le coréen, les émojis et tous les autres caractères Unicode multi-octets. De nombreux outils Base64 en ligne ne gèrent pas correctement les caractères non-ASCII, mais celui-ci le fait.
L'encodage Base64 est-il sécurisé ? Est-ce du chiffrement ?
Non, Base64 n'est pas du chiffrement. C'est un schéma d'encodage que n'importe qui peut facilement décoder. L'objectif de Base64 est de convertir des données binaires en un format sûr pour le texte, pas de protéger les données. N'utilisez jamais Base64 pour protéger des informations sensibles — si vous avez besoin de sécurité, utilisez un algorithme de chiffrement formel comme AES.
Qu'est-ce qu'un URI de données ? Quel rôle joue Base64 ?
Un URI de données (data:) est un moyen d'intégrer de petits fichiers directement dans du HTML ou du CSS, au format data:[type-media];base64,[données-encodées]. Par exemple, vous pouvez encoder une petite image en Base64 et l'intégrer directement dans du HTML, évitant ainsi des requêtes HTTP supplémentaires. C'est particulièrement utile pour les petites icônes et les graphiques simples, mais déconseillé pour les fichiers volumineux car Base64 augmente la taille d'environ 33 %.
Quelle est la différence entre Base64 et Base64URL ?
Le Base64 standard utilise les caractères + et /, qui doivent être encodés en pourcentage dans les URL. Base64URL est une variante qui remplace + par - et / par _, et omet généralement le remplissage = final. Base64URL est couramment utilisé dans les JWT (JSON Web Tokens) et les paramètres d'URL. Si vous devez utiliser du Base64 standard dans une URL, vous pouvez l'encoder en pourcentage avec notre encodeur URL. Cet outil utilise l'encodage Base64 standard.
Pourquoi les données encodées en Base64 sont-elles plus volumineuses ?
Les données encodées en Base64 sont environ 33 % plus volumineuses que les données originales. C'est parce que Base64 convertit chaque 3 octets de données binaires en 4 caractères ASCII. Cette augmentation de taille est un compromis entre la sécurité de transport en texte et la taille des données. Pour les fichiers volumineux, il est recommandé d'utiliser un transfert de fichier direct plutôt que l'encodage Base64.
Comment encoder un fichier en Base64 ?
Sur macOS ou Linux, utilisez la ligne de commande : base64 < monfichier.png > monfichier.b64. Sur Windows, utilisez PowerShell : [Convert]::ToBase64String([IO.File]::ReadAllBytes('monfichier.png')). En JavaScript (Node.js) : fs.readFileSync('monfichier.png').toString('base64'). En Python : import base64; base64.b64encode(open('monfichier.png','rb').read()). Cet outil en ligne gère les entrées texte ; pour les fichiers binaires volumineux, les outils en ligne de commande sont plus efficaces.
Peut-on utiliser Base64 dans HTML et CSS ?
Oui. Le Base64 est couramment utilisé dans les URI de données pour intégrer de petites ressources directement dans le HTML ou le CSS, éliminant les requêtes HTTP supplémentaires. En HTML : . En CSS : background-image: url('data:image/svg+xml;base64,PHN2Zy...'). C'est idéal pour les petites icônes et SVG (moins de 5 Ko). Pour les fichiers plus volumineux, les références de fichiers séparés sont plus efficaces car le Base64 ajoute 33 % de surcharge et contourne la mise en cache du navigateur.
Comment encoder/décoder en Base64 en ligne de commande ?
Sur macOS/Linux, utilisez la commande base64 : pour encoder echo -n 'Hello' | base64, pour décoder echo 'SGVsbG8=' | base64 -d (macOS utilise -D). Sur Windows PowerShell, utilisez [Convert]::ToBase64String() et [Convert]::FromBase64String(). Cet outil en ligne offre une interface visuelle plus pratique pour les mêmes opérations.
Quels caractères composent l'alphabet Base64 ?
L'alphabet Base64 standard (RFC 4648) est composé de 64 caractères : les lettres majuscules A-Z (valeurs 0-25), les lettres minuscules a-z (valeurs 26-51), les chiffres 0-9 (valeurs 52-61), le signe plus + (valeur 62) et la barre oblique / (valeur 63). Le signe égal = est utilisé pour le remplissage. La variante URL-safe (Base64URL) remplace + par - et / par _ pour éviter les conflits avec les caractères réservés des URL.
Je dois intégrer une petite image dans mon modèle d'e-mail HTML — dois-je utiliser des URI de données Base64 ou héberger l'image en externe ?
Pour les e-mails HTML, les URI de données Base64 sont en réalité l'approche recommandée pour les petites images comme les logos et icônes. De nombreux clients de messagerie (Outlook, Gmail) bloquent agressivement les images hébergées en externe par défaut, obligeant les utilisateurs à cliquer sur « Afficher les images ». Intégrer les images comme URI de données Base64 (data:image/png;base64,...) contourne entièrement ce problème — l'image fait partie de l'e-mail lui-même. Le compromis est la taille de l'e-mail : Base64 ajoute ~33% de surcharge, donc un PNG de 10 Ko devient ~13 Ko dans l'e-mail. Gardez les images intégrées sous 20 Ko pour une meilleure compatibilité. Pour les images plus grandes ou les arrière-plans, l'hébergement externe est plus pratique.
Pourquoi ma chaîne encodée en Base64 contient-elle des caractères + et / qui cassent mes paramètres d'URL ?
Le Base64 standard utilise + et / parmi ses 64 caractères, et ces deux caractères ont une signification spéciale dans les URL (+ signifie espace, / est un séparateur de chemin). Inclure une chaîne Base64 standard dans un paramètre d'URL sans l'encoder corrompt la valeur. La solution est d'utiliser Base64 URL-safe (aussi appelé Base64URL, défini dans RFC 4648), qui remplace + par - et / par _. Cette variante est utilisée dans les jetons JWT, les flux OAuth et toute valeur Base64 qui apparaît dans les URL. Pour convertir, remplacez simplement tous les + par - et / par _ dans la sortie, et supprimez optionnellement les caractères de remplissage =.
J'essaie de décoder un jeton JWT — comment fonctionne le décodage Base64URL et en quoi diffère-t-il du Base64 standard ?
Un JWT (JSON Web Token) se compose de trois parties séparées par des points : header.payload.signature. Le header et le payload sont chacun encodés en Base64URL — pas en Base64 standard. Base64URL diffère du Base64 standard de deux façons : il utilise - au lieu de + et _ au lieu de /, et omet les caractères de remplissage =. Pour décoder un JWT manuellement, divisez le token par des points, prenez le premier ou deuxième segment, remplacez - par + et _ par /, ajoutez le remplissage = si nécessaire pour que la longueur soit un multiple de 4, puis décodez en Base64. Comprendre l'encodage Base64URL est utile lors de l'implémentation de la gestion de jetons dans du code ou du débogage de valeurs de jetons brutes.