# Encodeur et décodeur Base64

> Encodez et décodez du texte en Base64 avec notre outil avancé. Supporte l'UTF-8, le format URL-safe et explique le codage. En ligne et 100% gratuit.

URL: https://acrafto.com/fr/encodeur-decodeur-base64/

Tools are interactive browser apps; there is no public API, no endpoints to call and no server-side processing. To use a tool, open its HTML page in a browser.

Besoin de convertir du texte lisible au format Base64 pour les en-têtes HTTP, ou de déchiffrer le contenu d’un jeton API ? Notre **Encodeur & Décodeur de Texte Base64** est un outil spécialisé pour travailler avec des chaînes de texte, capable de gérer des complexités telles que la diacritique ou les caractères spéciaux.

> **Travaillez-vous avec des images ?**  
> Si votre code commence par `data:image/png...` ou si vous souhaitez convertir un fichier en texte, cet outil n’affichera que des caractères insensés. Utilisez notre outil spécialisé pour la conversion d’images.

## Comment fonctionne le format Base64 ?

Beaucoup de gens utilisent Base64 quotidiennement, mais peu savent comment il fonctionne “sous le capot”. Il ne s’agit pas de magie, mais de mathématiques simples avec des bits.

Le texte ordinaire dans un ordinateur est stocké en 8 bits (1 octet). Cependant, Base64 utilise un “alphabet” de 64 caractères (`A-Z`, `a-z`, `0-9`, `+`, `/`). Puisque `2^6 = 64`, un caractère Base64 représente exactement **6 bits** d’information.

**Processus de conversion (Algorithme) :**

1. Trois caractères de votre texte sont pris (3 × 8 bits = 24 bits).
2. Ces 24 bits sont divisés en quatre groupes de 6 bits.
3. Chaque groupe est assigné un caractère de la table Base64.

**Conséquence :** Puisque nous transformons 3 caractères en 4 caractères, la chaîne Base64 résultante est toujours approximativement **33 % plus longue** que le texte original.

## Le problème du jeu de caractères : Pourquoi les convertisseurs Base64 courants détruisent le français ?

Si vous avez déjà essayé d’encoder un mot comme “français” dans la console de votre navigateur en utilisant la fonction `btoa('français')`, vous avez probablement obtenu une erreur : *String contains characters outside of the Latin1 range.*

Base64 a été conçu à l’origine pour les caractères ASCII 7 bits. Cependant, le français, les emojis et d’autres symboles spéciaux (UTF-8) occupent plus d’octets en mémoire (caractères multi-octets).

- Lettre `a` = 1 octet.
- Lettre `é` = 2 octets.
- Emoji 🚀 = 4 octets.

Notre outil résout ce problème. Avant l’encodage Base64, nous convertissons correctement le texte en une séquence d’octets UTF-8. Ainsi, vous pouvez encoder en toute sécurité des objets JSON, des textes français et des symboles modernes sans risque de corruption des données.

## Où est utilisé le codage de texte Base64 ?

Alors que les images en Base64 servent principalement à l’intégration dans CSS/HTML, le Base64 textuel a des utilisations complètement différentes dans les systèmes backend :

### 1\. Authentification de base HTTP

Lorsque vous vous connectez à une API, l’en-tête ressemble souvent à ceci : `Authorization: Basic dXRpbGlzYXRldXI6bW90ZGVwYXNzZQ==` Derrière ce code se cache simplement un nom d’utilisateur et un mot de passe combinés au format `utilisateur:motdepasse`. Notre outil vous permet de générer ou de vérifier facilement ces en-têtes.

### 2\. Jetons Web JSON (JWT)

Les applications web modernes utilisent les JWT pour la connexion. Un tel jeton ressemble à trois longues chaînes séparées par des points. La partie de données (Payload) est un objet JSON ordinaire encodé en Base64.

- **Conseil :** Essayez d’insérer la partie médiane de votre jeton JWT ici et de la décoder. Vous verrez exactement quelles données l’application enregistre sur vous (par exemple, ID utilisateur, expiration).

### 3\. Fichiers de configuration (Secrets Kubernetes)

Des plateformes comme Kubernetes stockent les données secrètes (Secrets) dans les fichiers de configuration YAML précisément en Base64. Il ne s’agit pas de chiffrement, mais d’un moyen de stocker des données binaires ou du texte avec des caractères problématiques (sauts de ligne, guillemets) dans un fichier texte.

## Qu’est-ce que l‘“encodage Base64 sûr pour les URL” et pourquoi est-ce important ?

L’alphabet Base64 standard contient les caractères `+` (plus) et `/` (barre oblique). Ces deux caractères ont une signification spéciale dans les adresses URL :

- `/` sépare les répertoires.
- `+` est souvent interprété comme un espace.

Si vous envoyiez un Base64 standard dans un paramètre d’URL (par exemple, `site.com?token=ab/cd+ef`), le serveur pourrait mal interpréter les données.

**La solution (mode URL Safe) :** Notre interrupteur active la variante **Base64URL** (selon la RFC 4648), qui effectue les changements suivants :

- `+` est remplacé par `-` (tiret).
- `/` est remplacé par `_` (tiret bas).
- Les caractères `=` (rembourrage), qui ne sont pas nécessaires dans les URL, sont supprimés à la fin.

---

## Mythe : Base64 n’est pas du chiffrement !

Il est important de comprendre la différence fondamentale que les débutants confondent souvent :

1. **Encodage (Encoding - Base64) :** Sert à la transmission de données. C’est comme emballer un objet dans une valise pour éviter qu’il ne se casse en chemin. Quiconque trouve la valise peut l’ouvrir (décoder) et voir le contenu. **Ce n’est pas sécurisé pour les données secrètes.**
2. **Chiffrement (Encryption - AES, RSA) :** Verrouille les données avec une clé. Sans la clé, vous ne pouvez pas accéder au contenu.
3. **Hachage (Hashing - SHA, MD5) :** Un processus unidirectionnel (par exemple, pour stocker des mots de passe). Le texte original ne peut pas être récupéré à partir du résultat.

*Si vous devez envoyer un mot de passe ou des informations sensibles, le Base64 seul ne suffit pas. Vous devez utiliser HTTPS (SSL/TLS) qui chiffre la transmission.*

---

## Foire aux questions (FAQ)

### Que signifient les caractères "=" à la fin de la chaîne ?

Il s'agit du "rembourrage" (padding). Étant donné que Base64 encode les données par groupes de 3 caractères, il est possible que la longueur du texte original ne soit pas divisible par trois. Les caractères \`=\` sont ajoutés à la fin pour que le décodeur sache combien de bits ignorer à la fin.

### Pourquoi le texte décodé s'affiche-t-il comme des "caractères illisibles" ?

Vous essayez probablement de décoder des données qui ne sont pas du texte. Si la chaîne Base64 représente un fichier compressé (ZIP), une image ou des données chiffrées, la conversion en texte (UTF-8) n'a pas de sens. Essayez de déterminer l'origine des données.

### L'outil fonctionne-t-il hors ligne ?

Oui. Toute la logique de conversion est écrite en JavaScript et s'exécute directement dans votre navigateur. Une fois la page chargée, vous pouvez vous déconnecter d'Internet et l'outil continuera de fonctionner. Vos données ne sont envoyées nulle part.

## Other languages

- Čeština (cs): [Base64 Encoder a Decoder](https://acrafto.com/cs/base64-decoder-encoder/) ([Markdown](https://acrafto.com/cs/base64-decoder-encoder/index.md))
- Slovenčina (sk): [Base64 kódovač a dekódovač](https://acrafto.com/sk/base64-kodovac-dekodovac-online/) ([Markdown](https://acrafto.com/sk/base64-kodovac-dekodovac-online/index.md))
- English (en): [Base64 Encoder and Decoder](https://acrafto.com/en/base64-encoder-decoder/) ([Markdown](https://acrafto.com/en/base64-encoder-decoder/index.md))
- Deutsch (de): [Base64 Encoder und Decoder](https://acrafto.com/de/base64-encoder-decoder-online/) ([Markdown](https://acrafto.com/de/base64-encoder-decoder-online/index.md))
- Español (es): [Codificador y decodificador Base64](https://acrafto.com/es/codificador-base64-decodificador-online/) ([Markdown](https://acrafto.com/es/codificador-base64-decodificador-online/index.md))
- Italiano (it): [Encoder e decoder Base64](https://acrafto.com/it/encoder-decoder-base64-online/) ([Markdown](https://acrafto.com/it/encoder-decoder-base64-online/index.md))
- Português (pt): [Codificador e decodificador Base64](https://acrafto.com/pt/encoder-decoder-base64-online/) ([Markdown](https://acrafto.com/pt/encoder-decoder-base64-online/index.md))
- Nederlands (nl): [Base64 encoder en decoder](https://acrafto.com/nl/base64-encoder-decoder/) ([Markdown](https://acrafto.com/nl/base64-encoder-decoder/index.md))
- Polski (pl): [Koder i dekoder Base64](https://acrafto.com/pl/koder-dekoder-base64-online/) ([Markdown](https://acrafto.com/pl/koder-dekoder-base64-online/index.md))
- Română (ro): [Base64 encoder și decoder](https://acrafto.com/ro/codor-decodor-base64/) ([Markdown](https://acrafto.com/ro/codor-decodor-base64/index.md))
- Magyar (hu): [Base64 kódoló és dekódoló](https://acrafto.com/hu/base64-kodolo-dekodolo-online/) ([Markdown](https://acrafto.com/hu/base64-kodolo-dekodolo-online/index.md))
- Ελληνικά (el): [Κωδικοποίηση και αποκωδικοποίηση Base64](https://acrafto.com/el/base64-encoder-decoder/) ([Markdown](https://acrafto.com/el/base64-encoder-decoder/index.md))
- Български (bg): [Base64 енкодер и декодер](https://acrafto.com/bg/base64-enkoder-dekoder-onlain/) ([Markdown](https://acrafto.com/bg/base64-enkoder-dekoder-onlain/index.md))
- Hrvatski (hr): [Base64 koder i dekoder](https://acrafto.com/hr/base64-koder-dekoder/) ([Markdown](https://acrafto.com/hr/base64-koder-dekoder/index.md))
- Slovenščina (sl): [Base64 kodirnik in dekodirnik](https://acrafto.com/sl/base64-kodirnik-dekodirnik/) ([Markdown](https://acrafto.com/sl/base64-kodirnik-dekodirnik/index.md))
- Eesti (et): [Base64 kodeerija ja dekodeerija](https://acrafto.com/et/base64-teisendaja/) ([Markdown](https://acrafto.com/et/base64-teisendaja/index.md))
- Latviešu (lv): [Base64 kodētājs un dekodētājs](https://acrafto.com/lv/base64-kodetajs-dekodetajs/) ([Markdown](https://acrafto.com/lv/base64-kodetajs-dekodetajs/index.md))
- Lietuvių (lt): [Base64 koduotuvas ir dekoduotuvas](https://acrafto.com/lt/base64-koduotuvas-dekoduotuvas/) ([Markdown](https://acrafto.com/lt/base64-koduotuvas-dekoduotuvas/index.md))
- Svenska (sv): [Base64 encode och decode](https://acrafto.com/sv/base64-kodare-avkodare-online/) ([Markdown](https://acrafto.com/sv/base64-kodare-avkodare-online/index.md))
- Dansk (da): [Base64 encoder og dekoder](https://acrafto.com/da/base64-encoder-dekoder-online/) ([Markdown](https://acrafto.com/da/base64-encoder-dekoder-online/index.md))
- Suomi (fi): [Base64-kooderi ja -dekooderi](https://acrafto.com/fi/base64-kooderi-dekooderi/) ([Markdown](https://acrafto.com/fi/base64-kooderi-dekooderi/index.md))
- Norsk (no): [Base64-enkoder og -dekoder](https://acrafto.com/no/base64-enkoder-dekoder/) ([Markdown](https://acrafto.com/no/base64-enkoder-dekoder/index.md))
- Українська (uk): [Base64 кодер і декодер](https://acrafto.com/uk/base64-koder-dekoder-onlajn/) ([Markdown](https://acrafto.com/uk/base64-koder-dekoder-onlajn/index.md))
- Русский (ru): [Base64 кодировщик и декодировщик](https://acrafto.com/ru/base64-koder-dekoder/) ([Markdown](https://acrafto.com/ru/base64-koder-dekoder/index.md))
- Српски (sr): [Base64 enkoder i dekoder](https://acrafto.com/sr/base64-enkoder-dekoder-online/) ([Markdown](https://acrafto.com/sr/base64-enkoder-dekoder-online/index.md))
- Македонски (mk): [Base64 енкодер и декодер](https://acrafto.com/mk/base64-converter/) ([Markdown](https://acrafto.com/mk/base64-converter/index.md))
- Bosanski (bs): [Base64 koder i dekoder](https://acrafto.com/bs/base64-koder-dekoder/) ([Markdown](https://acrafto.com/bs/base64-koder-dekoder/index.md))
- Shqip (sq): [Base64 kodues dhe dekodues](https://acrafto.com/sq/kodues-dekodues-base64-online/) ([Markdown](https://acrafto.com/sq/kodues-dekodues-base64-online/index.md))
- Türkçe (tr): [Base64 kodlayıcı ve çözücü](https://acrafto.com/tr/base64-kodlayici-cozucu-online/) ([Markdown](https://acrafto.com/tr/base64-kodlayici-cozucu-online/index.md))
- 日本語 (ja): [Base64エンコード・デコード](https://acrafto.com/ja/base64-encoder-decoder/) ([Markdown](https://acrafto.com/ja/base64-encoder-decoder/index.md))
- 한국어 (ko): [Base64 인코딩 디코딩](https://acrafto.com/ko/base64-encoder-decoder/) ([Markdown](https://acrafto.com/ko/base64-encoder-decoder/index.md))
- العربية (ar): [ترميز وفك ترميز Base64](https://acrafto.com/ar/base64-encoder-decoder/) ([Markdown](https://acrafto.com/ar/base64-encoder-decoder/index.md))
- हिन्दी (hi): [Base64 एन्कोडर और डिकोडर](https://acrafto.com/hi/base64-encoder-decoder-online/) ([Markdown](https://acrafto.com/hi/base64-encoder-decoder-online/index.md))
- Bahasa Indonesia (id): [Base64 encode dan decode](https://acrafto.com/id/konverter-base64-online/) ([Markdown](https://acrafto.com/id/konverter-base64-online/index.md))
- Tiếng Việt (vi): [Mã hóa và giải mã Base64](https://acrafto.com/vi/base64-ma-hoa-giai-ma-online/) ([Markdown](https://acrafto.com/vi/base64-ma-hoa-giai-ma-online/index.md))
- ไทย (th): [เข้ารหัสและถอดรหัส Base64](https://acrafto.com/th/base64-encoder-decoder/) ([Markdown](https://acrafto.com/th/base64-encoder-decoder/index.md))
- עברית (he): [קידוד ופענוח Base64](https://acrafto.com/he/base64-encoder-decoder/) ([Markdown](https://acrafto.com/he/base64-encoder-decoder/index.md))
