IA sur votre appareil : performant et privé.

Outil encodeur decodeur URL en ligne

Encodez ou décodez des URL : quatre profils, 37 jeux de caractères.

  • Fonctionne sur votre appareil
  • Profils RFC 3986 strict et formulaire
  • Récupère les séquences défectueuses au lieu d'échouer
  • 10 Mo gratuits · 20 fichiers avec Pro

Déposez un fichier texte contenant des URL à convertir

Un fichier jusqu'à 10 Mo. TXT, CSV, LOG, JSON et plus.

Pro
0 caractères · 0 B
Comment convertir
Sens
Profil d'encodage

Gardés littéraux : !'()*-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~

UTF-8 plus les jeux hérités à un octet. Les jeux multi-octets sont en décodage seul.

Une valeur de requête ou un segment de chemin. Comme encodeURIComponent.

Entrée
Sortie
Collez une URL ou déposez un fichier pour commencer.

Comment encoder ou décoder une URL

  1. 1

    Choisissez Encoder ou Décoder

    Encoder transforme en séquences pourcent les caractères qu'une URL ne peut pas porter littéralement. Décoder fait l'inverse. Le résultat se met à jour pendant la saisie : il n'y a rien à cliquer pour une seule URL.

  2. 2

    Choisissez un profil d'encodage

    Composant convient à une valeur de requête ou un segment de chemin. RFC 3986 strict échappe en plus ! ' ( ) * et correspond à ce qu'exigent OAuth 1.0 et la signature de requêtes AWS. URL complète conserve : / ? & = pour que le lien reste navigable. Formulaire correspond à ce qu'un navigateur envoie lorsqu'il soumet un formulaire.

  3. 3

    Réglez le jeu de caractères si les données ne sont pas en UTF-8

    Laissez UTF-8 sauf si vous travaillez avec un système hérité. Une chaîne de requête produite par une pile ancienne peut contenir des octets Windows-1252 ou Shift_JIS, et choisir le bon jeu transforme %E9 en le caractère qu'il devait être plutôt qu'en erreur.

  4. 4

    Copiez, téléchargez ou repassez le résultat

    Copier place tout le résultat dans le presse-papiers, Télécharger l'enregistre en fichier texte, et Utiliser la sortie comme entrée déplace le résultat dans la zone de saisie et inverse le sens pour vérifier que l'aller-retour se referme.

Ce que fait chaque réglage

Chaque commande ci-dessous change les octets produits, et chacune existe parce qu'un flux de travail réel en a besoin. Rien n'est réservé : les choix sont les mêmes que vous ayez un compte ou non.

Encoder et décoder

Encoder transforme en séquences pourcent les caractères qu'une URL ne peut pas porter littéralement. Décoder fait l'inverse. Le sens détermine aussi les jeux de caractères proposés, car les deux ne sont pas symétriques : un navigateur sait lire bien plus d'encodages hérités qu'il ne sait en écrire.

Le profil d'encodage

Le profil est l'ensemble des caractères laissés intacts. C'est le choix le plus lourd de conséquences de la page, et se tromper produit une sortie qui paraît juste et qu'un serveur particulier refuse. La section suivante compare les quatre.

Le jeu de caractères

Laissez UTF-8 sauf si vous savez le contraire. Il détermine quels octets les séquences représentent, et fait la différence entre %E9 lu comme un e accentué et %E9 comme une erreur. C'est indépendant de la lecture d'un fichier déposé : un fichier Windows-1252 peut légitimement contenir des séquences UTF-8, et les deux réglages sont alors corrects en même temps.

Décodage tolérant

Activé par défaut. Une séquence malformée laisse intact le texte qui l'entoure et est signalée avec sa position exacte, au lieu de faire échouer toute la chaîne. Désactivez-le quand vous voulez un échec net, par exemple pour valider qu'une chaîne est bien formée plutôt que pour la lire.

Passes de décodage répété

Décode jusqu'à cinq fois, en s'arrêtant dès qu'une passe ne change rien. Le nombre rapporté est la profondeur réelle de l'encodage, pas le réglage : une chaîne encodée une seule fois rapportera toujours une passe, quelle que soit la valeur choisie.

Plus comme espace

Un signe plus signifie une espace dans les données de formulaire et nulle part ailleurs. Appliqué par profil : en mode URL complète la substitution n'a lieu qu'après le premier point d'interrogation, donc un plus littéral dans un chemin survit. En mode composant et formulaire, toute la chaîne est traitée comme une requête, parce qu'elle en est une.

Séquences héritées %uXXXX

Les chaînes produites par l'ancienne fonction JavaScript escape(), et par plusieurs piles Microsoft anciennes, utilisent %u suivi de quatre chiffres hexadécimaux pour un caractère non ASCII. Le décodeur standard les rejette purement et simplement. Activez ceci pour les lire.

Ligne par ligne

Convertit chaque ligne séparément et lui rend sa propre fin de ligne. C'est le réglage pour une liste de liens : encoder tout le fichier comme une seule chaîne échapperait les sauts de ligne eux-mêmes et donnerait une unique ligne inutilisable.

Supprimer les espaces autour

Désactivé par défaut, et délibérément. Les espaces sont exactement le type de caractère que le percent-encoding existe pour préserver : les supprimer en silence irait à l'encontre de l'outil. Activez-le quand vous avez copié une URL depuis un courriel et récupéré un saut de ligne au passage.

Pourquoi utiliser un encodeur et décodeur d'URL ?

Les navigateurs, serveurs et caches traitent certains caractères comme de la structure : espaces, esperluettes, dièses et texte non ASCII doivent être échappés lorsqu'ils sont des données et non de la syntaxe. Un outil dédié vous laisse voir la chaîne exacte qu'un client HTTP enverra, avant de livrer le code qui la construit.

Les avantages d'un encodage correct

  • Transmission sûre — les caractères réservés dans du contenu utilisateur cessent de casser les analyseurs qui séparent chemins, requêtes et fragments.
  • Prise en charge d'Unicode — les octets UTF-8 sont représentés en séquences % pour que le texte international survive aux transports ASCII.
  • API prévisibles — s'aligner sur la RFC 3986 réduit les écarts entre le front-end, les applications mobiles et les frameworks backend.
  • Moins d'erreurs 400 — des paramètres correctement encodés sont moins souvent rejetés par des passerelles ou des proxys stricts.
  • Débogage plus simple — comparez une chaîne construite à la main avec ce que produisent les fonctions standard avant de livrer un correctif.

Comment fonctionne l'encodage d'URL

Le percent-encoding réécrit en %HH chaque octet qui ne doit pas apparaître littéralement dans une URL, où HH est hexadécimal. Les caractères qui restent littéraux dépendent du fait que vous protégez une URL entière ou un composant, et c'est la seule chose qui sépare les quatre profils ci-dessous.

Des caractères aux octets puis aux séquences

  • Les caractères deviennent d'abord des octets — le texte est converti en octets dans le jeu choisi. En UTF-8 un e accentué fait deux octets et un caractère japonais trois.
  • Chaque octet est testé — un octet de l'ensemble sûr du profil est écrit littéralement ; tout le reste devient % suivi de deux chiffres hexadécimaux.
  • L'espace est le cas particulier — en encodage de formulaire une espace devient un signe plus plutôt que %20, seul endroit où cette substitution est correcte.
  • Le décodage remonte le chemin — les séquences sont regroupées en suites d'octets et décodées ensemble, car un caractère est souvent plusieurs séquences d'affilée.

Choisir le bon profil d'encodage

Les quatre profils ne diffèrent que par les caractères qu'ils laissent intacts, mais cette différence décide si une signature est validée et si un lien fonctionne encore. Voici ce que chacun garde littéral et quand y recourir.

Composant

Laisse intacts les lettres, les chiffres et - _ . ! ~ * ' ( ). Correspond à la fonction standard encodeURIComponent, et c'est le bon réglage par défaut pour une valeur de requête, un champ de formulaire ou un segment de chemin. Utilisez-le sauf si l'un des trois cas suivants décrit votre situation.

RFC 3986 strict

Ne laisse intacts que les lettres, les chiffres et - . _ ~ — l'ensemble non réservé de la spécification, et rien de plus. Les cinq caractères supplémentaires que garde le mode composant (! ' ( ) *) sont ici échappés. Utilisez-le pour construire une chaîne de base de signature OAuth 1.0 ou une requête canonique AWS Signature Version 4, qui exigent l'ensemble strict. Une divergence ici n'échoue que lorsqu'un de ces cinq caractères apparaît dans les données, ce qui en fait l'un des bogues les plus difficiles à reproduire.

URL complète

Conserve les délimiteurs qui donnent sa forme à une URL — : / ? # & = + $ , ; @ — pour qu'un lien entier reste navigable après encodage. Utilisez-le quand vous nettoyez une URL entière plutôt que d'en assembler une. Le décodage est délibérément asymétrique dans ce mode : %2F reste %2F, car en faire une barre oblique ajouterait un segment de chemin qui n'existait pas. La case Décoder aussi les délimiteurs annule cela quand vous voulez du texte brut.

Formulaire

Ne conserve que les lettres, les chiffres et * - . _ , et écrit une espace sous forme de signe plus. C'est ce qu'un navigateur met réellement sur le réseau lorsqu'il soumet un formulaire, et ce que produit URLSearchParams. Il faut savoir que ce n'est pas la seule définition en circulation : quote_plus de Python échappe l'astérisque et conserve le tilde, l'inverse sur les deux points. Cet outil suit le standard web actuel, car c'est ce contre quoi le serveur destinataire a été construit.

Jeux de caractères et systèmes hérités

Une chaîne encodée est une suite d'octets, et les caractères que ces octets signifient dépendent entièrement de l'encodage utilisé par le système. C'est là que les outils qui ne parlent qu'UTF-8 abandonnent, et cela représente une grande part du travail réel.

Lire des données héritées

Trente-sept jeux de caractères sont disponibles pour le décodage, couvrant les familles à un octet — de Windows-1250 à 1258, la série ISO-8859, KOI8-R et KOI8-U, les jeux Mac et IBM866 — plus les jeux multi-octets d'Asie orientale Shift_JIS, EUC-JP, ISO-2022-JP, EUC-KR, GBK, GB18030 et Big5. Presque tout ce qui a été produit par une pile PHP, ASP ou Java antérieure à 2010 aura besoin de l'un d'eux.

Écrire des données héritées, et ce qui n'est pas possible

Vingt-huit jeux sont disponibles pour l'encodage : UTF-8 et tous les jeux à un octet ci-dessus. Les jeux multi-octets d'Asie orientale sont en décodage seul, et cette limite est énoncée ici plutôt qu'ignorée en silence. Un caractère que le jeu cible ne peut pas représenter est écrit sous forme de référence numérique comme € plutôt que supprimé ou remplacé par un point d'interrogation — précisément ce que fait un navigateur soumettant un formulaire sur une page à encodage hérité, si bien que le serveur destinataire sait déjà le lire.

Quand le décodage échoue, et quoi faire

La plupart des outils de cette catégorie, et la fonction standard decodeURIComponent sur laquelle ils reposent, traitent le décodage comme tout ou rien. Un seul mauvais caractère et vous obtenez un message d'erreur au lieu de vos données. Voici les quatre choses qui échouent réellement, et comment cet outil traite chacune.

  • Une séquence tronquée — un % suivi de moins de deux chiffres hexadécimaux, généralement parce que l'URL a été coupée par une ligne de journal ou un champ texte. Le décodage tolérant le laisse en place et signale sa position.
  • Des octets invalides dans le jeu de caractères — %E9 seul n'est pas de l'UTF-8 valide. Soit les données sont dans un encodage hérité — choisissez-le dans la liste — soit la chaîne est réellement endommagée, et le mode tolérant marque alors l'endroit.
  • Double encodage — %2520 là où %20 était attendu. Augmentez les passes de décodage répété ; l'analyse des paramètres indique lesquels sont concernés.
  • %uXXXX hérité — ce n'est pas du percent-encoding du tout, mais la sortie de l'ancienne fonction escape(). Activez les séquences héritées pour le lire.

Analyser une URL et ses paramètres

Collez quelque chose qui ressemble à une URL et une analyse apparaît sous le résultat : le schéma, l'hôte, le port, le chemin et le fragment, puis un tableau de chaque paramètre de requête avec sa clé et sa valeur décodées individuellement.

Cela existe parce que décoder d'un bloc toute une URL de suivi donne une ligne illisible, alors que la question que vous aviez portait sur le contenu d'un paramètre précis. Le tableau décode chaque clé et chaque valeur à part, et signale celles qui semblent doublement encodées ou contiennent une séquence défectueuse — en pratique il s'agit le plus souvent d'un seul paramètre, généralement une cible de redirection, et le trouver à l'œil dans un lien à quatorze paramètres est ce qui prend du temps. L'analyse rapporte exactement les caractères que vous avez collés : elle ne met pas l'hôte en minuscules, ne supprime pas un port par défaut et ne résout pas les segments .., car un diagnostic qui répare son entrée a détruit la preuve.

À retenir

Les petits détails — comme les signes plus dans les envois de formulaire face au vrai percent-encoding — font trébucher les équipes quand les frameworks ne s'accordent pas.

Référence rapide

  • L'espace est %20 dans une chaîne de requête, mais un signe plus dans un corps application/x-www-form-urlencoded.
  • Seuls les caractères non réservés (lettres, chiffres, - . _ ~) peuvent apparaître non encodés dans l'encodage strict.
  • Le double encodage produit des URL plus longues et peut désorienter les serveurs ; %2520 est la signature à chercher.
  • Le décodeur standard échoue sur un % suivi d'un hexadécimal incomplet, et ne renvoie alors rien du tout.
  • Un caractère japonais devient neuf caractères en sortie : une chaîne encodée peut être bien plus longue que le texte.
  • Les noms de domaine internationalisés utilisent Punycode dans le DNS ; l'encodage d'URL traite le chemin et la requête, pas la conversion de l'hôte.

Bonnes pratiques

Encodez à la frontière où du texte non fiable devient partie d'une URL, et décodez une fois quand vous le retraitez comme des données.

  • Encodez chaque valeur de requête individuellement plutôt que d'encoder l'URL entière deux fois.
  • Journalisez la saisie brute séparément de la chaîne encodée lors du débogage d'analytique ou de redirections.
  • Préférez les liens HTTPS pour partager des URL encodées contenant des jetons sensibles.
  • Validez la sortie décodée avant de l'injecter dans du HTML pour éviter les problèmes liés aux liens malveillants.
  • Testez les deux sens si votre produit prend en charge les liens profonds depuis un courriel ou un SMS.

Cas d'usage idéaux

  • Développement web — construisez des filtres de recherche, des paramètres UTM et des URI de redirection OAuth en confiance.
  • Intégration d'API — reproduisez le comportement du SDK quand la documentation mentionne le percent-encoding de la RFC 3986.
  • QA et support — reproduisez les URL des clients sans deviner quels caractères ont été échappés.
  • Documentation — montrez des exemples avant/après exacts pour les intégrations partenaires.
  • Scripts de migration — comparez les règles d'échappement héritées avec ce que produisent les clients modernes.

Fichiers, lots et limites

Une URL isolée se saisit ou se colle ; une liste arrive sous forme de fichier. Les deux chemins passent par le même moteur et respectent les mêmes limites.

Quels fichiers il ouvre

Texte brut et formats de forme textuelle : .txt, .log, .csv, .tsv, .md, .json, .xml, .html, .yaml, .ini, .env, .sql, .har, les extensions de code courantes et les raccourcis .url. Tout le reste est refusé nommément, avec un lien vers l'outil qui le traite : un PDF est orienté vers l'extracteur de texte plutôt qu'ignoré en silence. Le sélecteur de fichiers ne propose que les formats qui fonctionnent, vous ne pouvez donc pas choisir un fichier et voir qu'il ne se passe rien.

Quels encodages de texte il lit

UTF-8, UTF-8 avec marque d'ordre des octets, et UTF-16 dans l'un ou l'autre ordre quand le fichier porte une marque qui l'identifie. Un fichier UTF-16 sans marque est refusé plutôt que deviné, car l'ordre des octets est un pile ou face et se tromper produit un charabia convaincant plutôt qu'une erreur. Quel que soit l'encodage d'arrivée, c'est celui de départ : un CSV Windows ne revient pas sous une forme qu'Excel ouvre mal.

Ce que la version gratuite comprend

Tous les profils d'encodage, tous les jeux de caractères pris en charge par l'appareil, le décodage tolérant, le décodage répété, les séquences héritées, la conversion ligne par ligne et l'analyse des paramètres — plus un fichier à la fois jusqu'à 10 Mo, et du collage illimité dans la même taille. Aucune fonction de conversion n'est retenue.

Ce que Pro ajoute

Une file de vingt fichiers maximum, un téléchargement ZIP unique pour tout le lot, et la suppression du plafond de 10 Mo — Pro est limité par ce que votre appareil peut contenir, pas par un nombre fixe plus grand. La limite gratuite de 10 Mo est là où elle est parce que le percent-encoding est la rare opération texte dont la sortie est plus grande que l'entrée : chaque octet peut devenir trois caractères, donc 10 Mo en entrée peuvent faire 31 millions de caractères en sortie.

Limites et compatibilité

Trois choses que cet outil ne fait délibérément pas. Les jeux de caractères multi-octets d'Asie orientale sont disponibles au décodage mais pas à l'encodage, car leurs tables ne peuvent pas être dérivées à l'envers de ce qu'un navigateur fournit. Le décodage répété s'arrête à cinq passes, bien au-delà de toute profondeur observée en pratique. Et l'analyse des paramètres rapporte l'URL telle qu'elle a été saisie plutôt que de la normaliser : elle vous montrera donc volontiers une URL malformée, ce qui est précisément le but.

Mesuré sur la machine de référence : une URL de 100 000 caractères se convertit en moins d'une milliseconde, et un document à la limite gratuite de 10 Mo en bien moins d'une seconde. La conversion se fait pendant la saisie jusqu'à environ un quart de million de caractères ; au-delà elle passe hors du fil de l'interface pour que la page ne cesse jamais de répondre.

Questions fréquentes

Comment fonctionne cet encodeur et décodeur d'URL ?

Choisissez Encoder pour transformer les caractères réservés en séquences pourcent, ou Décoder pour revenir au texte brut. Choisissez un profil, saisissez ou collez votre chaîne, et le résultat se met à jour en direct. Copiez la sortie d'un clic, ou déposez un fichier texte pour convertir toute une liste de liens d'un coup.

Quelle est la différence entre l'encodage de composant et d'URL complète ?

Le mode composant encode presque tous les caractères réservés, ce qu'il faut pour une clé ou une valeur de requête ou un segment de chemin. Le mode URL complète laisse intacts les délimiteurs structurels comme : / ? & = pour que l'URL reste navigable après encodage. Faites correspondre le décodeur à celui que vous avez utilisé, sinon l'aller-retour ne se referme pas.

Mes données sont-elles privées et sécurisées ?

Oui. Tout se passe sur votre appareil et rien de ce que vous collez ou déposez n'est envoyé où que ce soit. C'est aussi pourquoi l'outil continue de fonctionner hors ligne une fois la page chargée, et pourquoi les limites qui existent concernent ce que votre propre appareil peut contenir, pas nos serveurs.

Qu'est-ce que le percent-encoding et comment les caractères Unicode sont-ils traités ?

Le percent-encoding écrit chaque octet qui ne peut pas apparaître littéralement dans une URL sous la forme % suivi de deux chiffres hexadécimaux, si bien qu'une espace devient %20. Le texte non ASCII est d'abord converti en UTF-8, puis chaque octet est échappé : les caractères internationaux et les emoji survivent aux transports ASCII selon la RFC 3986. Un caractère japonais devient neuf caractères en sortie, d'où des chaînes encodées plusieurs fois plus longues que ce que vous avez saisi.

Pourquoi decodeURIComponent échoue-t-il sur ma chaîne alors que cet outil non ?

La fonction JavaScript intégrée fait échouer toute la chaîne dès la première séquence malformée et ne renvoie rien : un seul %E tronqué en fin de ligne de journal vous coûte l'URL entière. Cet outil décode de façon tolérante par défaut : il renvoie tout ce qui est valide et vous indique la position exacte de chaque séquence illisible. Désactivez le décodage tolérant si vous préférez un échec net.

Comment corriger une URL doublement encodée ?

Une valeur passée deux fois dans un encodeur affiche %2520 là où %20 était attendu. Augmentez le nombre de passes de décodage au-delà de un : l'outil décode jusqu'à ce que la chaîne cesse de changer, puis vous indique combien de passes ont réellement été nécessaires. L'analyse des paramètres signale aussi chaque paramètre qui semble doublement encodé, en général un seul.

Quel profil utiliser pour OAuth ou la signature de requêtes AWS ?

RFC 3986 strict. La fonction intégrée encodeURIComponent laisse cinq caractères non échappés — ! ' ( ) * — et les chaînes de base de signature OAuth 1.0 comme les requêtes canoniques AWS Signature Version 4 exigent qu'ils le soient. Se tromper ici produit une signature rejetée uniquement quand l'un de ces cinq caractères apparaît dans les données, ce qui rend le problème particulièrement difficile à reproduire.

Quand un signe plus est-il une espace ?

Uniquement dans les données application/x-www-form-urlencoded, c'est-à-dire les chaînes de requête et les corps de formulaire. Un plus dans un chemin est un plus littéral. Cet outil applique la règle par profil plutôt qu'à toute la chaîne : décoder https://exemple.com/a+b?q=c+d en URL complète laisse le chemin intact et ne transforme en espace que le plus de la requête.

Puis-je encoder du texte qui n'est pas en UTF-8 ?

Oui. L'outil propose 28 jeux de caractères pour l'encodage — UTF-8 plus les jeux hérités à un octet comme Windows-1252, ISO-8859-5 et KOI8-R — et 37 pour le décodage, qui couvrent en plus des jeux multi-octets comme Shift_JIS, GB18030, Big5 et EUC-KR. Un caractère que le jeu cible ne peut pas représenter est écrit sous forme de référence numérique plutôt que supprimé, exactement comme le fait un navigateur qui soumet un formulaire dans un encodage hérité.

Puis-je convertir un fichier entier ou une liste de liens ?

Oui. Déposez un .txt, .csv, .log, .json ou l'un des autres formats texte acceptés, et activez ligne par ligne pour convertir chaque ligne séparément en conservant sa propre fin de ligne. La version gratuite convertit un fichier jusqu'à 10 Mo ; Pro porte la file à vingt fichiers, ajoute un téléchargement ZIP unique pour le lot et lève la limite de taille jusqu'à ce que votre appareil peut gérer.

L'outil est-il gratuit et fonctionne-t-il hors ligne sur mobile ?

Oui. L'encodeur/décodeur d'URL est entièrement gratuit. Il fonctionne sur téléphone, tablette et ordinateur, et une fois la page chargée il continue de fonctionner sans connexion internet.

4.8sur 5

sur 521 notes

Notez cet outil

Touchez une étoile — c’est rapide