acento.io
Strumento per sviluppatori

URL encoder & decoder

Codifica e decodifica URL nel browser — 100% lato client, nessun dato inviato a server.

By Carlos Suárez , Systems engineer
Last updated:

Cosa fa questo URL encoder & decoder

Questo URL encoder & decoder online converte qualsiasi testo in formato percent-encoding conforme all'RFC 3986 e viceversa — tutto nel browser, senza inviare nulla a un server. 100% lato client — i tuoi dati non lasciano mai il browser. Nessun upload, nessun tracciamento, nessun log sul server. L'RFC 3986 riserva 18 caratteri ASCII (tra cui &, =, ?, #, /) che devono essere percent-encoded prima di comparire in una query string. Lo strumento supporta due modalità: **encodeURI** (preserva i caratteri riservati, utile per URL completi) e **encodeURIComponent** (codifica tutto, ideale per singoli valori di parametro). I caratteri UTF-8 multi-byte — fondamentali per chi lavora con l'italiano e altri alfabeti europei — vengono gestiti correttamente, rispettando anche le linee guida AGID che prescrivono UTF-8 come codifica obbligatoria per i servizi digitali della Pubblica Amministrazione italiana.

Funzionalità

  • Due modalità di codifica. Scegli tra encodeURI (preserva /, ?, &, =, #) per URL completi, e encodeURIComponent per codificare singoli valori di query string — nessuna confusione tra le due.
  • Decodifica istantanea. Incolla qualsiasi URL percent-encoded e ottieni il testo originale in chiaro. Utile per leggere redirect URI, token OAuth e log HTTP.
  • UTF-8 multi-byte corretto. Caratteri accentati italiani, emoji e qualsiasi codepoint Unicode vengono codificati secondo lo standard: ogni byte diventa una sequenza %XX. Un singolo carattere non-ASCII comporta fino al 200% di overhead — lo strumento te lo mostra esplicitamente.
  • Copia con un clic. Il pulsante Copia trasferisce il risultato negli appunti immediatamente, senza selezionare manualmente il testo.
  • Nessuna dipendenza da rete. Lo strumento gira interamente nel browser — nessuna chiamata API, nessun log sul server. Sicuro anche per query string contenenti token, email o altri dati personali.

Come usare il URL encoder & decoder

Basta incollare il testo nel campo corretto e il risultato appare in tempo reale. Per codificare da JavaScript puoi usare encodeURIComponent('a b&c=d'), da Python from urllib.parse import quote; quote('a b&c=d'), e da bash jq -rR @uri <<< 'a b&c=d'.

  1. Scegli la modalità. Seleziona la scheda "Codifica" per convertire testo semplice in formato percent-encoding, o "Decodifica" per fare il contrario.
  2. Attiva o disattiva la codifica componente. Spunta "Codifica come componente" se stai preparando il valore di un singolo parametro (ad esempio un redirect_uri OAuth). Lascia deselezionato per URL completi.
  3. Incolla o digita il testo. Il risultato si aggiorna istantaneamente mentre scrivi. Non devi premere nessun pulsante di conferma.
  4. Copia il risultato. Premi "Copia" per trasferire il testo codificato o decodificato negli appunti e incollarlo dove ti serve.

Casi d'uso comuni

  • Parametri di query string sicuri. Quando costruisci URL con valori dinamici (nomi, email, token), codificare ogni valore con encodeURIComponent evita che caratteri come & o = spezzino la struttura del parametro.
  • Redirect URI nei flussi OAuth. I provider OAuth richiedono che il redirect_uri sia percent-encoded. Usa la modalità componente per codificare correttamente l'URL di callback prima di passarlo come parametro.
  • Debug di valori doppiamente codificati nei log. Il classico bug %2520: quando un valore già codificato viene codificato una seconda volta, %20 diventa %2520. Decodifica il valore dal log per identificare il punto esatto della duplicazione. Se lavori con dati in altri formati, il [Base64 encoder & decoder](/it/base64/) può aiutarti a decodificare payload codificati in base64.
  • Parametri UTM per il tracking analytics. I valori dei parametri utm_source e utm_campaign spesso contengono spazi o caratteri speciali. Codificarli correttamente prima di inserirli nelle campagne evita URL rotti nelle piattaforme di analytics.
  • Integrazione con API della Pubblica Amministrazione. I servizi digitali italiani conformi alle linee guida AGID usano UTF-8. Codificare correttamente i parametri con caratteri accentati (à, è, ì, ò, ù) garantisce l'interoperabilità con questi endpoint.

Domande frequenti

I miei dati sono al sicuro usando questo strumento?

Sì. Lo strumento è 100% lato client: tutta la logica gira nel browser tramite JavaScript. Nessun testo viene inviato a un server, non esiste nessun log, nessun cookie di tracciamento. Puoi usarlo tranquillamente anche con token, password o dati personali.

Qual è la differenza tra encodeURI e encodeURIComponent?

encodeURI lascia intatti i caratteri riservati come /, ?, &, =, # — è pensato per URL completi. encodeURIComponent li codifica tutti: è quello corretto per i valori dei singoli parametri. Usare encodeURI su un valore di query string è uno degli errori più comuni, perché un & non codificato spezza il parsing dell'URL.

Perché lo spazio a volte diventa %20 e altre volte +?

%20 è la codifica RFC 3986 corretta per lo spazio negli URL (path e query). Il + per lo spazio è una convenzione di application/x-www-form-urlencoded, usata nei form HTML — non è la stessa cosa. Questo strumento usa sempre %20, che è il formato corretto per gli URL.

Come si decodifica un URL in Python?

Usa from urllib.parse import unquote; unquote('hello%20world') per decodificare. Per codificare usa quote(). Per la query string in modo completo, urllib.parse.urlencode() gestisce automaticamente la codifica dei parametri. L'MDN documenta comportamenti analoghi per JavaScript con JSON.parse e le API correlate.

Cosa succede se codifico un valore già codificato?

Ottieni una doppia codifica: il carattere % viene trasformato in %25, quindi %20 diventa %2520. Questo è un bug frequente nei sistemi che concatenano URL senza verificare se i valori siano già stati codificati. Usa la scheda Decodifica per diagnosticare il problema.

Lo strumento gestisce correttamente i caratteri italiani come à, è, ù?

Sì. I caratteri accentati italiani sono codepoint Unicode che in UTF-8 occupano 2 byte ciascuno. Ogni byte viene codificato separatamente come %XX, producendo sequenze del tipo %C3%A0 per à. Questo è il comportamento corretto secondo l'RFC 3986 e conforme allo standard UNI CEI EN ISO/IEC 10646 adottato in Italia.