Encodage / Décodage Base64/ Côté client

Convertir du texte en Base64 et inversement. Support Unicode complet, mode URL-safe, aucun envoi serveur.

Texte brut
Sortie Base64
Le résultat apparaîtra ici…
Entrée0 car.
Sortie0 car.

Cet outil a-t-il résolu votre problème ?

Qu'est-ce que l'encodage Base64

Base64 est un schéma d'encodage qui représente des données binaires à l'aide de 64 caractères ASCII imprimables. Il encode每 3 octets (24 bits) en 4 caractères, en utilisant uniquement A-Z, a-z, 0-9, +, / et le caractère de remplissage =. Base64 N'EST PAS un algorithme de chiffrement — c'est un format d'encodage que n'importe qui peut facilement décoder, n'offrant aucune sécurité.

Utilisations courantes du Base64

Pièces jointes e-mail : le protocole MIME utilise Base64 pour les pièces jointes binaires. Data URLs : intégrer des images, polices et autres ressources directement dans le CSS ou le HTML pour减少 les requêtes HTTP. Transmission API : encoder des données binaires (images, PDF) en JSON sous forme de chaînes Base64. Jetons JWT : les en-têtes et payloads des JWT sont du JSON encodé en Base64. Authentification Basic : HTTP Basic Auth encode utilisateur:mot de passe en Base64.

De combien Base64 augmente-t-il la taille du fichier

L'encodage Base64 augmente la taille des données d'environ 33%. Comme每 3 octets原 deviennent 4 caractères, la taille encodée = ceil(taille originale / 3) × 4. Pour les gros fichiers, la transmission binaire直接 est donc plus efficace. Mais lorsque vous devez transmettre des données binaires via un canal texte uniquement (JSON, XML, URLs), Base64 est la solution standard.

Exemples de code

JavaScript (Browser)
// Encode (ASCII only)
const encoded = btoa("Hello, World!");
// Decode
const decoded = atob(encoded);

// Encode Unicode (CJK, emoji, etc.)
function b64Encode(str) {
  const bytes = new TextEncoder().encode(str);
  const bin = String.fromCharCode(...bytes);
  return btoa(bin);
}
function b64Decode(b64) {
  const bin = atob(b64);
  const bytes = Uint8Array.from(bin, c => c.charCodeAt(0));
  return new TextDecoder().decode(bytes);
}
Python
import base64

# Encode
text = "Hello, 世界 🌏"
encoded = base64.b64encode(text.encode("utf-8")).decode()
print(encoded)

# Decode
decoded = base64.b64decode(encoded).decode("utf-8")
print(decoded)

# URL-safe variant
url_safe = base64.urlsafe_b64encode(
    text.encode("utf-8")
).decode().rstrip("=")
Go
import "encoding/base64"

// Encode
encoded := base64.StdEncoding.
    EncodeToString([]byte("Hello, World!"))

// Decode
decoded, err := base64.StdEncoding.
    DecodeString(encoded)

// URL-safe
urlSafe := base64.URLEncoding.
    EncodeToString([]byte("Hello, World!"))
Shell (curl / openssl)
# Encode
echo -n "Hello, World!" | base64

# Decode
echo "SGVsbG8sIFdvcmxkIQ==" | base64 -d

# URL-safe encode (GNU coreutils)
echo -n "Hello" | base64 | tr '+/' '-_' | tr -d '='

Questions fréquentes

Qu'est-ce que Base64 ?
Base64 est un schéma d'encodage qui convertit des données binaires en texte ASCII en utilisant 64 caractères imprimables (A–Z, a–z, 0–9, +, /). Il est couramment utilisé pour transmettre des données binaires (images, fichiers) via des protocoles textuels comme HTTP, e-mail et JSON.
L'encodage Base64 est-il un chiffrement ?
Non. Base64 est un encodage, pas un chiffrement. N'importe qui peut le décoder instantanément — il n'y a ni clé ni secret impliqué. Pour la sécurité des données, utilisez un algorithme de chiffrement comme AES ou RSA.
Quelle est la différence entre Base64 et base64url ?
Le Base64 standard utilise + et / qui nécessitent un échappement URL (%2B et %2F), plus un remplissage =. base64url remplace + par -, / par _, et supprime les = finaux, ce qui le rend utilisable directement dans les URL et noms de fichiers. Les jetons JWT utilisent base64url pour l'en-tête et la charge utile.
Pourquoi Base64 augmente-t-il la taille des données ?
Base64 représente chaque 3 octets de données binaires par 4 caractères ASCII, augmentant la taille encodée à ~133% de l'original — environ 33% de surcharge. C'est le coût de la représentation de données binaires en texte brut.
Comment utiliser Base64 en JavaScript ?
Les navigateurs fournissent btoa() (encoder) et atob() (décoder). Cependant, ils ne gèrent pas nativement l'Unicode ; pour les chaînes contenant des caractères non-latins, encodez d'abord en octets UTF-8 via TextEncoder. Cet outil gère correctement l'Unicode.
Mes données sont-elles en sécurité ?
Oui. Cet outil fonctionne entièrement dans votre navigateur sans aucune requête réseau — vos données ne quittent jamais votre appareil. N'hésitez pas à coller du texte sensible pour vos tests.