Développement web · Gratuit · Sans inscription

Encoder et décoder du Base64 UTF-8

Convertissez du texte français, des emoji ou un petit JSON entre UTF-8 et Base64 standard dans le navigateur.

Saisissez du texte pour encoder ses octets UTF-8 en Base64 standard, ou collez une chaîne Base64 afin de récupérer un texte UTF-8 valide. Le décodeur retire les espaces, tabulations et retours présents dans la chaîne, mais ne prend pas directement en charge Base64URL, les préfixes Data URI ou les fichiers binaires. Base64 n’est ni un chiffrement, ni un hash, ni une compression.

🔒 Le traitement s’effectue dans ce navigateur ; vos données ne sont pas envoyées à FunnyTools.

Utiliser l’outil

Ce que vous pouvez faire ici

  • Encoder une chaîne Unicode en octets UTF-8 puis en Base64 standard.
  • Décoder une chaîne Base64 et exiger un texte UTF-8 valide.
  • Conserver accents français, caractères CJK et emoji lors d’un aller-retour valide.
  • Ignorer les espaces et retours ajoutés à l’intérieur du Base64.
  • Copier la sortie sans envoyer l’entrée au serveur de FunnyTools.

Réponse rapide : texte vers Base64 et retour vers UTF-8

Pour encoder, collez un texte lisible puis cliquez sur « Encoder en Base64 ». Le navigateur transforme d’abord la chaîne en octets UTF-8, puis représente ces octets avec l’alphabet Base64 standard. Pour décoder, placez une chaîne Base64 dans l’entrée et cliquez sur « Décoder en UTF-8 ». Si la syntaxe est refusée ou si les octets ne forment pas un texte UTF-8 valide, aucun faux texte de remplacement n’est affiché.

L’entrée sert à une direction à la fois. Après un encodage, recopiez la sortie dans le premier champ si vous voulez vérifier l’aller-retour. Base64 représente des octets ; il ne décrit ni leur type, ni leur origine. Cette page choisit explicitement UTF-8 pour le texte afin que `é`, `œ`, les caractères asiatiques et les emoji aient une conversion déterminée.

UTF-8, accents et emoji

Base64 ne transforme pas directement les lettres. `TextEncoder` produit leurs octets UTF-8 : un caractère ASCII utilise généralement un octet, une lettre accentuée en utilise souvent deux et un emoji davantage. Deux textes ayant le même nombre de signes visibles peuvent donc créer des chaînes Base64 de longueurs différentes. Le padding dépend du nombre total d’octets, pas du nombre de mots.

Au retour, `TextDecoder("utf-8", { fatal: true })` rejette une suite qui n’est pas du UTF-8 valide. Cela évite d’insérer silencieusement le caractère de remplacement `�`. Si la source a utilisé ISO-8859-1, Windows-1252, UTF-16 ou une donnée binaire, il faut connaître ce format et choisir un outil adapté ; ce décodeur ne tente pas de deviner.

  • Entrée d’encodage : chaîne Unicode saisie dans le navigateur.
  • Étape intermédiaire : octets UTF-8.
  • Sortie : alphabet Base64 standard avec éventuel padding `=`.
  • Décodage : les octets obtenus doivent former du UTF-8 valide.

Base64 standard, alphabet et padding

La sortie utilise les caractères `A–Z`, `a–z`, `0–9`, `+` et `/`, avec zéro, un ou deux signes `=` à la fin selon la taille. Le décodeur retire les espaces, tabulations et retours avant d’appeler `atob()`, ce qui permet de coller une chaîne coupée sur plusieurs lignes. Les espaces retirés ne font pas partie des données décodées.

La page ne corrige pas volontairement les caractères illégaux et n’ajoute pas elle-même un padding manquant. Certains navigateurs peuvent tolérer une forme particulière, mais une API peut imposer des règles plus strictes. Vérifiez l’alphabet et la présence de `=` dans la spécification du système source ; ne modifiez pas une chaîne participant à une signature ou un protocole sans comprendre ce format.

Base64URL, Data URI et JWT : formats différents

Base64URL remplace généralement `+` par `-`, `/` par `_` et omet souvent le padding. On le rencontre dans les URL et les segments de JWT. Cet outil ne normalise pas `-` ou `_` vers le Base64 standard. Décoder le contenu d’un JWT ne vérifierait de toute façon ni sa signature, ni sa date d’expiration, ni sa provenance.

Une Data URI commence par un en-tête tel que `data:text/plain;base64,`. Collez uniquement la partie située après la virgule : l’en-tête complet n’est pas une chaîne Base64 brute. Pour une image, FunnyTools possède un outil image vers Base64 avec type MIME et aperçu. La page présente ne sélectionne aucun fichier, ne reconstruit aucun binaire et ne détermine pas de type de média.

Base64 n’est pas un chiffrement ni une compression

Toute personne qui obtient la chaîne peut la décoder sans clé. Base64 ne protège donc ni mot de passe, ni token, ni cookie, ni donnée personnelle. Il n’apporte pas non plus de preuve d’intégrité ou d’identité. La confidentialité exige un chiffrement approprié et une gestion de clés ; l’intégrité peut nécessiter un hash authentifié ou une signature selon le cas.

La représentation augmente habituellement la taille : trois octets deviennent quatre caractères, auxquels peut s’ajouter le padding. Base64 sert surtout à transporter des octets dans un canal textuel ; il ne compresse pas. Avant de l’utiliser dans JSON, CSS, un en-tête ou une base, vérifiez les limites de taille et demandez si le canal accepte déjà l’UTF-8 directement.

Confidentialité et contenu inconnu

L’encodage et le décodage s’exécutent dans cet onglet. FunnyTools ne reçoit pas le texte ou la chaîne Base64 pour produire le résultat et ne conserve pas d’historique de l’entrée. Les services généraux de la page suivent la politique de confidentialité, sans ajouter le contenu du champ aux événements. N’y placez toutefois jamais de secret ou de donnée personnelle inutile.

Une chaîne inconnue peut révéler une URL, une commande, un script ou du texte trompeur. La décoder dans le champ ne l’exécute pas, mais copier la sortie dans une console ou un navigateur peut être dangereux. Traitez-la comme une donnée non fiable. Pour des fichiers ou octets arbitraires, utilisez un environnement isolé capable de vérifier signature, taille et type MIME.

Mode d’emploi étape par étape

  1. Identifiez si l’entrée est du texte ou du Base64 standard.
  2. Retirez un éventuel préfixe Data URI et ne collez pas Base64URL directement.
  3. Encodez ou décodez, puis vérifiez accents, emoji et retours à la ligne.
  4. Confirmez UTF-8, alphabet et padding dans la documentation de la source.
  5. N’exécutez jamais une sortie inconnue et n’utilisez pas Base64 comme protection.

Dans quelles situations cet outil est utile

  • Encoder `élève, cœur et forêt` en Base64 UTF-8.
  • Récupérer un petit exemple JSON reçu en Base64 standard.
  • Vérifier qu’un aller-retour conserve exactement accents et emoji.
  • Reconnaître les caractères `-` et `_` d’un segment Base64URL.
  • Expliquer pourquoi une chaîne Base64 est plus longue et reste réversible.

Exemples détaillés

Phrase avec accents et emoji

La phrase est encodée via UTF-8 puis décodée. Le retour est comparé caractère par caractère avec la source conservée.

Segment de JWT

La présence de `-` et `_` signale Base64URL. La personne n’utilise pas le décodeur standard et ne confond pas lecture du payload avec validation de signature.

Octets non UTF-8

La chaîne Base64 est syntaxiquement recevable, mais le décodeur UTF-8 fatal la refuse. Le format d’origine est recherché au lieu d’accepter des caractères corrompus.

Relecture éditoriale et test de fonctionnement:

Comment vérifier une conversion Base64

Une chaîne décodable confirme seulement une représentation d’octets ; il faut encore vérifier variante, jeu de caractères, origine et sécurité.

Identifiez le format

Distinguez Base64 standard, Base64URL, Data URI et segment de JWT.

Confirmez UTF-8

L’aller-retour doit conserver exactement accents, emoji, espaces et retours.

Traitez comme donnée

N’exécutez ni commande ni URL inconnue et ne confondez pas encodage et chiffrement.

Liste de contrôle

  • L’entrée ne contient ni préfixe Data URI ni caractères Base64URL.
  • Le système source déclare UTF-8 ou son encodage est connu.
  • Le retour correspond exactement au texte original.
  • La chaîne n’est pas utilisée pour dissimuler un secret.

Limites et vérifications importantes

  • L’outil convertit du texte UTF-8, pas des fichiers binaires.
  • Les espaces dans la chaîne Base64 sont retirés avant décodage.
  • Base64URL avec `-` ou `_` n’est pas normalisé.
  • Un préfixe `data:...;base64,` doit être retiré.
  • Base64 est réversible, augmente souvent la taille et ne chiffre rien.

Questions fréquentes

Les accents et emoji sont-ils conservés ?

Oui si l’aller et le retour utilisent UTF-8. Le texte est d’abord transformé en octets UTF-8.

Puis-je coller un JWT ou du Base64URL ?

Non directement. Base64URL utilise `-` et `_`, et un JWT exige en plus une validation de structure et de signature.

Une Data URI complète est-elle acceptée ?

Non. Retirez tout le préfixe jusqu’à la virgule et collez seulement les données Base64.

Pourquoi une chaîne Base64 recevable peut-elle échouer ?

Les octets obtenus peuvent être binaires ou utiliser une autre table de caractères que UTF-8.

Base64 peut-il cacher un mot de passe ?

Non. La conversion est réversible sans clé et ne fournit ni confidentialité ni intégrité.

Le contenu est-il envoyé à FunnyTools ?

Non. L’encodage et le décodage s’effectuent localement dans cet onglet.

Confidentialité et traitement local

La conversion s’exécute localement dans cet onglet. FunnyTools ne reçoit ni ne conserve le texte ou le Base64 pour le traiter.

Utiliser le résultat avec discernement

Base64 n’est pas un chiffrement. Ne collez aucun secret, n’exécutez pas de sortie inconnue et vérifiez UTF-8, alphabet et padding avec la source.

Dernière relecture éditoriale: