§

Inserisci il testo da decodificare:

Inserisci il testo codificato URL che vuoi decodificare. Lo strumento convertirà i caratteri codificati per percentuale nella loro forma originale.
§

Output

decoded

Per chi gestisce hosting su Aruba, Seeweb o OVH-IT la decodifica percentuale è il primo passo per leggere i log NGINX e Apache di un e-commerce italiano: campagne UTM tracciate su GA4, redirect inviati da pagoPA dopo un pagamento, return URL dei provider SPID e CIE 3.0 dopo l'autenticazione, callback di SumUp e Nexi Pay e parametri di OAuth state arrivano sempre codificati. Utile anche per ricostruire l'IUV originale di un Avviso di Pagamento bloccato dalle WAF di TIM Cloud o di Cloudflare, per esaminare gli URL salvati nel database di Magento e PrestaShop tradotti in italiano, e per indagare i webhook che l'app IO invia ai backend dei Comuni che pubblicano i propri servizi tramite IO citizen.

Opzioni avanzate

Converti + in spazi

Quando abilitata, i caratteri + verranno convertiti in spazi. Questo è utile durante la decodifica dei parametri di query.

Modalità live

Quando abilitata, il testo verrà decodificato automaticamente mentre digiti.

Queste opzioni ti aiutano a controllare come i caratteri codificati vengono decodificati nei tuoi URL.

Che cos’è la decodifica URL?

La decodifica URL inverte la codifica percentuale: legge le sequenze di escape %XX in un URL codificato e le riconverte nei caratteri che rappresentano. È così che si recupera una query string, un valore di modulo o un segmento di percorso leggibile da un URL consegnato già codificato da un browser, un'API o una riga di log.

Come funziona la decodifica URL?

La decodifica URL segue un processo specifico per riconvertire le sequenze codificate in percentuale nei loro caratteri originali:

  1. La stringa di input viene analizzata alla ricerca di sequenze di escape codificate in percentuale (%XX)
  2. Ogni %XX viene riconvertito dalle sue due cifre esadecimali al valore di byte originale
  3. I byte decodificati consecutivi vengono riassemblati in caratteri UTF-8 (una sequenza multi-byte diventa un singolo carattere)
  4. Nel contesto di una stringa di query, + viene decodificato come spazio (application/x-www-form-urlencoded), mentre %2B resta un + letterale
  5. I caratteri non riservati e il testo già decodificato passano senza modifiche

Perché usare un decodificatore URL?

  • Output leggibile: trasforma %20, %40 e %3D di nuovo in spazio, @ e = così puoi leggere cosa dice davvero un URL
  • Testo internazionale: ricostruisce i caratteri accentati e non ASCII dalle rispettive sequenze di byte UTF-8, così %C3%A9 torna a essere é
  • Debug: ispeziona i valori reali dentro una query string, un redirect OAuth o un payload di webhook prima di agire
  • Conforme agli standard: decodifica secondo RFC 3986, le stesse regole usate da browser e server, così vedi esattamente ciò che vedono loro

Quali sono le applicazioni comuni della decodifica URL?

La decodifica URL è essenziale in molti scenari di sviluppo web:

  • Invio di moduli: lettura dei valori originali dei campi dai dati GET e POST in formato application/x-www-form-urlencoded
  • Sviluppo API: spacchettamento dei parametri di percorso e query con codifica percentuale che arrivano a un endpoint API
  • File system: recupero di percorsi e nomi di file che erano stati codificati con la percentuale per viaggiare dentro un URL
  • Debug dei link: decodifica di URL condivisi o registrati nei log per vedere i caratteri speciali e il testo internazionale che contengono

Com’è fatto un esempio di decodifica URL?

Ecco alcuni esempi comuni di decodifica URL: %20 (o +) diventa uno spazio, %40 diventa @, %23 diventa #, %26 diventa &, e %3D diventa =. Una sequenza UTF-8 come %C3%A9 diventa il carattere internazionale é.

Che cos'è la codifica percentuale?

La codifica percentuale è il meccanismo definito dalla RFC 3986 §2.1 per rappresentare caratteri non sicuri o riservati all'interno di un URI. La regola è meccanica: ogni byte che non può apparire letteralmente viene scritto come un segno di percentuale seguito da due cifre esadecimali — la forma %XX —, dove XX è il valore del byte. I caratteri non ASCII come é vengono prima codificati come la loro sequenza di byte UTF-8 e poi ogni byte viene codificato percentualmente singolarmente. Gli sviluppatori si imbattono in questo quasi quotidianamente: nelle query string, negli invii di moduli, negli URL di callback OAuth, nei parametri di percorso delle API REST e ovunque un URL debba trasportare punteggiatura, spazi o caratteri al di fuori dell'insieme non riservato A–Z a–z 0–9 - _ . ~.

Come funziona davvero la decodifica di %C3%A9 in é?

Prendi la query string codificata ?q=caf%C3%A9&lang=fr. La decodifica produce ?q=café&lang=fr. Ecco la spiegazione byte per byte:

  • Ingresso: ?q=caf%C3%A9&lang=fr
  • Uscita: ?q=café&lang=fr
  1. %C3 → byte 0xC3 (binario 11000011) — il byte iniziale di una sequenza UTF-8 da 2 byte.
  2. %A9 → byte 0xA9 (binario 10101001) — il byte di continuazione. Insieme, C3 A9 è la codifica UTF-8 di U+00E9, che è é.
  3. I caratteri ?, = e & rimangono intatti perché sono strutturali — delimitano la query e le sue coppie chiave/valore. Anche il letterale caf passa senza modifiche, poiché le lettere ASCII minuscole appartengono all'insieme non riservato.

Qual è la differenza tra decodeURIComponent e decodeURI?

JavaScript espone due decoder integrati, e confonderli è uno dei bug più comuni nella gestione degli URL:

  • decodeURIComponent(str) decodifica ogni sequenza codificata percentualmente, inclusi i caratteri riservati come &, =, ?, / e #. Usalo su singoli valori di query string o segmenti di percorso — mai su un URL intero.
  • decodeURI(str) è volutamente conservativo: salta i caratteri riservati. Passargli %26 restituisce la stringa letterale %26, non &. È pensato per URI interi in cui si vuole che la struttura sopravviva a un'andata e ritorno.

Regola pratica: se la stringa è un pezzo di un URL (un singolo parametro, un frammento, un nome di file codificato), scegli decodeURIComponent. Questo strumento si comporta come decodeURIComponent — ogni sequenza %XX nel tuo input viene decodificata, inclusi i caratteri riservati.

Decodificare un URL è il modo in cui leggi davvero ciò che contiene. Incolla una stringa codificata qui sopra e ogni sequenza %XX si riconverte immediatamente nel suo carattere nel tuo browser, così puoi fare il debug di un parametro di query, verificare un redirect OAuth o recuperare un nome di file accentato senza inviare nulla a un server.