Encoder et décoder du texte Base64
Convertissez du texte en Base64 puis retrouvez-le sans vous demander quel alphabet, remplissage ou contrôle un outil a choisi en silence.
Lancer gratuitement
Ce convertisseur déterministe traite Unicode en UTF-8, prend en charge le Base64 RFC 4648 standard et sa variante URL-safe, et refuse les entrées mal formées au lieu de produire un texte altéré. Utilisez-le dans le navigateur ou appelez l’API lorsqu’une application exige des conversions reproductibles. Chaque réponse réussie contient une seule chaîne de résultat, facile à copier, conserver, comparer ou transmettre à l’étape suivante.
Encodez un texte UTF-8 dans une représentation Base64 portable
Choisissez le mode d’encodage lorsque vous disposez d’un texte ordinaire et devez obtenir une représentation ASCII pour un champ textuel, une configuration, un document JSON ou une interface d’intégration. Le convertisseur représente d’abord la chaîne en octets UTF-8 : accents, emoji, écritures non latines, retours à la ligne et ponctuation restent donc cohérents. Il regroupe ensuite ces octets selon la RFC 4648. La variante standard emploie lettres, chiffres, signe plus et barre oblique, avec un remplissage canonique par signes égal. En mode URL-safe, plus et barre deviennent tiret et trait de soulignement, et le remplissage est omis. Base64 est un encodage, pas un chiffrement : toute personne qui possède la valeur peut l’inverser. L’objet renvoyé ne contient que la chaîne de résultat afin que le traitement automatisé reste simple et déterministe.
Décodez strictement sans accepter une entrée corrompue
Choisissez le décodage lorsque le texte fourni est déjà en Base64 et que vous souhaitez retrouver son contenu UTF-8. La variante sélectionnée intervient dans la validation : le mode standard accepte plus et barre, tandis que le mode URL-safe accepte tiret et trait de soulignement. Les caractères de l’autre alphabet ne sont jamais corrigés discrètement. Le décodeur vérifie aussi que le remplissage se trouve uniquement à la fin, ne dépasse pas deux signes, correspond à la longueur encodée et permet de décrire des octets complets. Il contrôle les bits finaux inutilisés et refuse les espaces. Enfin, les octets doivent former un UTF-8 valide. Un fichier binaire peut être un Base64 valide sans convenir à cet outil textuel ; une erreur d’entrée est alors renvoyée plutôt que des caractères de remplacement. Ces contrôles rendent l’échec visible dès l’intégration, là où son diagnostic est le plus simple.
Choisissez le Base64 standard ou URL-safe selon le destinataire
La bonne variante dépend du système qui consommera la valeur. Le Base64 standard est fréquent dans les champs de documents encodés et les spécifications montrant explicitement plus, barre et égal. Le Base64 URL-safe vise les contextes où ces signes ont un sens particulier : URL, noms de fichiers, cookies ou composants de jetons. Le réglage url_safe modifie l’encodage comme le décodage et doit correspondre à l’alphabet attendu par l’autre système. Au décodage, un remplissage correct ou omis est accepté si la longueur le permet ; à l’encodage, il est omis pour obtenir la forme compacte. Pour un flux fiable, conservez la variante avec les données ou définissez-la dans le protocole. L’outil du navigateur convient aux contrôles ponctuels, tandis que l’API coûte $0.002 par requête automatisée. Les deux voies partagent la même logique pure et donnent le même résultat.
Cas d’usage
Préparer un texte pour une intégration JSON
Encodez un texte Unicode dans le champ ASCII Base64 imposé par un schéma externe.
Examiner une configuration encodée
Décodez une valeur Base64 avec un contrôle strict pour signaler clairement toute entrée incorrecte.
Créer des composants de jeton adaptés aux URL
Convertissez un texte UTF-8 avec l’alphabet tiret et soulignement, sans remplissage.
Questions fréquentes
Quel est le prix d’une requête ?
Le tarif de l’API est de $0.002 par requête ; la version interactive du navigateur est utilisable gratuitement.
Base64 constitue-t-il un chiffrement ?
Non. Base64 représente seulement des octets avec des caractères imprimables, sans confidentialité ni authentification.
Comment Unicode est-il traité ?
Le texte devient des octets UTF-8 avant l’encodage, et les octets décodés doivent constituer un UTF-8 valide.
Que change l’option URL-safe ?
L’encodage remplace plus et barre par tiret et soulignement et omet le remplissage ; le décodage contrôle ce même alphabet.
Quelles entrées le décodage refuse-t-il ?
Les caractères invalides, espaces, longueurs impossibles, remplissages incorrects, bits finaux non nuls et octets non UTF-8 provoquent une erreur.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/data/mime-base64-encode-decode \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, world!","mode":"encode"}'const res = await fetch("https://api.kit.forhosting.com/data/mime-base64-encode-decode", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello, world!",
"mode": "encode"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/mime-base64-encode-decode",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello, world!",
"mode": "encode"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/mime-base64-encode-decode", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello, world!","mode":"encode"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello, world!","mode":"encode"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/mime-base64-encode-decode", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"text": "Hello, world!",
"mode": "encode"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.mime_base64_encode_decode",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_mb | 25 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |