Costruire valori di query string
Qualsiasi input utente che inserisci in ?q=... deve essere codificato con la modalita Componente. La modalita URI lascerebbe = e & grezzi, rompendo l'URL quando il valore li contiene.
Codifica qualsiasi testo in una stringa percent-encoded sicura per gli URL, oppure decodifica un URL codificato in testo semplice. Anteprima dal vivo, UTF-8 safe, eseguito interamente nel tuo browser.
Componente (encodeURIComponent) fa l'escape di tutto cio che non e un carattere unreserved — la scelta piu sicura per i valori di una query string, segmenti di path o singoli campi. URI (encodeURI) preserva i caratteri di struttura dell'URL (:/?#=&) — usalo su un URL intero. Form (application/x-www-form-urlencoded) e uguale a Componente con gli spazi convertiti in '+' — quello che usano i form HTML.
RFC 3986 definisce un insieme di caratteri "unreserved" che non necessitano di codifica: A-Z a-z 0-9 - _. ~. Tutto il resto viene percent-encoded. encodeURIComponent codifica anche :/?#&= che encodeURI lascia invariati. La differenza e cruciale quando codifichi il valore di una query rispetto a un URL intero.
Trascina qui un file di testo, o clicca per sfogliare
Qualsiasi file di testo UTF-8:.txt,.csv,.json,.url,.log
Veloce, accurato, solo nel browser — pensato per sviluppatori, copywriter e chiunque debba fare il debug di un URL.
Scegli tra Componente, URI completo o Form a seconda di cosa stai codificando — valori di una query string, un URL intero o il payload di un form HTML.
Ogni codifica e decodifica avviene nel tuo browser tramite JavaScript nativo. I tuoi testi e URL non lasciano mai il dispositivo.
L'output si aggiorna a ogni tasto premuto — nessun pulsante "Codifica" da cliccare, nessun round-trip verso un server.
Emoji, caratteri CJK, lettere latine accentate e cirilliche fanno il round-trip correttamente attraverso encodeURIComponent e ritorno.
In decodifica, puoi opzionalmente trattare '+' come uno spazio — la convenzione usata dai form HTML con application/x-www-form-urlencoded.
Trascina un file.txt,.csv o.json per codificarlo o decodificarlo in un solo passo. L'output viene scaricato come un.txt pulito.
Tre API native del browser, tre modalita, tutte eseguite nella pagina che stai leggendo.
A ogni tasto premuto, la stringa di input viene passata a una piccola funzione JavaScript. Nessun debounce, nessuna chiamata API, nessun fetch — la funzione viene eseguita in modo sincrono nella tua scheda del browser.
Componente chiama encodeURIComponent — fa l'escape di tutto cio che non e A-Z a-z 0-9 - _. ~. URI chiama encodeURI — preserva :/?#=& in modo che un URL intero rimanga valido. Form usa encodeURIComponent e sostituisce lo spazio con + secondo application/x-www-form-urlencoded.
Sia encodeURIComponent che encodeURI convertono internamente la stringa in byte UTF-8 prima di applicare il percent-encoding a ogni byte non sicuro. Cio significa %E4%B8%AD per il carattere cinese 中 — esattamente quello che richiede RFC 3986.
Il risultato viene impostato come valore dell'output in sola lettura. Clicca Copia per metterlo negli appunti tramite navigator.clipboard.writeText, oppure Scarica per salvarlo come .txt tramite un Blob URL — entrambi rimangono nel tuo browser.
Situazioni reali in cui scegliere la modalita di codifica giusta previene i bug.
Qualsiasi input utente che inserisci in ?q=... deve essere codificato con la modalita Componente. La modalita URI lascerebbe = e & grezzi, rompendo l'URL quando il valore li contiene.
Alcune app di chat e PDF corrompono i link quando contengono spazi grezzi o caratteri non ASCII. Passa l'URL nella modalita URI per renderlo sicuro per il copia-incolla ovunque.
Quando la tua API rifiuta una richiesta, incolla l'URL nella modalita Decodifica per vedere cosa ha effettivamente ricevuto il server. I valori a doppia codifica (dove % stesso e stato codificato come %25) vengono evidenziati subito.
Quando fai il debug di body POST in application/x-www-form-urlencoded, decodifica con l'opzione "+ come spazio" attiva. E la convenzione usata dai browser, e dimenticarla e la causa #1 dei bug "perche il mio username appare con i segni piu".
Gli URL che codifichi spesso contengono email reali di clienti, ID o token di sessione — esattamente il tipo di dati che non vuoi incollare in uno strumento server di sconosciuti. iKit URL Encoder gira come JavaScript gia caricato nel tuo browser, quindi l'input non lascia mai la tua scheda.
fetch, XHR o beacon durante la codifica o decodifica.
Tutorial approfonditi e confronti tra strumenti dal blog di iKit.
The 30-year-old form-encoding quirk explained — when + means space, when it means literal +, and how to fix the email-with-plus bug.
When to reach for Base64 versus URL percent-encoding, and what each encoding actually solves.
Pretty-print, validate, and structurally diff messy JSON in any browser.
Componente (encodeURIComponent) fa l'escape di tutto cio che non e un carattere unreserved — la scelta piu sicura per i valori di una query string, segmenti di path o singoli campi. URI (encodeURI) preserva i caratteri di struttura dell'URL (:/?#=&) — usalo su un URL intero. Form (application/x-www-form-urlencoded) e uguale a Componente con gli spazi convertiti in '+' — quello che usano i form HTML.
RFC 3986 definisce un insieme di caratteri "unreserved" che non necessitano di codifica: A-Z a-z 0-9 - _. ~. Tutto il resto viene percent-encoded. encodeURIComponent codifica anche :/?#&= che encodeURI lascia invariati. La differenza e cruciale quando codifichi il valore di una query rispetto a un URL intero.
Tre cause comuni: (1) l'originale era Form-encoded quindi '+' va trattato come spazio — attiva quell'opzione. (2) Doppia codifica — l'input e stato codificato due volte; decodifica di nuovo. (3) Sequenza percent non valida — un % isolato non seguito da due cifre esadecimali. Controlla il messaggio di errore per la posizione esatta del byte.
Si per la modalita Componente — chiamiamo direttamente encodeURIComponent. La modalita Form aggiunge le modifiche standard del form-encoding (! ' * diventano %21 %27 %28 %29 %2A) secondo RFC 3986 + WHATWG. La modalita URI chiama encodeURI, che e cio che la maggior parte dei linguaggi intende per 'percent-encode di un URL'.
No. L'intero strumento e JavaScript dentro questa pagina — la codifica e la decodifica avvengono nel tuo browser. Puoi verificarlo aprendo DevTools → Network e osservando: nessuna richiesta viene inviata durante le operazioni di codifica o decodifica.