Construire des valeurs de query string
Toute saisie utilisateur que vous placez dans ?q=... doit être encodée en mode Composant. Le mode URI laisserait = et & bruts, cassant votre URL si la valeur en contient.
Encodez n'importe quel texte en chaîne percent-encoded compatible URL, ou décodez une URL encodée en texte clair. Aperçu en direct, compatible UTF-8, et tout s'exécute dans votre navigateur.
Composant (encodeURIComponent) échappe tout ce qui n'est pas un caractère non réservé — le plus sûr pour les valeurs de query string, segments de chemin ou tout champ unique. URI (encodeURI) préserve les caractères de structure d'URL (:/?#=&) — à utiliser sur une URL entière. Formulaire (application/x-www-form-urlencoded) c'est Composant + les espaces deviennent « + » — ce qu'utilisent les formulaires HTML.
RFC 3986 définit un ensemble de caractères « non réservés » qui n'ont pas besoin d'être encodés : A-Z a-z 0-9 - _. ~. Tout le reste est percent-encoded. encodeURIComponent encode en plus :/?#&= que encodeURI laisse intacts. La différence compte selon que vous encodez une valeur de query ou une URL entière.
Déposez un fichier texte ici, ou cliquez pour parcourir
Tout fichier texte UTF-8 :.txt,.csv,.json,.url,.log
Rapide, précis, 100% navigateur — conçu pour les développeurs, rédacteurs et toute personne qui débogue une URL.
Choisissez Composant, URI complète ou Formulaire selon ce que vous encodez — valeurs de query string, URL entière ou charge utile de formulaire HTML.
Chaque encodage et décodage se déroule dans votre navigateur via JavaScript natif. Vos textes et URL ne quittent jamais votre appareil.
La sortie se met à jour à chaque frappe — aucun bouton « Encoder » à cliquer, aucun aller-retour vers un serveur.
Émojis, caractères CJK, latin accentué et cyrillique font l'aller-retour correctement via encodeURIComponent et inversement.
Lors du décodage, traitez optionnellement « + » comme un espace — la convention utilisée par les formulaires HTML sous application/x-www-form-urlencoded.
Déposez un fichier.txt,.csv ou.json pour l'encoder ou le décoder en une seule étape. La sortie se télécharge sous forme de.txt propre.
Trois API natives du navigateur, trois modes, le tout exécuté dans la page que vous lisez.
À chaque frappe, la chaîne d'entrée est passée à une petite fonction JavaScript. Pas de debounce, pas d'appel API, pas de fetch — la fonction s'exécute de façon synchrone dans votre onglet de navigateur.
Composant appelle encodeURIComponent — échappe tout ce qui n'est pas A-Z a-z 0-9 - _. ~. URI appelle encodeURI — préserve :/?#=& pour qu'une URL complète reste valide. Formulaire utilise encodeURIComponent et remplace l'espace par + selon application/x-www-form-urlencoded.
Tant encodeURIComponent que encodeURI convertissent en interne la chaîne en octets UTF-8 avant de percent-encoder chaque octet non sûr. Cela donne %E4%B8%AD pour le caractère chinois 中 — exactement ce qu'exige RFC 3986.
Le résultat est défini comme valeur de la sortie en lecture seule. Cliquez sur Copier pour le placer dans votre presse-papiers via navigator.clipboard.writeText, ou Télécharger pour le sauvegarder en .txt via une URL de Blob — les deux restent dans votre navigateur.
Situations réelles où le bon mode d'encodage évite les bugs.
Toute saisie utilisateur que vous placez dans ?q=... doit être encodée en mode Composant. Le mode URI laisserait = et & bruts, cassant votre URL si la valeur en contient.
Certaines applis de chat et PDF corrompent les liens contenant des espaces bruts ou des caractères non ASCII. Passez l'URL en mode URI pour la rendre copier-coller-sûre partout.
Quand votre API rejette une requête, collez l'URL en mode Décodage pour voir ce que le serveur a réellement reçu. Les valeurs doublement encodées (où % lui-même a été encodé en %25) apparaissent immédiatement.
Pour déboguer des corps POST en application/x-www-form-urlencoded, décodez avec l'option « + comme espace » activée. C'est la convention utilisée par les navigateurs, et l'oublier est la cause n°1 des bugs « pourquoi mon nom d'utilisateur s'affiche-t-il avec des signes plus ».
Les URL que vous encodez contiennent souvent de vrais e-mails clients, identifiants ou jetons de session — exactement le type de données que vous ne voulez pas coller dans l'outil serveur d'un inconnu. iKit URL Encoder s'exécute en JavaScript déjà chargé dans votre navigateur, l'entrée ne quitte donc jamais votre onglet.
fetch, XHR ni beacon pendant l'encodage ou le décodage.
Tutoriels détaillés et comparaisons d'outils du blog iKit.
The 30-year-old form-encoding quirk explained — when + means space, when it means literal +, and how to fix the email-with-plus bug.
When to reach for Base64 versus URL percent-encoding, and what each encoding actually solves.
Pretty-print, validate, and structurally diff messy JSON in any browser.
Composant (encodeURIComponent) échappe tout ce qui n'est pas un caractère non réservé — le plus sûr pour les valeurs de query string, segments de chemin ou tout champ unique. URI (encodeURI) préserve les caractères de structure d'URL (:/?#=&) — à utiliser sur une URL entière. Formulaire (application/x-www-form-urlencoded) c'est Composant + les espaces deviennent « + » — ce qu'utilisent les formulaires HTML.
RFC 3986 définit un ensemble de caractères « non réservés » qui n'ont pas besoin d'être encodés : A-Z a-z 0-9 - _. ~. Tout le reste est percent-encoded. encodeURIComponent encode en plus :/?#&= que encodeURI laisse intacts. La différence compte selon que vous encodez une valeur de query ou une URL entière.
Trois causes courantes : (1) l'original était en mode Formulaire donc « + » devrait être traité comme espace — activez cette option. (2) Double encodé — l'entrée a été encodée deux fois; décodez à nouveau. (3) Séquence percent invalide — un % isolé non suivi de deux chiffres hexadécimaux. Consultez le message d'erreur pour la position exacte de l'octet.
Oui pour le mode Composant — nous appelons directement encodeURIComponent. Le mode Formulaire ajoute les ajustements standard d'encodage de formulaire (! ' * deviennent %21 %27 %28 %29 %2A) selon RFC 3986 + WHATWG. Le mode URI appelle encodeURI, ce que la plupart des langages entendent par « percent-encoder une URL ».
Non. Tout l'outil est du JavaScript dans cette page — l'encodage et le décodage se font dans votre navigateur. Vous pouvez le vérifier en ouvrant DevTools → Network et en observant : aucune requête n'est envoyée pendant les opérations d'encodage ou de décodage.