Vai al contenuto
Case Converter Online
it

Codifica e decodifica URL

Codifica in percentuale un testo perché sia sicuro dentro un link, o decodifica un URL codificato in testo semplice. Puoi scegliere tra un singolo valore, un URL completo o i dati di un modulo.

Funziona in entrambe le direzioni. In decodifica le sequenze % non valide restano come sono.

Che cos’è la codifica URL

La codifica e decodifica URL esiste perché un indirizzo web può contenere solo un piccolo insieme di caratteri: lettere, cifre e pochi simboli come -, ., _ e ~. Altri caratteri hanno compiti speciali. ? apre la query string, & separa i parametri, = unisce un nome a un valore e # apre un frammento. Spazi e lettere al di fuori dell’alfabeto inglese non sono ammessi affatto, e questo vale anche per le vocali accentate dell’italiano.

La codifica URL, detta anche percent encoding o codifica percentuale, risolve il problema. Ogni carattere non sicuro viene convertito in byte UTF-8, e ogni byte viene scritto come % seguito da due cifre esadecimali. Uno spazio diventa %20, & diventa %26 ed é diventa %C3%A9.

Come usare il codificatore URL

Codificare. Scrivi o incolla il testo in Testo semplice. La versione codificata compare in URL codificato. Premi Copia per prenderla.

Decodificare. Incolla il testo codificato in URL codificato. Il testo leggibile compare a sinistra.

Scegli cosa stai codificando con il menu Cosa stai codificando? sotto i riquadri:

  • Un valore o una parte di URL (encodeURIComponent) è la scelta giusta quasi sempre. Codifica tutto tranne lettere, cifre e - _ . ~. Usalo per termini di ricerca, valori dei parametri e segmenti del percorso.
  • Un URL completo, mantiene : / ? & = (encodeURI) lascia intatta la struttura dell’indirizzo e codifica solo spazi, lettere non inglesi e caratteri simili.
  • Dati di un modulo, spazi come + (x-www-form-urlencoded) corrisponde a ciò che invia il browser quando invii un modulo HTML. Gli spazi diventano + e, in decodifica, + torna a essere uno spazio.

Cancella svuota entrambi i riquadri.

Come funziona

Il testo viene prima trasformato in byte UTF-8. Ogni byte non ammesso viene sostituito da % e dal suo valore in esadecimale. La lettera é in UTF-8 occupa due byte, quindi diventa due sequenze: %C3%A9. Un’emoji occupa quattro byte, quindi diventa quattro sequenze.

In modalità componente questo strumento va un passo oltre la semplice funzione del browser. Codifica anche ! ' ( ) *, seguendo la RFC 3986. Questi caratteri sono tecnicamente ammessi, ma hanno causato problemi con alcuni server e client di posta.

La decodifica fa il percorso inverso. Le sequenze %XX consecutive vengono raccolte in byte e lette come UTF-8.

Esempi

Input Componente URL completo Dati di modulo
hello world hello%20world hello%20world hello+world
Tom & Jerry Tom%20%26%20Jerry Tom%20&%20Jerry Tom+%26+Jerry
a+b=c a%2Bb%3Dc a+b=c a%2Bb%3Dc
50% off 50%25%20off 50%25%20off 50%25+off
café caf%C3%A9 caf%C3%A9 caf%C3%A9
it's (ok)*! it%27s%20%28ok%29%2A%21 it's%20(ok)*! it%27s+%28ok%29%2A%21

Con un testo italiano: caffè & cornetto in modalità componente diventa caff%C3%A8%20%26%20cornetto, e come dati di modulo caff%C3%A8+%26+cornetto. La è, come la é, occupa due byte.

Un indirizzo completo mostra meglio la differenza. https://example.com/a b?q=1&r=é in modalità URL completo diventa https://example.com/a%20b?q=1&r=%C3%A9, che funziona ancora come link. In modalità componente lo stesso testo diventa https%3A%2F%2Fexample.com%2Fa%20b%3Fq%3D1%26r%3D%C3%A9, che è corretto solo quando l’intero indirizzo è a sua volta il valore di un parametro, come la destinazione di un reindirizzamento.

Consigli e limiti

  • Codifica i valori, non i link interi. Costruisci prima il link, poi codifica solo i pezzi che inserisci.
  • Attenzione alla doppia codifica. Se vedi %2520, il testo è stato codificato due volte. Decodificalo una volta.
  • + non è sempre uno spazio. Significa spazio solo nei dati dei moduli. In un percorso, + è un normale segno più. Scegli la modalità giusta prima di decodificare.
  • Codificare non è nascondere. Chiunque può leggere un testo codificato. Non mettere password nei link.
  • Maiuscole e minuscole non contano nelle sequenze. %c3%a9 e %C3%A9 significano la stessa cosa. Lo stile più diffuso è il maiuscolo.

Altri modi per farlo

JavaScript. encodeURIComponent('Tom & Jerry') restituisce Tom%20%26%20Jerry. Usa decodeURIComponent per tornare indietro. Nota che genera un errore con una sequenza rovinata come %zz, mentre questo strumento la lascia al suo posto.

Python. urllib.parse.quote('Tom & Jerry', safe='') restituisce Tom%20%26%20Jerry, e urllib.parse.quote_plus restituisce Tom+%26+Jerry.

Excel. =ENCODEURL(A1) codifica in percentuale il testo della cella A1 (Excel 2013 e successivi su Windows). Nell’Excel italiano la funzione si chiama CODIFICA.URL.

Riga di comando. curl --data-urlencode "q=Tom & Jerry" codifica il valore di un modulo mentre lo invia.

Strumenti correlati

Stai creando link per una campagna? Il generatore di link UTM codifica ogni parametro al posto tuo. Per trasformare un titolo in un percorso pulito, usa il generatore di slug. Per dati binari dentro un URL, la codifica Base64 con l’opzione sicura per URL è spesso più adatta.

Codificatore URL: domande e risposte

Cosa significa %20 in un URL?

%20 è uno spazio codificato. Lo spazio non è ammesso in un indirizzo web, quindi si scrive come segno di percentuale seguito dal valore del suo byte in esadecimale, cioè 20. Nei dati dei moduli lo spazio si scrive spesso come +.

Devo codificare un URL intero o solo una parte?

Di solito solo la parte che inserisci, come un termine di ricerca o il valore di un parametro. Se codifichi un URL intero come componente, vengono codificati anche i caratteri : e /, e il link si rompe. Usa la modalità URL completo solo quando hai un indirizzo completo che contiene spazi o lettere accentate.

Perché dopo la codifica compare %25?

%25 è un segno di percentuale codificato. Se codifichi un testo già codificato, ogni % diventa %25. Per esempio a%20b, codificato di nuovo, diventa a%2520b. Decodifica prima, poi codifica una volta sola.

Può decodificare un URL rovinato o codificato a metà?

Sì. Le sequenze valide come %C3%A9 vengono decodificate, e tutto ciò che non è una sequenza valida, come un % isolato, resta com'è. Un solo carattere sbagliato non fa mai fallire tutto il testo.

Altri strumenti per codice e dati

Vedi tutti gli strumenti