Charger un fichier
  1. base64hub
  2. Outils texte
  3. Encodeur MIME

Encodeur Base64 MIME en lignes de 76 caractères

Collez du texte et obtenez du Base64 découpé en lignes de 76 caractères, le format des corps et pièces jointes d’e-mails. Passez à 64 pour les blocs PEM, ou à Aucun pour une seule ligne.

Gratuit sans inscription, sans limites Local rien n'est envoyé 76 caractères par ligne, RFC 2045 Mis à jour 27 oct. 2026
Entrée 0 BSortie 0 BTaille –

Traité dans votre navigateur. Cette page ne peut envoyer vos données nulle part – comment le savons-nous

Comment créer du Base64 MIME

  1. Collez le texte dans Entrée · texte. Retour à la ligne est préréglé sur 76 (MIME, LF).
  2. Laissez Jeu de caractères sur UTF-8, sauf si le message déclare un autre jeu de caractères, et utilisez la même valeur dans l’en-tête Content-Type.
  3. Copiez le Base64 coupé depuis Sortie · Base64, ou Télécharger pour l’obtenir dans base64.txt.
  4. Pour les corps de certificats ou de clés, passez Retour à la ligne sur 64 (PEM). Pour HTTP, JSON ou tout ce qui exige une seule ligne, choisissez Aucun.

Ce qu’est le Base64 MIME

MIME (RFC 2045) est la norme qui permet aux e-mails de transporter des pièces jointes, du texte dans d’autres langues que l’anglais et du HTML. Quand le corps d’une partie est binaire ou rempli d’octets non ASCII, l’expéditeur l’encode en Base64 et le marque avec Content-Transfer-Encoding: base64. En plus du Base64 simple, la RFC 2045 ajoute une règle de longueur : les lignes encodées font au plus 76 caractères. Une ligne de 76 caractères contient 57 octets d’entrée.

Une partie texte encodée ainsi ressemble à ceci ; les deux lignes Base64 sont la sortie de cet outil pour la phrase citée plus bas :

Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64

Q2Fmw6kgbWVudTogY3LDqG1lIGJyw7tsw6llLCBqYWxhcGXDsW8sIHNtw7ZyZ8Olc2JvcmQuIFRo
aXMgbGluZSBpcyBsb25nIGVub3VnaCB0byB3cmFwIGFmdGVyIDc2IGNoYXJhY3RlcnMu

Le texte d’origine était Café menu: crème brûlée, jalapeño, smörgåsbord. This line is long enough to wrap after 76 characters., soit 108 octets en UTF-8. Décodées avec le décodeur Base64, les deux lignes ensemble redonnent la phrase ; le saut de ligne est ignoré.

Sauts de ligne, CRLF et taille

Retour à la ligne propose deux variantes à 76 colonnes : 76 (MIME, LF) sépare les lignes par un saut de ligne (\n), et 76 (MIME, CRLF) utilise \r\n. Les e-mails en transit utilisent CRLF, et les bibliothèques de messagerie convertissent les fins de ligne en sérialisant un message : LF convient donc dans le code. Si vous collez la sortie directement dans un fichier .eml brut ou une session SMTP, choisissez la variante CRLF.

La coupure coûte un peu de place en plus des 33 % habituels :

SortieCaractères pour 57 octets d’entréeSurcoût
Une seule ligne, sans saut7633,3 %
Lignes de 76 caractères avec LF7735,1 %
Lignes de 76 caractères avec CRLF7836,8 %

Les limites de taille des messageries s’appliquent au message encodé : une pièce jointe de 10 Mo occupe donc environ 13,7 Mo de la limite. Le calculateur de taille donne les valeurs exactes, et Base64 dans les e-mails explique comment les parties s’assemblent.

Encoded-words pour les en-têtes

Les en-têtes comme Subject et From ne peuvent pas utiliser Content-Transfer-Encoding. Le texte non ASCII des en-têtes utilise les encoded-words de la RFC 2047 : =?charset?B?base64?=. Pour en construire un, encodez le texte avec Retour à la ligne réglé sur Aucun et entourez vous-même le résultat :

Subject: =?UTF-8?B?R3LDvMOfZSBhdXMgQmVybGlu?=

Cela se décode en Grüße aus Berlin. Un encoded-word fait au plus 75 caractères ; les objets plus longs sont découpés en plusieurs encoded-words séparés par une espace. Pour un texte majoritairement ASCII, les logiciels de messagerie utilisent souvent plutôt la forme ?Q?, basée sur le quoted-printable.

Base64 MIME dans le code et en ligne de commande

base64.encodebytes en Python coupe à 76 caractères avec \n et donne les mêmes lignes que cet outil :

import base64

text = "Café menu: crème brûlée, jalapeño, smörgåsbord. This line is long enough to wrap after 76 characters."
print(base64.encodebytes(text.encode("utf-8")).decode("ascii"))

Pour des messages complets, le package email gère l’encodage, les en-têtes et les CRLF à votre place. Sous Linux, le base64 de GNU coupe à 76 par défaut et openssl base64 à 64 :

base64 attachment.pdf > attachment.b64
openssl base64 -in attachment.pdf -out attachment.pem.b64

Pour décortiquer un e-mail brut, ouvrez-le plutôt dans le décodeur d’e-mails (EML), qui en extrait les corps et les pièces jointes.

FAQ

Pourquoi le Base64 MIME utilise-t-il des lignes de 76 caractères ?

La RFC 2045 fixe la limite à 76 caractères, bien en dessous de la limite de 998 caractères par ligne des e-mails (RFC 5322). 76 est un multiple de 4 : chaque ligne contient donc exactement 57 octets.

Le Base64 MIME diffère-t-il du Base64 normal ?

L’alphabet et le remplissage sont identiques. La seule différence, ce sont les sauts de ligne, que les décodeurs sont censés ignorer : les versions coupées et non coupées se décodent donc en les mêmes octets.

Faut-il couper le Base64 dans l'objet d'un e-mail ?

Non. Les en-têtes utilisent les encoded-words de la RFC 2047, comme =?UTF-8?B?R3LDvMOfZQ==?=, qui ne doivent pas contenir de sauts de ligne. Encodez l’objet avec Retour à la ligne réglé sur Aucun et limitez chaque encoded-word à 75 caractères.

Pourquoi openssl me donne-t-il des lignes de 64 caractères ?

openssl base64 coupe à 64, la convention PEM, alors que le base64 de GNU et la plupart des bibliothèques de messagerie coupent à 76. Les deux se décodent de la même façon ; choisissez 64 ici si vous avez besoin d’une sortie identique à celle d’openssl.