Codificatore e Decodificatore di URL
Scrivi o incolla del testo, scegli Codifica o Decodifica, poi Componente o URL completo — il risultato si aggiorna in tempo reale e non lascia mai il tuo browser.
Componente: esegue l'escape di & = ? / e altri caratteri riservati — usalo per un singolo valore che verrà inserito in una URL.
Componente vs. URL completo: due compiti diversi
Entrambe le modalità trasformano i caratteri non sicuri in byte
codificati con %XX, ma non sono d'accordo su quali
caratteri contino come "non sicuri" — ed è proprio questo il
punto. La modalità Componente usa encodeURIComponent/decodeURIComponent
del browser, che esegue l'escape di tutto ciò che non è una
lettera semplice, una cifra o un piccolo insieme di
punteggiatura sicura — inclusi i caratteri strutturali della URL
come &, =, ? e /. È corretto quando il tuo testo diventerà un solo valore dentro una URL che qualcun altro sta
costruendo — un termine di ricerca, una destinazione di
reindirizzamento, un frammento di JSON in una query string —
perché quei caratteri strutturali devono essere neutralizzati
per non essere scambiati per sintassi URL. La modalità URL completo usa encodeURI/
decodeURI, che riconosce che & = ? / : @ # e simili sono proprio ciò che fa
di una URL una URL, e li lascia intatti — esegue l'escape solo
dei caratteri realmente non validi in una URL, come gli spazi o
Unicode non codificato. È corretto quando il tuo testo è già un
link completo e vuoi solo che sia valido.
Esempio pratico
Codificare https://example.com/search?q=a&b
produce due risultati diversi, entrambi corretti, a seconda
della modalità:
-
Componente →
https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Da%26b— ogni carattere strutturale viene codificato. Incollalo dentro un'altra URL come singolo valore di query (es.?redirect=https%3A%2F%2F...) e resterà intatto; incollalo così com'è nella barra degli indirizzi ed è solo una stringa rotta e illeggibile. -
URL completo →
https://example.com/search?q=a&b— completamente invariato, perché ogni carattere presente è già valido dentro un URI. La modalità URL completo entra in gioco solo quando c'è davvero qualcosa di non valido da codificare, come uno spazio: codificare?q=ciao mondoproduce?q=ciao%20mondoin entrambe le modalità, perché uno spazio non codificato non è mai valido in nessuna delle due.
L'errore da evitare: far passare un link intero nella modalità
Componente. Codificherà allegramente anche :// e
ogni &, trasformando un link funzionante in una
stringa che non funziona più come URL — è esattamente per questo
che esiste la modalità URL completo.
Domande frequenti
Quando conviene usare la modalità Componente invece di URL completo?
Usa la modalità Componente quando il testo che stai codificando diventerà UNA SOLA PARTE di una URL — il valore di un parametro di query, un segmento di percorso — che poi inserirai dentro una URL più grande. Questa modalità esegue l'escape di tutti i caratteri con un significato speciale in una URL (inclusi /, ?, & e =), così un valore come "a&b=c" non può rompere per errore la struttura della URL in cui viene inserito. Usa la modalità URL completo quando il testo è già un link completo e autonomo e vuoi solo assicurarti che sia valido — per esempio prima di stamparlo, salvarlo o passarlo a una funzione che si aspetta una URL vera. Questa modalità lascia intatti i caratteri strutturali come :, /, ?, & e =, perché sono proprio quelli che fanno funzionare il link.
Perché a volte la decodifica mostra un errore invece di un risultato?
La codifica percentuale segue un formato rigido: un % deve sempre essere seguito da esattamente due cifre esadecimali (come %20 o %3F). Se il testo che stai decodificando contiene un % isolato non seguito da due cifre esadecimali valide — spesso per una doppia codifica andata storta, un copia-incolla troncato, o testo che non era mai stato codificato — la funzione decodeURIComponent o decodeURI del browser lancia un URIError invece di tirare a indovinare. Questo strumento intercetta l'errore e mostra un messaggio chiaro invece di un risultato vuoto o di un errore in console.
Se decodifico in modalità URL completo, %26 e %3D torneranno sempre a essere & e =?
Non necessariamente, ed è voluto. Il passaggio di decodifica della modalità URL completo lascia deliberatamente intatta la forma codificata dei caratteri strutturali (;, /, ?, :, @, &, =, +, $, #), perché decodificarli potrebbe cambiare il significato della URL — trasformando ad esempio un solo parametro di query in quello che sembra diventarne due. La modalità Componente non ha questa restrizione e converte ogni sequenza codificata valida nel suo carattere originale, strutturale o no, il che è corretto quando si decodifica un singolo valore e non un link intero.
La codifica percentuale è la stessa cosa di Base64?
No — risolvono problemi diversi. La codifica percentuale (quello che fa questo strumento) esegue l'escape solo dei caratteri specifici che sono pericolosi o significativi dentro una URL, lasciando intatte lettere e cifre normali, così il risultato resta perlopiù leggibile. Base64 riconverte ogni byte dell'input in un alfabeto completamente diverso, producendo un output che non somiglia per niente all'originale — utile per incorporare dati binari arbitrari in formati testuali, ma eccessivo (e sbagliato) per il valore di una query in una URL.