Perché usare un codificatore URL?
Il percent-encoding (o codifica URL) è indispensabile quando lavori con parametri in un URL. I caratteri speciali come &, =, ? o gli spazi devono essere codificati per non compromettere la struttura dell'URL.
Senza una codifica corretta, un parametro contenente prix=10&20 verrebbe interpretato come due parametri distinti (prix=10 e 20). Il browser non può indovinare la tua intenzione: la codifica elimina l'ambiguità.
Tre situazioni in cui la codifica URL è indispensabile:
- Parametri di query string → Un
&o=in un valore taglia la stringa nel punto sbagliato - Parametri UTM → Spazi o caratteri accentati in
utm_campaigncompromettono il tracking analytics - Reindirizzamenti e callback → Gli URL annidati (OAuth, SSO, email marketing) devono essere codificati integralmente
Come usare il codificatore / decodificatore URL in 3 passaggi
Passaggio 1: Incolla il contenuto
Incolla nel campo di input:
- Testo semplice se vuoi codificare (es.:
prix=10€ & livraison gratuite) - Una stringa codificata se vuoi decodificare (es.:
prix%3D10%E2%82%AC+%26+livraison+gratuite)
Passaggio 2: Seleziona l'operazione
Clicca su Codifica URL per trasformare il testo in percent-encoding, oppure su Decodifica URL per recuperare il testo originale da una stringa codificata.
Passaggio 3: Copia il risultato
Il risultato appare istantaneamente. Clicca sul pulsante copia per recuperare la stringa convertita, pronta per essere inserita nel tuo codice, URL o configurazione.
Cos'è il percent-encoding?
Il percent-encoding è il meccanismo definito dalla RFC 3986 per rappresentare i caratteri speciali in un URI. Ogni byte non consentito viene sostituito da % seguito da due cifre esadecimali che rappresentano il suo valore UTF-8.
Esempio concreto:
Testo originale: Café & Thé = 15€
Codificato: Caf%C3%A9+%26+Th%C3%A9+%3D+15%E2%82%AC
La é (U+00E9) occupa due byte in UTF-8 (C3 A9), da cui %C3%A9. Il simbolo € (U+20AC) occupa tre byte (E2 82 AC), da cui %E2%82%AC.
Caratteri non riservati (mai codificati)
Questi caratteri passano così come sono in un URL:
A-Z a-z 0-9 - _ . ~
Caratteri riservati (codificati nei valori)
| Carattere | Ruolo nell'URL | Codificato |
|---|---|---|
? | Inizio dei parametri | %3F |
& | Separatore di parametri | %26 |
= | Assegnazione chiave/valore | %3D |
# | Frammento (ancora) | %23 |
/ | Separatore di percorso | %2F |
+ | Spazio (query string) | %2B |
@ | Identificatore utente | %40 |
Tabella di codifica dei caratteri comuni
| Carattere | Descrizione | Codificato (query) | Codificato (path) |
|---|---|---|---|
| spazio | Spazio bianco | + | %20 |
& | E commerciale | %26 | %26 |
= | Segno uguale | %3D | %3D |
? | Punto interrogativo | %3F | %3F |
# | Cancelletto | %23 | %23 |
é | E con accento acuto | %C3%A9 | %C3%A9 |
ñ | N con tilde | %C3%B1 | %C3%B1 |
€ | Simbolo euro | %E2%82%AC | %E2%82%AC |
日 | Ideogramma CJK | %E6%97%A5 | %E6%97%A5 |
Nota: La differenza tra query e path riguarda solo lo spazio. Nelle query string (application/x-www-form-urlencoded), lo spazio diventa +. In un percorso URL, diventa %20.
Casi d'uso reali
Caso 1: Parametri UTM con caratteri speciali
Problema: Stai creando un link di tracking per una campagna chiamata "Soldes été 2025 – 50%".
Senza codifica:
https://captaindns.com?utm_campaign=Soldes été 2025 – 50%
Gli spazi, il trattino e il % rompono il link. Google Analytics non rileva la campagna.
Con codifica:
https://captaindns.com?utm_campaign=Soldes+%C3%A9t%C3%A9+2025+%E2%80%93+50%25
Il tracking funziona correttamente, ogni carattere speciale è preservato.
Caso 2: URL di callback OAuth
Problema: Stai configurando un flusso OAuth e devi passare un URL di ritorno come parametro.
Senza codifica:
https://auth.captaindns.com/authorize?redirect_uri=https://captaindns.com/callback?token=abc&scope=read
Il server interpreta scope=read come un parametro di /authorize, non di /callback.
Con codifica del redirect_uri:
https://auth.captaindns.com/authorize?redirect_uri=https%3A%2F%2Fcaptaindns.com%2Fcallback%3Ftoken%3Dabc&scope=read
L'URL annidato è correttamente isolato. Il flusso OAuth funziona.
Caso 3: Debug di un link email non funzionante
Problema: Un cliente segnala che un link nella tua newsletter non funziona. Il link grezzo nell'email è:
https://captaindns.com/offre?nom=Caf%C3%A9+%26+Th%C3%A9&code=PROMO%2D20
Azione: Incolla la parte dopo ? nel decodificatore per leggere i parametri:
nom=Café & Thécode=PROMO-20
Identifichi immediatamente se i valori sono corretti o se una doppia codifica ha corrotto il link.
❓ FAQ - Domande frequenti
D: Qual è la differenza tra codifica URL e Base64?
R: La codifica URL (percent-encoding) sostituisce i caratteri speciali con %XX per renderli compatibili con gli URL. Il Base64 codifica dati binari (immagini, file) in caratteri ASCII. I due non sono intercambiabili: usa la codifica URL per i parametri URL, il Base64 per trasmettere dati binari nel testo.
D: Perché gli spazi diventano +?
R: È una convenzione del formato application/x-www-form-urlencoded, utilizzato dai moduli HTML e dalle query string. Nei percorsi URL (prima del ?), lo spazio è codificato %20. Entrambe le rappresentazioni sono valide nel rispettivo contesto.
D: Quali caratteri non vengono codificati?
R: I 66 caratteri non riservati definiti dalla RFC 3986 non vengono mai modificati: lettere A-Z, a-z, cifre 0-9 e quattro simboli: -, _, ., ~. Tutti gli altri caratteri vengono codificati quando appaiono in un valore di parametro.
D: Posso codificare un URL completo?
R: No, codifica solo i valori dei parametri. I separatori strutturali (://, /, ?, &, =) devono restare così come sono perché l'URL resti funzionale. Ad esempio, codifica il valore Café & Thé ma non il ? o il & che strutturano l'URL.
D: Cosa succede con una doppia codifica?
R: Una doppia codifica trasforma %26 in %2526 (il % viene ricodificato). Il server riceve quindi la stringa letterale %26 invece di &. È una trappola comune nei reindirizzamenti annidati. Se sospetti una doppia codifica, decodifica due volte e confronta i risultati.
D: Cosa succede con una codifica non valida?
R: Se tenti di decodificare una sequenza non valida (ad esempio %GG o un % isolato), lo strumento mostra un messaggio di errore esplicativo invece di un risultato corrotto. Correggi la sequenza sorgente prima di riprovare.
Strumenti complementari
| Strumento | Utilizzo |
|---|---|
| Codificatore Base64 | Codifica dati binari in ASCII per API e webhook |
| Generatore di slug | Trasforma un titolo in un URL pulito, senza caratteri speciali |
| Conteggio parole | Verifica la lunghezza dei tuoi parametri prima di codificarli |
| Convertitore di maiuscole/minuscole | Converti testo in camelCase, snake_case o kebab-case per le tue variabili |
| Generatore di password | Crea password casuali da integrare nei tuoi URL sicuri |
| Generatore di hash | Calcola MD5, SHA-256 o SHA-512 per verificare l'integrità dei tuoi dati |
Risorse utili
- RFC 3986 – Uniform Resource Identifier (URI): Generic Syntax (specifica ufficiale del percent-encoding)
- RFC 3987 – Internationalized Resource Identifiers (IRIs) (estensione della RFC 3986 per i caratteri Unicode)
- MDN – encodeURIComponent() (riferimento JavaScript per la codifica URL)
- WHATWG URL Standard (specifica attiva del parsing e della serializzazione degli URL)