La codifica URL spiegata
Aggiornato 2026-07-06
Copia un URL con dentro un termine di ricerca e vedrai spesso qualcosa come %20 o %C3%A9 dove dovrebbe esserci uno spazio o una lettera accentata. È la codifica URL all'opera. Questa guida spiega cosa fa, perché serve e quali caratteri vengono sottoposti a escape.
Cos'è la codifica URL
La codifica URL — chiamata anche codifica percentuale (percent-encoding) — è un modo di rappresentare in un URL caratteri che altrimenti sarebbero non sicuri o ambigui. Ciascun carattere di questo tipo viene sostituito da un % seguito dal suo valore di byte in esadecimale. Uno spazio diventa %20; una e commerciale diventa %26.
Perché serve
Gli URL possono contenere solo un insieme limitato di caratteri, e alcuni hanno compiti speciali: ? avvia la stringa di query, & separa i parametri, / separa i segmenti di percorso e # marca un frammento. Se un valore che metti in un URL contiene uno di questi, va codificato perché sia trattato come dato, non come struttura.
Search term: cats & dogs In a URL: ?q=cats%20%26%20dogs
Senza codifica, la & grezza verrebbe letta come l'inizio di un nuovo parametro, e la ricerca si romperebbe.
Caratteri riservati vs. non riservati
- I caratteri non riservati (Unreserved) — lettere, cifre e
- _ . ~— sono sempre sicuri e non richiedono mai codifica. - I caratteri riservati (Reserved) — come
? & / # : @ =— hanno un significato speciale e vanno codificati quando usati come dati letterali. - Tutto il resto — spazi, lettere accentate, emoji e la maggior parte dei simboli — è codificato in base ai suoi byte UTF-8, ed è per questo che un carattere può diventare più coppie
%xx.
Una confusione comune: il segno più
Nella stringa di query di un invio di modulo, gli spazi a volte sono codificati come + anziché %20. Entrambi possono significare «spazio» a seconda del contesto, il che fa inciampare — nel dubbio, %20 è sempre sicuro.
Codifica URL vs. Base64
Risolvono problemi diversi. La codifica URL rende il testo sicuro da mettere dentro un URL; Base64 rende i dati binari sicuri da spostare attraverso canali testuali. A volte sono combinati (Base64URL) ma non sono intercambiabili.
Per codificare o decodificare un valore, usa l'encoder URL, e per smontare tutti i parametri di una stringa di query, il parser di stringhe di query li suddivide in un elenco leggibile.
Altro su Formati di dati & codifica
Vedi tutte le guide di Formati di dati & codifica →Strumenti citati in questa guida