ForHosting KIT · Outils pour développeurs

Encodeur et décodeur Base64url

« hello world » devient aGVsbG8gd29ybGQ en Base64url, le Base64 sûr pour les URL de la section 5 du RFC 4648 : tiret et tiret bas remplacent le plus et la barre oblique, sans signe égal final, et les jetons passent intacts dans les liens. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Texte
hello world
Mode de calcul
Encode
Vous obtenez
Résultat
aGVsbG8gd29ybGQ
Encodage
base64url
Octets d'entrée
11
Octets de sortie
15

Cet encodeur Base64url convertit du texte brut en Base64 sûr pour URL et décode des chaînes Base64url en texte UTF-8 à l'aide de l'alphabet de la RFC 4648 section 5. Choisissez encode pour transformer un message, un ensemble de revendications, ou une chaîne de configuration en une charge utile Base64url compacte, ou choisissez decode pour récupérer le texte original à partir d'un jeton sûr pour URL que vous détenez déjà. Le moteur est entièrement déterministe : la même entrée et le même mode produisent toujours le même résultat, sans appel réseau, sans sel aléatoire, et sans raccourci dépendant de la date. Parmi les vérifications courantes : encoder hello world en aGVsbG8gd29ybGQ et décoder cette chaîne pour retrouver la phrase originale.

Ce qu'est Base64url et ce que renvoie cet outil

Base64url est le cousin sûr pour URL du Base64 classique défini dans la RFC 4648 section 5. Les deux schémas font correspondre chaque trois octets d'entrée à quatre symboles de six bits tirés d'un alphabet à soixante-quatre caractères, mais Base64url remplace les symboles plus et barre oblique par moins et tiret bas et omet le remplissage égal que le Base64 standard ajoute lorsque la longueur en octets n'est pas un multiple de trois.

Ce petit changement d'alphabet explique pourquoi les jetons d'identité, les paramètres d'état OAuth, les fragments de cookie signés, et les hachages de contenu voyagent proprement à l'intérieur des URL et des attributs HTML sans encodage pour cent.

Cette page utilise toujours cet alphabet sûr pour URL sans remplissage : le mode encodage encode votre texte en UTF-8, regroupe les octets, et ne renvoie que A à Z, a à z, zéro à neuf, moins, et tiret bas ; le mode décodage inverse le processus et rejette les caractères Base64 standard, les espaces, et les quanta finaux incomplets.

Où l'on croise Base64url : liens et jetons

Les développeurs rencontrent Base64url lorsqu'ils inspectent des segments JWT, fabriquent des valeurs d'état et de nonce OAuth, intègrent de petites revendications sûres en binaire dans des paramètres de requête, ou stockent des identifiants opaques dans des fichiers de configuration en texte seul. Les équipes frontend décodent des jetons sûrs pour URL pendant le débogage d'intégration sans coller de données dans des scripts ad hoc qui réintroduisent accidentellement plus et barre oblique.

Les services backend encodent des extraits de configuration ou de petits condensés binaires avant de les placer dans des URL de redirection où le Base64 standard serait cassé. Les ingénieurs qualité génèrent des paires d'encodage et de décodage déterministes pour des tests de contrat afin qu'un middleware qui prétend prendre en charge Base64url ne puisse pas basculer silencieusement d'alphabet. Les enseignants utilisent le même outil en enseignant la différence entre le Base64 MIME et la variante sûre pour URL sur laquelle les piles d'authentification modernes se standardisent.

Associez-le aux auxiliaires JWT ou de hachage lorsque vous avez besoin d'étapes cryptographiques apparentées, et aux autres points de terminaison d'encodage pour bâtir un petit laboratoire d'outils de texte gratuits et déterministes.

Pratique de jetons JWT et OAuth

Encodez ou décodez des segments sûrs pour URL utilisés dans les JWT, les états OAuth, et les valeurs de nonce sans remplissage Base64 standard ni caractères +/.

Charges utiles sûres pour chaînes de requête

Transformez un court texte en Base64url afin qu'il survive aux paramètres de requête et aux segments de chemin sans surprises d'encodage pour cent.

Combien coûte l'encodeur Base64url ?

Il est gratuit dans votre navigateur sur cette page.

En quoi Base64url diffère-t-il du Base64 standard ?

Base64url utilise - et _ à la place de + et /, et cet outil n'émet ni n'accepte jamais de remplissage =. Le Base64 standard avec + / = est rejeté au décodage.

Que se passe-t-il si je colle du Base64 standard avec + ou = ?

Remplacez + par -, / par _, retirez le remplissage, ou utilisez plutôt un outil Base64 standard.

Le résultat est-il déterministe ?

Oui. Le même texte et le même mode produisent toujours le même résultat, sans réseau, aléa, ou comportement dépendant de la date.

Pourquoi mon résultat Base64url ne se termine-t-il pas par des signes égal ?

Parce que Base64url supprime le remplissage qu'ajoute le Base64 standard. « hello world » devient aGVsbG8gd29ybGQ, sans rien après. Au décodage, une longueur qui laisse un seul caractère isolé dans un groupe de quatre est refusée, car elle ne peut pas former d'octets entiers.

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.

POSThttps://api.kit.forhosting.com/enc/base64url

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é.

curl -X POST https://api.kit.forhosting.com/enc/base64url \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"hello world"}'
{
  "text": "hello world"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.base64url",
  "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.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Contrairement au Base64 classique, la sortie ne contient jamais de caractères plus ou barre oblique et ne se termine jamais par un remplissage égal, si bien que les jetons survivent aux chaînes de requête, aux segments de chemin, et au JSON sans échappement supplémentaire.

Ce qu'est Base64url et ce que renvoie cet outil

La réponse JSON inclut result pour la chaîne transformée, mode reprenant encode ou decode, encoding fixé à base64url, et input_bytes plus output_bytes afin que vous puissiez vérifier les tailles dans les tests. Il n'y a aucun chemin de streaming et aucun repli silencieux vers l'alphabet classique : soit la chaîne est un texte Base64url valide, soit la requête échoue avec invalid_input. Si vous avez besoin du Base64 standard rempli avec plus et barre oblique, utilisez un point de terminaison Base64 standard dédié ; cette page ne concerne que le contrat sûr pour URL, sans remplissage, que JWT et de nombreuses API modernes attendent déjà.

Comment le texte et le mode sont lus et comment les résultats restent reproductibles

Encode accepte toute chaîne Unicode, la convertit avec le TextEncoder de la plateforme en octets UTF-8, puis émet du Base64url sans remplissage. Decode exige une chaîne Base64url pure : une longueur modulo quatre égale à un est rejetée car elle ne peut représenter un nombre entier d'octets, et tout caractère hors de l'alphabet sûr pour URL échoue avec un message clair qui pointe vers plus, barre oblique, ou égal lorsque ces symboles Base64 standard apparaissent. Une fois les octets récupérés, un décodage UTF-8 fatal garantit que des données binaires aléatoires ne deviennent pas du texte corrompu. Le champ de charge utile privilégié est text, avec les alias input, value et s afin que formulaires, chaînes de requête et clients SDK puissent réutiliser le même contrat sans renommer de colonnes. Mode par défaut vaut encode et accepte decode explicitement ; les alias op, direction et action correspondent au même choix pour les scripts qui utilisent déjà ces noms. Associez l'exécution gratuite dans le navigateur de cette page à l'API payante lorsque vous avez besoin du même résultat mathématique au sein d'un pipeline automatisé sans réimplémenter vous-même les tables Base64url. Les entrées invalides renvoient invalid_input et ne sont pas facturées, ce qui garde la validation bon marché tandis que les transformations réussies restent à un prix fixe.

Où Base64url s'inscrit dans les jetons, les API et les fixtures de test

Sur cette page, le travail s'exécute entièrement dans votre navigateur ; via l'API, chaque recherche réussie coûte $0.002, une validation échouée n'est pas facturée, et rien n'est conservé après le renvoi de la réponse. Cette séparation — exploration interactive gratuite et API payante identique — s'inscrit dans le reste du catalogue de niveau A du KIT et permet de passer d'une démonstration en classe à un pipeline automatisé sans changer le résultat encodé.

Fixtures CI déterministes

Générez des chaînes Base64url reproductibles pour tests unitaires, fichiers golden, et vérifications de contrat entre services.

Quels modes sont pris en charge ?

mode=encode (par défaut) transforme du texte brut en Base64url. mode=decode transforme une chaîne Base64url en texte UTF-8.

Consulter la documentation complète du KIT →