NewIntroducing QODEX QA Services — platform-powered QA for API-driven teams.Learn more →
Décodeur URL en ligne

Décodeur URL

Décodez n'importe quelle URL percent-encodée avec le Décodeur URL de Qodex. Convertissez des valeurs comme %3A, %20 et %2F en caractères lisibles. Pour encoder des URLs, consultez notre Encodeur URL, ou gérez l'Unicode avec notre Décodeur UTF-8 et notre Décodeur Base64.

Décodeur URL - Documentation

Qu'est-ce que le décodage URL ?

Le décodage URL est le processus de conversion des caractères encodés dans une chaîne URL vers leur forme originale lisible. Dans une URL, certains caractères (comme les espaces ou les symboles spéciaux) sont remplacés par des valeurs percent-encodées pour assurer la compatibilité avec tous les navigateurs et serveurs.

Par exemple :

https%3A%2F%2Fexample.com%2Ffile%20name

...devient :

https://example.com/file name

Comment fonctionne le décodage URL ?

Quand une URL est encodée, les caractères spéciaux sont remplacés par des signes pourcent (%) suivis de valeurs hexadécimales à deux chiffres. Le décodeur lit la chaîne, identifie ces séquences %xx et les reconvertit en leurs équivalents ASCII ou UTF-8.

Par exemple :

  • %20 = espace ( )

  • %3A = deux-points (:)

  • %2F = barre oblique (/)

Ce processus utilise des fonctions de décodage standard disponibles dans tous les langages de programmation majeurs.

Comment utiliser le Décodeur URL Qodex

  1. Collez votre URL ou chaîne percent-encodée.

  2. Cliquez sur «Décoder».

  3. Obtenez instantanément le texte propre et lisible dans la zone de sortie.

  4. Utilisez «Copier» ou téléchargez le résultat.

Cet outil fonctionne entièrement dans votre navigateur et prend en charge le décodage d'URLs complètes, de chaînes de requête et de fragments de texte encodés.

Tableau de référence du percent-encoding

Voici les caractères percent-encodés les plus fréquents dans les URLs, basés sur la RFC 3986 :

EncodéDécodéDescription
%20(espace)Caractère espace
%21!Point d'exclamation
%22"Guillemet double
%23#Dièse / identifiant de fragment
%24$Signe dollar
%25%Signe pourcent (littéral)
%26&Esperluette / séparateur de requête
%27'Apostrophe / guillemet simple
%28(Parenthèse ouvrante
%29)Parenthèse fermante
%2A*Astérisque
%2B+Signe plus
%2C,Virgule
%2F/Barre oblique / séparateur de chemin
%3A:Deux-points
%3B;Point-virgule
%3C<Inférieur à
%3D=Signe égal
%3E>Supérieur à
%3F?Point d'interrogation / début de requête
%40@Arobase
%5B[Crochet ouvrant
%5C\Barre oblique inverse
%5D]Crochet fermant
%5E^Accent circonflexe
%60`Accent grave
%7B{Accolade ouvrante
%7C|Barre verticale
%7D}Accolade fermante
%7E~Tilde
+(espace)Espace dans application/x-www-form-urlencoded

Décodage URL dans différents langages de programmation

Voici comment décoder des URLs dans les langages de programmation les plus populaires :

JavaScript

// Decode a full URI (preserves special URI characters)
const decoded = decodeURI('https://example.com/path%20with%20spaces');
// Output: https://example.com/path with spaces

// Decode a URI component (decodes everything including :, /, ?) const param = decodeURIComponent('hello%20world%26foo%3Dbar'); // Output: hello world&foo=bar

Python

from urllib.parse import unquote, unquote_plus

Decode percent-encoded URL

decoded = unquote('https%3A%2F%2Fexample.com%2Ffile%20name')

Output: https://example.com/file name

Decode form-encoded string (+ as space)

decoded_form = unquote_plus('hello+world%26foo%3Dbar')

Output: hello world&foo=bar

Java

import java.net.URLDecoder;

import java.nio.charset.StandardCharsets;

String encoded = "https%3A%2F%2Fexample.com%2Ffile%20name"; String decoded = URLDecoder.decode(encoded, StandardCharsets.UTF_8); // Output: https://example.com/file name

PHP

// Decode percent-encoded string
$decoded = urldecode('https%3A%2F%2Fexample.com%2Ffile%20name');
// Output: https://example.com/file name

// Decode without converting + to space $decoded_raw = rawurldecode('hello%20world%2B'); // Output: hello world+

Go

package main

import ( "fmt" "net/url" )

func main() { decoded, err := url.QueryUnescape("https%3A%2F%2Fexample.com%2Ffile%20name") if err != nil { fmt.Println("Error:", err) return } fmt.Println(decoded) // Output: https://example.com/file name }

Caractères réservés et non réservés dans les URLs (RFC 3986)

Comprendre quels caractères sont réservés et lesquels ne le sont pas explique pourquoi certains caractères sont percent-encodés dans les URLs.

Caractères non réservés (ne nécessitent jamais d'encodage)

Ces caractères peuvent apparaître dans n'importe quelle partie d'une URL sans encodage :

A-Z  a-z  0-9  -  _  .  ~

Caractères réservés (ont une signification spéciale dans les URLs)

Ces caractères ont des rôles spécifiques dans la syntaxe URL. Ils doivent être percent-encodés lorsqu'ils sont utilisés en dehors de leur usage prévu :

CaractèreRôle dans les URLs
:Sépare le schéma de l'autorité (https:), numéro de port
/Séparateur de chemin
?Commence la chaîne de requête
#Commence l'identifiant de fragment
[ ]Littéraux d'adresse IPv6
@Sépare les informations utilisateur de l'hôte
!Sous-délimiteur
$Sous-délimiteur
&Sépare les paramètres de requête
'Sous-délimiteur
( )Sous-délimiteurs
*Sous-délimiteur
+Sous-délimiteur (représente aussi l'espace dans les données de formulaire)
,Sous-délimiteur
;Sous-délimiteur
=Sépare la clé de la valeur dans les paramètres de requête

Quand un caractère réservé apparaît dans un composant URL où il ne joue pas son rôle réservé (par exemple, un & littéral dans une valeur de paramètre de requête), il doit être percent-encodé en %26.

Cas d'utilisation pratiques

  • Débogage d'URLs : inspectez rapidement des paramètres de requête complexes ou cassés.

  • Nettoyage de données : décodez des données encodées provenant de formulaires, de journaux ou d'APIs.

  • Développement web : décodez des chaînes avant un traitement ultérieur dans vos applications.

  • Analyse SEO : comprenez les URLs lisibles par l'humain à partir de versions encodées dans les rapports d'analyse et d'exploration.

  • Revues de sécurité : inspectez les liens suspects et les entrées obfusquées pour détecter des injections potentielles.

Outils associés

Bonnes pratiques

  • Les URLs contiennent souvent plusieurs couches d'encodage. Si après décodage vous voyez encore des %, relancez le décodage.

  • Ne décodez pas une valeur plus d'une fois, à moins d'être certain qu'elle a été encodée plusieurs fois.

  • Utilisez cet outil avec notre Encodeur URL pour des tests aller-retour.

  • Décodez les chaînes de requête pour séparer les paramètres lors du débogage ou de l'analyse.

  • Dans les données de formulaire (application/x-www-form-urlencoded), + représente un espace, pas %20.

Frequently Asked Questions

Que signifie %20 dans une URL ?

%20 est la représentation percent-encodée d'un caractère espace. Quand une URL contient un espace, il est encodé en %20 pour que l'URL reste valide dans tous les navigateurs et serveurs. Par exemple, «mon fichier.html» devient «mon%20fichier.html» dans une URL.

Quelle est la différence entre decodeURI et decodeURIComponent ?

decodeURI() décode un URI complet mais préserve les caractères ayant une signification spéciale dans les URLs (comme :, /, ?, #, &). decodeURIComponent() décode tout, y compris ces caractères spéciaux. Utilisez decodeURI pour les URLs complètes et decodeURIComponent pour les valeurs individuelles des paramètres de requête.

Comment décoder les paramètres URL en Python ?

Utilisez urllib.parse.unquote() pour décoder les chaînes percent-encodées, ou urllib.parse.unquote_plus() pour convertir aussi les signes + en espaces (courant dans les données de formulaire). Exemple : urllib.parse.unquote("%2Fpath%20to%20file") retourne "/path to file".

Quels types de caractères encodés cet outil peut-il décoder ?

Cet outil décode toutes les séquences percent-encodées dans les URLs, comme %20 (espace), %3A (deux-points), %2F (barre oblique), %26 (esperluette), %3F (point d'interrogation), %40 (arobase), et bien d'autres. Il fonctionne avec des URLs complètes, des chaînes de requête et des fragments de texte autonomes.

Puis-je décoder plusieurs couches d'encodage ?

Oui. Certaines URLs sont doublement encodées (ex. %2520 devient %20, puis un espace). Vous pouvez relancer le décodage sur la sortie pour résoudre plusieurs couches.

Cet outil est-il sûr pour des données confidentielles ?

Oui. Tout le décodage s'effectue dans votre navigateur via JavaScript. Vos données ne quittent jamais votre appareil et ne sont envoyées à aucun serveur. C'est complètement privé et sécurisé.

Que se passe-t-il si je colle une URL normale (non encodée) ?

Si l'entrée ne contient aucun caractère percent-encodé, l'outil retournera le même texte sans modification. Il ne décode que les caractères correspondant à un format hexadécimal %xx valide.

Quelle est la différence entre %20 et + pour les espaces ?

Les deux représentent des espaces, mais dans des contextes différents. %20 est utilisé dans les chemins URL et le percent-encoding général. Le signe + représente un espace spécifiquement dans le format application/x-www-form-urlencoded (soumissions de formulaires HTML). La fonction decodeURIComponent ne convertit pas + en espace, tandis que unquote_plus en Python le fait.

Testez vos API dès aujourd'hui !

Rédigez en langage naturel, Qodex génère des tests sécurisés et prêts à l'exécution.