DevBox Strumenti veloci per sviluppatori, senza registrazione

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à:

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.