Formatage Base64

Messy Base64 Entrée
0 caractères

Formatez gratuitement vos chaînes Base64 en ligne avec largeur de ligne personnalisable (64/76/80/100 caractères) et indentation (0/2/4 espaces) pour faciliter la lecture, les captures d'écran et la mise en page documentaire. Seule la présentation est modifiée, les données Base64 restent intactes.

Recommandations connexes

Qu'est-ce que le formatage Base64 ?

Le formatage Base64 consiste à afficher visuellement une longue chaîne Base64 sur plusieurs lignes selon une largeur de caractères définie (64/76/80/100), avec en option une indentation de 0/2/4 espaces. Le résultat est plus lisible, mieux adapté aux captures d'écran, à l'impression et à la mise en page documentaire, mais **ne modifie pas le contenu binaire d'origine** : en supprimant tous les sauts de ligne et l'indentation, on retrouve la chaîne Base64 initiale sur une seule ligne.

**Pourquoi formater ?** La norme RFC 4648 n'impose pas de retour à la ligne, mais en pratique : ① les longues chaînes Base64 débordent dans les systèmes de tickets, messageries et documents Markdown ; ② le protocole MIME (RFC 2045) impose un retour à la ligne tous les 76 caractères (pour les pièces jointes e-mail) ; ③ l'affichage multi-lignes facilite la revue de code ; ④ l'alignement esthétique est nécessaire pour les captures documentaires.

**Cas d'utilisation fréquents :** ① mise en page technique : intégrer une longue Base64 dans Markdown / Confluence / Notion ; ② comparaisons en captures d'écran : afficher une Base64 complète dans un PR ou un rapport de bug ; ③ revue manuelle : repérer rapidement les caractères invalides (saut de ligne, espace parasite) ; ④ pièces jointes e-mail : respecter la norme MIME avec 76 caractères par ligne pour le transport SMTP ; ⑤ affichage sur grand écran : présenter un long payload Base64 sur plusieurs lignes dans un dashboard de monitoring.

**Différence avec Base64 MIME :** Base64 MIME (RFC 2045) impose strictement 76 caractères par ligne, c'est une exigence protocolaire. L'outil de formatage est plus flexible : largeurs 64/76/80/100 caractères et indentation 0/2/4 espaces pour s'adapter à tous les contextes documentaires. Le pliage MIME peut être reproduit en sélectionnant la largeur 76 caractères.

**Sûreté du formatage :** l'outil n'insère que des sauts de ligne et espaces d'indentation au niveau de l'affichage, **il ne modifie jamais le contenu binaire** de la Base64 d'origine. Une fois tous les espaces supprimés, on retrouve une chaîne Base64 strictement identique. Comme la plupart des décodeurs Base64 ignorent automatiquement les espaces, le résultat formaté peut être décodé directement.

Cas d'utilisation

  • Afficher une très longue chaîne Base64 sur plusieurs lignes selon une largeur personnalisée pour faciliter la lecture et les captures d'écran
  • Formater une Base64 pour intégration dans une documentation technique, un ticket ou un e-mail
  • Optimiser la mise en page d'une Base64 pour impression ou archivage
  • Ajuster la structure d'une Base64 en complément des outils de division ou de fusion
  • Plier une Base64 à 76 caractères (norme MIME) pour transport en pièce jointe e-mail
  • Afficher une Base64 multi-lignes en revue de code pour repérer plus facilement les caractères anormaux
  • Indenter une Base64 avec 4 espaces pour respecter le style de code lors de l'insertion en Markdown
  • Affichage en dashboard : présenter un long payload Base64 sur plusieurs lignes dans un système de monitoring

Comment utiliser

  1. Collez la chaîne Base64 à formater (avec ou sans sauts de ligne)
  2. Choisissez la largeur de ligne : 64 / 76 / 80 / 100
  3. Choisissez l'indentation : 0 / 2 / 4 espaces
  4. L'outil formate en temps réel selon la largeur et l'indentation choisies
  5. Copiez le résultat formaté pour votre document, ou cliquez sur « Restaurer » pour retirer les sauts de ligne

Fonctionnalités

  • Largeur de ligne personnalisable : 64 / 76 / 80 / 100 caractères par ligne selon vos besoins de mise en page
  • Indentation configurable : 0 / 2 / 4 espaces pour aligner dans les blocs de code ou en Markdown
  • Optimisation purement visuelle : seule la présentation est ajustée, les données Base64 restent intactes
  • Formatage en temps réel : saisie formatée instantanément avec anti-rebond de 200 ms
  • Restauration en un clic : supprime tous les sauts de ligne et l'indentation pour revenir à une Base64 monoligne
  • Statistiques caractères et lignes : affichage en temps réel du nombre de caractères et du total de lignes
  • Copie en un clic : le résultat formaté peut être copié directement dans le presse-papiers
  • Traitement 100 % local dans le navigateur : aucun envoi vers un serveur, confidentialité garantie

Exemples de code

JavaScript : implémenter manuellement le formatage Base64 (pour comprendre)

javascript

Comprendre la logique interne du formatage Base64 : découper selon une largeur de caractères et insérer des sauts de ligne.

// Fonction de formatage Base64 (même logique que l'outil)
function formatBase64(input, lineLength = 76, indent = 0) {
  // 1. Supprimer tous les espaces
  const clean = input.replace(/\s/g, '');
  if (!clean) return '';

  // 2. Découper selon la largeur
  const lines = [];
  for (let i = 0; i < clean.length; i += lineLength) {
    const line = clean.slice(i, i + lineLength);
    lines.push(' '.repeat(indent) + line);
  }

  // 3. Joindre avec des sauts de ligne
  return lines.join('\n');
}

// Exemple d'utilisation
const b64 = 'a'.repeat(200);
console.log(formatBase64(b64, 76, 0));
// Sortie : Base64 avec 76 caractères par ligne

// Déformatage (pour décodage ou transport)
function unformatBase64(input) {
  return input.replace(/\s/g, '');
}

console.log(unformatBase64(formatBase64(b64, 76, 0)).length); // 200

Python : formatage Base64 + pliage MIME

python

Implémentation Python d'un pliage à 76 caractères (norme MIME) avec indentation configurable.

import textwrap

def format_base64(b64_str: str, width: int = 76, indent: int = 0) -> str:
    """Formate une chaîne Base64 sur plusieurs lignes"""
    # Supprimer tous les espaces
    clean = ''.join(b64_str.split())
    if not clean:
        return ''

    # Découper selon la largeur avec textwrap
    lines = textwrap.wrap(clean, width=width)

    # Ajouter l'indentation
    if indent > 0:
        lines = [' ' * indent + line for line in lines]

    return '\n'.join(lines)


# Exemple d'utilisation
b64 = 'aGVsbG8gd29ybGQ=' * 10
print(format_base64(b64, 76, 0))

# Reproduire Base64 MIME (RFC 2045)
mime_format = format_base64(b64, 76)
print(f'Nombre de lignes MIME : {len(mime_format.splitlines())}')

# Restaurer en une seule ligne
single_line = b64.replace('\n', '').replace(' ', '')
print(f'Longueur monoligne : {len(single_line)}')

Ligne de commande : fold + pliage MIME Base64

bash

L'outil fold fourni sur Linux/macOS permet de formater rapidement une Base64 depuis le terminal.

# 1. Entrée Base64 → pliage à 76 caractères (norme MIME)
echo "aGVsbG8gd29ybGQ=" | base64 | base64 | fold -w 76

# 2. Formater un long fichier Base64 → nouveau fichier
fold -w 76 encoded.txt > formatted.txt

# 3. Pliage à 64 caractères (affichage compact)
fold -w 64 encoded.txt > compact.txt

# 4. Supprimer tous les sauts de ligne (déformatage)
tr -d '\n' < formatted.txt > single-line.txt

# 5. Vérification : longueur + nombre de lignes
wc -c encoded.txt | awk '{print "Caractères :", $1}'
wc -l formatted.txt | awk '{print "Lignes :", $1}'

# 6. Encodage + formatage Base64 complet avec openssl
echo "Hello 世界" | openssl base64 -A | fold -w 76 > hello.b64.txt
cat hello.b64.txt

FAQ

Le formatage modifie-t-il le contenu réel de la Base64 ?

Non. Le formatage n'insère que des sauts de ligne et espaces d'indentation au niveau de l'affichage, l'encodage lui-même reste inchangé. En supprimant tous les espaces du contenu formaté, on retrouve la Base64 d'origine sur une seule ligne. Tous les décodeurs Base64 (atob natif du navigateur / Node.js Buffer / Python base64) ignorent automatiquement les espaces, le résultat peut donc être décodé directement.

Quelle différence entre formatage Base64 et Base64 MIME ?

Base64 MIME applique strictement la largeur de 76 caractères imposée par la RFC 2045, c'est la norme pour le transport de pièces jointes e-mail. L'outil de formatage est plus flexible : largeurs personnalisables 64/76/80/100 et indentation 0/2/4 espaces, idéal pour documents, captures d'écran, etc. Sélectionnez la largeur 76 pour reproduire le pliage MIME.

Convient-il pour l'analyse de logs et les tickets ?

Tout à fait. Les longues chaînes Base64 débordent facilement dans les systèmes de tickets (Jira / Zendesk), les messageries (Slack / Teams) ou les documents Markdown. Une fois formatées en multi-lignes, elles sont claires et lisibles, prêtes à être collées dans un ticket ou une fenêtre de chat.

Le résultat formaté peut-il être décodé directement ?

Oui. Tous les décodeurs Base64 courants ignorent automatiquement les sauts de ligne et les espaces. En cas de problème (avec une vieille version d'OpenSSL par exemple), cliquez sur « Restaurer » pour retirer les sauts de ligne avant de décoder.

Pourquoi proposer plusieurs largeurs (64 / 76 / 80 / 100) ?

64 caractères convient aux documents compacts (terminal CLI, tableau Markdown) ; 76 caractères est la norme MIME pour les e-mails ; 80 caractères correspond à la largeur traditionnelle des terminaux ; 100 caractères est adapté aux éditeurs modernes et écrans larges. Chaque largeur a son usage optimal.

À quoi sert l'indentation ?

L'indentation (0/2/4 espaces) permet de garder la Base64 alignée dans un bloc de code ou en Markdown : 0 pour le texte brut, 2 pour le style JS/Python, 4 pour les blocs de code imbriqués en Markdown.

Le formatage augmente-t-il la taille de la Base64 ?

D'environ 1 à 3 % (sauts de ligne + espaces d'indentation), mais sans incidence sur le décodage. Si la transmission est sensible à la taille (paramètre d'URL par exemple), utilisez d'abord la fonction « Restaurer » pour revenir à une seule ligne.

L'outil gère-t-il l'UTF-8 / le chinois ?

L'outil ne traite pas directement le jeu de caractères, il formate uniquement la chaîne Base64. Si la Base64 contient des caractères chinois (Base64 issue d'un encodage UTF-8), le formatage n'affecte pas la validité de l'encodage.

Convient-il pour les très gros fichiers ?

Oui, l'outil formate en temps réel et le navigateur gère sans peine des chaînes Base64 jusqu'à 1 Mo. Au-delà de 10 Mo, l'interface peut ralentir : il est alors recommandé de formater par blocs.

La taille augmente après formatage, peut-on compresser ?

Le formatage n'ajoute que des sauts de ligne et de l'indentation, ce qui se compresse très bien. Vous pouvez utiliser gzip / Brotli, ou consulter l'outil Base64 Stats pour visualiser l'incrément exact.

Dépannage

Certains caractères Base64 disparaissent après formatage

La Base64 d'origine contient peut-être des caractères invalides (sauts de ligne mal gérés). Nettoyez-la d'abord avec l'outil Base64 Clean avant de formater.

Le résultat formaté ne correspond pas aux octets d'origine

C'est impossible : le formatage n'insère que des espaces, sans modifier le contenu binaire. Si vous constatez une différence, la Base64 a déjà été mal traitée (par exemple un double formatage qui duplique les espaces).

L'interface ralentit sur les très longues chaînes

Une chaîne Base64 dépassant 10 Mo peut ralentir le navigateur. Solutions : ① traiter par blocs ; ② nettoyer d'abord les espaces inutiles avec base64-clean ; ③ réduire la largeur (64 caractères) pour alléger le rendu par ligne.

Glossaire

Formatage Base64
Action de présenter une chaîne Base64 sur plusieurs lignes selon une largeur définie. Cela n'affecte que l'affichage, pas l'encodage lui-même.
MIME Base64
Variante de Base64 définie par la RFC 2045 avec un retour à la ligne tous les 76 caractères, principalement utilisée pour le transport de pièces jointes e-mail.
Largeur de ligne (line length)
Nombre de caractères Base64 affichés par ligne. Valeurs courantes : 64 (compact), 76 (norme MIME), 80 (impression standard), 100 (écran large).
Indentation (indent)
Nombre d'espaces en début de chaque ligne. Valeurs courantes : 0 (aucune), 2 (style code), 4 (bloc de code Markdown).
Caractères blancs (whitespace)
Espaces, tabulations, sauts de ligne pouvant apparaître dans une chaîne Base64. Le formatage commence par les supprimer, puis les réinsère selon la largeur choisie.
Déformatage (unformat)
Action de convertir une Base64 formatée (multi-lignes + indentation) en une forme monoligne sans espaces, prête pour le décodage ou le transport.

Comparaison des 4 largeurs de caractères

Chaque largeur correspond à un contexte d'affichage différent : choisissez selon votre environnement cible.

LargeurScénario typiqueNorme associéeExemple d'usage
64 caractèresTerminal CLI, tableau MarkdownAffichage compactPetit écran / haute densité
76 caractèresTransport pièce jointe e-mailRFC 2045 MIMEE-mail / SMTP
80 caractèresImpression terminal traditionnelTerminal Unix classiqueImpression de documents
100 caractèresÉditeur moderne / écran largeNorme UI moderneIDE / documentation

Comparaison des 3 styles d'indentation

Chaque style d'indentation correspond à une convention de code : choisissez selon l'habitude de votre équipe ou projet.

IndentationStyle de codeExemple (1ʳᵉ ligne Base64)
0 espaceSans indentation (texte brut)QUJD...
2 espacesConvention JS / Python QUJD...
4 espacesMarkdown imbriqué / Java QUJD...

Authoritative References