⚙️ Nástrojárna Rychlé nástroje zdarma, přímo v prohlížeči. CZEN

URL encode / decode

Tímto nástrojem zakódujete text pro použití v URL (tzv. percent-encoding) a stejně snadno ho dekódujete zpět. Znaky, které mají v adrese zvláštní význam nebo se v ní nesmí objevit – mezera, diakritika, &, ?, =, / a další – se nahradí bezpečným zápisem %XX. Hodí se pro parametry odkazů, API dotazy i ladění. Vše běží ve vašem prohlížeči, text se nikam neodesílá.

Jak URL encode funguje

URL smí obsahovat jen omezenou sadu znaků. Písmena A–Z a a–z, číslice 0–9 a několik znaků jako - _ . ! ~ * ' ( ) se přenášejí beze změny. Všechno ostatní – mezera, česká diakritika, oddělovače &, =, ?, #, / – se musí zakódovat, aby prohlížeč nebo server nezaměnil obsah za řídicí znak adresy.

Kódování funguje tak, že se každý takový znak nejprve převede na jeden nebo více bajtů v kódování UTF-8 a každý bajt se zapíše jako znak procenta následovaný dvěma šestnáctkovými číslicemi. Mezera se tak stane %20, znak & se stane %26 a písmeno č (dva bajty v UTF-8) se stane %C4%8D. Dekódování je přesně opačný postup: sekvence %XX se čtou zpět na bajty a z nich se poskládá původní text.

Tento nástroj používá standardní funkce prohlížeče encodeURIComponent a decodeURIComponent. Kóduje se komponenta URL, tedy jednotlivá hodnota (například jeden parametr), nikoli celá adresa – proto se zakódují i znaky /, ? a &, které by jinak strukturu adresy rozdělily. Pozor: mezera se převádí na %20, ne na +; znaménko + jako mezeru používá jen starší formát formulářů application/x-www-form-urlencoded.

Jak URL encode / decode použít

  1. Do horního pole vložte text nebo hodnotu, kterou chcete vložit do URL.
  2. Klikněte na Zakódovat pro převod na percent-encoding, nebo na Dekódovat, pokud chcete zakódovaný řetězec vrátit do čitelné podoby.
  3. Výsledek se objeví ve spodním poli, odkud ho zkopírujete.

Konkrétní příklad převodu (zakódování):

VstupVýstup
káva & čajk%C3%A1va%20%26%20%C4%8Daj
a=1&b=2a%3D1%26b%3D2
Praha 1Praha%201

Dekódování jde opačně: z k%C3%A1va%20%26%20%C4%8Daj dostanete zpět káva & čaj.

K čemu se URL encoder hodí

Nejčastěji ho využijete, když skládáte odkaz s parametrem, jehož hodnota obsahuje mezery, diakritiku nebo speciální znaky – typicky vyhledávací dotaz, jméno, e-mail nebo cestu. Bez zakódování by se odkaz „rozbil" na prvním & nebo mezeře. Ocení ho vývojáři při volání API, testeři ladící query stringy i lidé, kteří potřebují rozluštit, co se skrývá za dlouhou zakódovanou adresou z prohlížeče.

Percent-encoding není šifrování ani zabezpečení – je to jen reverzibilní přepis, který kdokoli okamžitě dekóduje zpět. Neslouží ke skrytí dat, jen k jejich bezpečnému přenosu v adrese. Protože celý převod probíhá lokálně ve vašem prohlížeči, můžete přes nástroj bez obav prohnat i citlivější řetězce – vložený text nikdy neopustí vaše zařízení a nikam se neukládá.

Časté dotazy

Jaký je rozdíl mezi encodeURIComponent a encodeURI?

encodeURIComponent zakóduje i oddělovače adresy jako <code>/</code>, <code>?</code>, <code>&amp;</code> a <code>=</code>, takže je vhodný pro jednu hodnotu (komponentu) uvnitř URL. encodeURI naopak tyto znaky nechává, protože kóduje celou adresu. Tento nástroj používá variantu pro komponentu.

Proč se mezera převádí na %20 a ne na +?

Standardní percent-encoding kóduje mezeru jako <code>%20</code>. Znaménko <code>+</code> jako mezeru používá jen starší formát odesílání formulářů (application/x-www-form-urlencoded) v query stringu. Pokud potřebujete <code>+</code>, musíte mezery nahradit ručně.

Podporuje nástroj českou diakritiku a emoji?

Ano. Znaky s diakritikou i emoji se převedou na bajty v kódování UTF-8 a každý bajt se zapíše jako <code>%XX</code>. Písmeno „č" tak vznikne jako <code>%C4%8D</code>. Při dekódování se text vrátí přesně do původní podoby.

Které znaky se nezakódují?

Beze změny zůstávají písmena <code>A–Z</code> a <code>a–z</code>, číslice <code>0–9</code> a znaky <code>- _ . ! ~ * ' ( )</code>. Všechny ostatní znaky včetně mezery a diakritiky se převedou na zápis <code>%XX</code>.

Proč mi dekódování hlásí chybu?

Dekódování selže, když vstup obsahuje neplatnou sekvenci – například <code>%</code> bez dvou platných šestnáctkových číslic za ním (třeba <code>%ZZ</code> nebo osamocené <code>%</code>). Zkontrolujte, že je řetězec kompletní a nebyl při kopírování porušen.

Je percent-encoding to samé jako šifrování?

Ne. Jde o veřejný a plně reverzibilní přepis, který kdokoli okamžitě vrátí zpět. Neposkytuje žádnou ochranu ani utajení – slouží jen k tomu, aby data prošla adresou bez poškození její struktury.

Odesílá nástroj můj text na server?

Ne. Kódování i dekódování probíhá výhradně ve vašem prohlížeči pomocí vestavěných funkcí JavaScriptu. Vložený text nikam neodchází a nikde se neukládá.

Můžu zakódovat celou URL najednou?

Můžete, ale nástroj kóduje hodnotu jako komponentu, takže zakóduje i <code>:</code>, <code>/</code> a <code>?</code>, které tvoří strukturu adresy. Pro vložení do parametru je to správně; pro zachování struktury celé adresy zakódujte jen jednotlivé hodnoty parametrů.

Zdroje a standardy

📅 Naposledy aktualizováno: 16. 7. 2026