Przejdź do treści
Bezpłatne narzędzie

Koder i dekoder URL – koduj i dekoduj URL online

Koduj i dekoduj URL bezpośrednio w przeglądarce: koder URL zamienia tekst i URL-e na zapis procentowy — spacja staje się %20, a „ä” staje się %C3%A4. Jako dekoder URL zamienia sekwencje % z powrotem w czytelny tekst. Możesz porównać encodeURIComponent, encodeURI i format formularza z +, zobaczyć zdekodowane parametry zapytania URL-a oraz tworzyć ciągi zapytania i linki UTM. Bezpłatnie, bez rejestracji — twój tekst pozostaje w twojej przeglądarce.

Autor: Dimitri Heissler

Budujesz właśnie coś własnego? Możesz hostować to na serwerze VPS z pełną kontrolą.

Koduje wszystko oprócz liter, cyfr i znaków -_.~!*'(). Odpowiednie dla pojedynczych wartości parametrów, segmentów ścieżki i wszystkiego, co jest osadzane w adresie URL.

Twój tekst pozostaje w przeglądarce: nie jest przesyłany ani zapisywany.

Znaki w danych wejściowych
0
Znaki w wyniku
0
Zakodowane znaki
0
Bajty danych wejściowych
0

Tworzenie ciągu zapytania i linku UTM

Wpisz nazwę i wartość każdego parametru albo dodaj trzy pola linku kampanii przez „Parametr UTM”. Każda wartość jest kodowana osobno, więc znak & lub = w wartości nie zepsuje adresu URL.

0 parametrów w adresie URL

Przykładowy wynik

Co pokazuje ci ten koder i dekoder URL

Wklejasz tekst lub URL i od razu otrzymujesz zakodowany albo zdekodowany wynik. Przy kodowaniu widzisz też listę zastąpionych znaków wraz z ich bajtami, a przy dekodowaniu URL-a — czytelną listę poszczególnych parametrów zapytania. Trzy przykłady:

Przykład 1: kodowanie wartości

Dane wejściowe (wariant komponentu, encodeURIComponent):

Müller & Söhne: 50 % rabatu?

Wynik:

M%C3%BCller%20%26%20S%C3%B6hne%3A%2050%20%25%20rabatu%3F
Zastąpione znaki z pierwszego przykładu
ZnakiBajtyWynik
üC3 BC%C3%BC
Spacja20%20
&26%26
öC3 B6%C3%B6
:3A%3A
%25%25
?3F%3F

Wynik słownie: z 28 znaków powstaje 56 znaków. Zastąpiono 11 znaków. ü zajmuje dwa bajty i zmienia się w %C3%BC, & w %26, a sam znak % w %25. Litery i cyfry pozostają bez zmian.

Przykład 2: dekodowanie i analiza adresu URL

Dane wejściowe (wariant formularza, + jest odczytywany jako spacja):

https://example.com/search?q=zielone%20pomidory&sort=price_asc&category=Owoce%20%2B%20warzywa

Wynik:

https://example.com/search?q=zielone pomidory&sort=price_asc&category=Owoce + warzywa
Parametry zapytania z drugiego przykładu
NazwaWartość (zdekodowana)Surowe
qzielone pomidoryzielone%20pomidory
sortprice_ascprice_asc
categoryOwoce + warzywaOwoce%20%2B%20warzywa

Wynik w słowach: URL ma 3 parametrów zapytania. Wartość „q” to „zielone pomidory”, „sort” to „price_asc”, a „category” to „Owoce + warzywa”. Plus w „Owoce + warzywa” jest zakodowany jako %2B, dlatego pozostaje znakiem plusa.

Przykład 3: ten sam adres URL w czterech wariantach

Dane wejściowe:

https://example.com/ulica/o nas?q=Ser#kontakt
Wynik czterech wariantów dla tego samego URL
WariantWynik
Komponent (encodeURIComponent)https%3A%2F%2Fexample.com%2Fulica%2Fo%20nas%3Fq%3DSer%23kontakt
Cały adres URL (encodeURI)https://example.com/ulica/o%20nas?q=Ser#kontakt
Ścisły (RFC 3986)https%3A%2F%2Fexample.com%2Fulica%2Fo%20nas%3Fq%3DSer%23kontakt
Formularz (+ zamiast spacji)https%3A%2F%2Fexample.com%2Fulica%2Fo+nas%3Fq%3DSer%23kontakt

Wynik w słowach: Tylko „Cały URL (encodeURI)” pozostawia https://, / ? i # bez zmian, dzięki czemu adres nadal działa. Pozostałe trzy warianty kodują również te separatory i zamieniają adres w jedną długą wartość. Jest to właściwe rozwiązanie, jeśli chcesz osadzić cały URL jako wartość w innym URL.

Jak to działa

Jak zakodujesz i zdekodujesz adres URL

Cztery kroki od tekstu do gotowego URL – bez konta i pobierania.

Krok 1

Wklej tekst lub URL

Wklej tekst, który chcesz zakodować, lub zakodowany URL, który chcesz odczytać. Kliknij „Przykład”, aby wczytać przykładowy tekst. Wynik pojawia się już podczas pisania, bez klikania przycisku.

Krok 2

Wybierz kierunek, wariant i kodowanie znaków

Wybierz „Koduj” lub „Dekoduj”. Dla pojedynczej wartości użyj encodeURIComponent, dla całego URL-a encodeURI, a dla danych z formularza HTML — formatu formularza z +. Przy kodowaniu dostępny jest też wariant ścisły zgodny z RFC 3986 i opcja „Koduj każdy wiersz osobno”. Wybierz kodowanie znaków UTF-8 lub ISO-8859-1.

Krok 3

Sprawdź i skopiuj wynik

Narzędzie pokazuje liczbę zastąpionych znaków, podczas kodowania wyświetla ich numery Unicode i bajty oraz ostrzega przed podwójnym kodowaniem, nieprawidłowymi sekwencjami % lub użyciem niewłaściwego wariantu dla całego URL-a. Kliknij „Kopiuj”, aby skopiować wynik.

Krok 4

Odczytaj lub utwórz parametry

Podczas dekodowania URL-a narzędzie pokazuje jego części oraz zdekodowane parametry zapytania w tabeli. W sekcji „Utwórz ciąg zapytania i link UTM” wpisujesz nazwę i wartość albo dodajesz pola linku kampanii przez „Parametry UTM”, a następnie kopiujesz gotowy, zakodowany URL.

Warianty

encodeURIComponent, encodeURI czy formularz: kiedy użyć której metody?

Wszystkie cztery warianty kodują według tej samej zasady, ale zastępują różną liczbę znaków. Wybierz wariant odpowiedni do kodowanych danych, a nie kieruj się intuicją.

Komponent (encodeURIComponent)
Do pojedynczej wartości: wartości parametru, segmentu ścieżki, nazwy pliku lub adresu URL przekazywanego jako parametr w innym adresie URL. Koduje wszystko oprócz liter, cyfr i znaków -_.~!*'(). W razie wątpliwości to właściwy wybór.
Odpowiada w przybliżeniu: encodeURIComponent / decodeURIComponent
Cały adres URL (encodeURI)
Do całego adresu URL, który zawiera jeszcze spacje lub niemieckie znaki diakrytyczne. Pozostawia znaki ; , / ? : @ & = + $ # bez zmian, aby adres działał. Nie koduje jednak znaków & ani = wewnątrz wartości, więc nie nadaje się do tego celu.
Odpowiada w przybliżeniu: encodeURI / decodeURI
Ścisły (RFC 3986)
Podobnie jak Komponent, ale dodatkowo koduje ! ' ( ) *. Jest to konieczne, gdy inny system odczytuje te znaki jako separatory, na przykład podczas podpisywania żądań OAuth.
Odpowiada w przybliżeniu: PHP rawurlencode, Python urllib.parse.quote(wert, safe='')
Formularz (+ zamiast spacji)
Format formularza HTML (application/x-www-form-urlencoded). Spacje zamieniają się na +, bez zmian pozostają tylko litery, cyfry i *-._, a ~ zmienia się w %7E. Dotyczy parametrów zapytania z formularzy oraz treści żądań POST tego typu. PHP urlencode i Python quote_plus różnią się nieco przy * i ~.
Odpowiada w przybliżeniu: Java URLEncoder, JavaScript URLSearchParams

Tabela znaków

Znaki specjalne w adresach URL i ich kodowanie

Tak kodowane są najczęstsze znaki specjalne w zależności od wariantu. Myślnik oznacza, że znak pozostaje bez zmian.

Kodowanie znaków specjalnych: komponent, cały adres URL i formularz
ZnakiKomponentCały adres URLFormularz
SpacjaSpacje, w ciągach zapytań często zapisywane jako +%20%20+
!Subdelimiter, bez stałego znaczenia––%21
"niedozwolone w adresach URL%22%22%22
#Początek fragmentu (kotwicy)%23–%23
$Subdelimiter, bez stałego znaczenia%24–%24
%rozpoczyna kodowanie %XX%25%25%25
&oddziela parametry zapytania%26–%26
'Subdelimiter, bez stałego znaczenia––%27
(Subdelimiter, bez stałego znaczenia––%28
)Subdelimiter, bez stałego znaczenia––%29
*Subdelimiter, pozostaje bez zmian przy encodeURIComponent–––
+Znak plus, w formacie formularza oznacza spację%2B–%2B
,oddziela wartości na liście%2C–%2C
/oddziela segmenty ścieżki%2F–%2F
:oddziela schemat, host i port%3A–%3A
;Subdelimiter, bez stałego znaczenia%3B–%3B
=oddziela nazwę parametru od wartości%3D–%3D
?Początek zapytania%3F–%3F
@oddziela dane użytkownika od hosta%40–%40
[tylko dla adresów IPv6 w hoście%5B%5B%5B
]tylko dla adresów IPv6 w hoście%5D%5D%5D
~bez zabezpieczenia; tylko format formularza koduje ten znak (%7E)––%7E
ä%C3%A4%C3%A4%C3%A4
€%E2%82%AC%E2%82%AC%E2%82%AC
😀%F0%9F%98%80%F0%9F%98%80%F0%9F%98%80

Parametry UTM

Tworzenie linku UTM: poprawny zapis parametrów UTM

Parametry UTM dodaje się do linku, aby Google Analytics wiedziało, skąd przychodzą odwiedzający. Kreator ciągu zapytania w narzędziu dodaje po kliknięciu „Parametry UTM” trzy standardowe pola: utm_source, utm_medium i utm_campaign. Każdą wartość koduje osobno, aby spacje i znaki specjalne nie uszkodziły linku.

Pięć parametrów UTM i ich znaczenie
ParametrZnaczenieInformacja
utm_sourceSkąd pochodzi odwiedzający, na przykład newsletter, google lub instagram.typowy
utm_mediumZa pośrednictwem jakiego kanału, np. e-mail, cpc lub social.typowy
utm_campaignNazwa kampanii, na przykład sommer-aktion.typowy
utm_termSłowo kluczowe w płatnym wyszukiwaniu.opcjonalnie
utm_contentKtóry wariant kliknięto, na przykład banner lub textlink.opcjonalnie

Przykład: link w newsletterze

Podstawowy adres URL i trzy parametry:

https://example.com/aktion
utm_source = newsletter
utm_medium = e-mail
utm_campaign = Promocja letnia

Wynik:

https://example.com/aktion?utm_source=newsletter&utm_medium=e-mail&utm_campaign=Promocja%20letnia

Wpisuj wartości małymi literami i bez spacji, na przykład sommer-aktion. Analytics rozróżnia „Newsletter” i „newsletter” oraz analizuje je osobno.

Odkryj więcej

Więcej narzędzi

FAQ

Często zadawane pytania o koder i dekoder URL

Krótkie odpowiedzi na pytania o kodowanie adresów URL, znak procentu i to narzędzie.

W URL-u dozwolonych jest tylko kilka znaków. Wszystkie pozostałe zapisuje się jako % i dwie cyfry szesnastkowe dla każdego bajtu znaku w UTF-8. Spacja zmienia się w %20, „ä” w %C3%A4 (dwa bajty), „€” w %E2%82%AC (trzy bajty), a emoji takie jak 😀 w %F0%9F%98%80 (cztery bajty). Nazywa się to kodowaniem procentowym lub kodowaniem URL, wśród programistów także URL Encode, a operację odwrotną — URL Decode.

%20 to zakodowana spacja: 20 jest jej wartością szesnastkową. Podobnie %3D oznacza =, %26 oznacza &, %2F oznacza /, a %2C oznacza przecinek. %20 działa w każdym miejscu URL-a. Znak + jako spacja występuje tylko w formacie formularza (application/x-www-form-urlencoded), czyli w ciągach zapytania tworzonych przez formularze HTML. W ścieżce + jest dosłownie znakiem plusa. „Käse & Brot” jako wartość formularza zmienia się w „K%C3%A4se+%26+Brot”, a przy użyciu encodeURIComponent — w „K%C3%A4se%20%26%20Brot”. Dlatego przy dekodowaniu wybierz odpowiedni wariant: dla danych z formularzy i wyszukiwarek — „Formularz”.

encodeURI zachowuje znaki rozdzielające w URL: ; , / ? : @ & = + $ #. encodeURIComponent również je koduje. „a/b?c=d” po użyciu encodeURI pozostaje „a/b?c=d”, a po użyciu encodeURIComponent zmienia się w „a%2Fb%3Fc%3Dd”. Dla całego adresu użyj encodeURI. Dla pojedynczej wartości wstawianej do URL użyj encodeURIComponent — w przeciwnym razie & lub = w wartości może rozdzielić parametry.

Wybierz „Dekoduj” i wklej u góry zakodowany URL lub tekst. „M%C3%BCller%20%26%20S%C3%B6hne” zmieni się w „Müller & Söhne”. W przypadku URL-a narzędzie dodatkowo dzieli adres na części, takie jak schemat, host, ścieżka, zapytanie i fragment, oraz pokazuje parametry zapytania w tabeli z nazwą, zdekodowaną wartością i wartością surową — na przykład q = zielone pomidory zamiast gr%C3%BCne%20Tomaten. Parametry znajdują się po ?, nazwa i wartość są oddzielone znakiem =, a kolejne parametry znakiem &. W przypadku danych z formularza lub wyszukiwarki wybierz wariant „Formularz”, aby znak + również został odczytany jako spacja.

Bez zmian pozostają litery od A do Z i od a do z, cyfry od 0 do 9 oraz znaki -_.~; tylko format formularza koduje tyldę jako %7E. Separatory : / ? # [ ] @ ! $ & ' ( ) * + , ; = są dozwolone wyłącznie w odpowiedniej roli, na przykład & między dwoma parametrami. Kodowania wymagają między innymi spacje, cudzysłowy, %, < > ^ { | } oraz wszystkie znaki spoza ASCII, takie jak litery z akcentami czy emoji. encodeURIComponent pozostawia dodatkowo ! * ' ( ), natomiast wariant ścisły zgodny z RFC 3986 koduje również je. Tabela znaków powyżej pokazuje wyniki dla najczęstszych znaków specjalnych.

Nie wpisujesz ich bezpośrednio — są kodowane. Litery takie jak „ä”, „ß”, „é”, „ñ” czy „å” zajmują w UTF-8 po dwa bajty: „ä” zmienia się w %C3%A4, „ß” w %C3%9F, „é” w %C3%A9, „ñ” w %C3%B1, a „å” w %C3%A5. Spacja zmienia się w %20, a w formularzach w +. Przeglądarki często wyświetlają adres w czytelnej postaci i kodują go dopiero przy wysyłaniu. W linkach tworzonych samodzielnie zakoduj wartość za pomocą encodeURIComponent lub tego narzędzia; tabela „Co dzieje się z twoimi znakami” pokazuje numery Unicode i bajty zastąpionych znaków. Znaki diakrytyczne w nazwach domen nie są kodowane procentowo, lecz konwertowane za pomocą Punycode (müller.de zmienia się w xn--mller-kva.de) — to narzędzie tego nie obsługuje.

Jeśli zakodowany już tekst zostanie zakodowany ponownie, znak % zmieni się w %25: „%20” stanie się „%2520”. Można to rozpoznać po %25, po którym następują dwie cyfry, oraz po sekwencjach %XX pozostających w wyniku po dekodowaniu. Narzędzie informuje o tym i oferuje opcję „Dekoduj ponownie”. Aby temu zapobiec, koduj każdą wartość tylko raz, dopiero podczas tworzenia adresu URL.

Obecnie standardem jest UTF-8, w którym „ä” = %C3%A4. Starsze strony i systemy używają jednak ISO-8859-1 (Latin-1), gdzie „ä” = %E4, a „é” = %E9. Samo %E4 jest nieprawidłowe w UTF-8: narzędzie wskazuje jego pozycję i proponuje opcję „Użyj ISO-8859-1”. Po jej wybraniu „K%E4se” znów staje się „Käse”. Znaków nieobecnych w ISO-8859-1, takich jak „€”, nie da się tak zakodować — w tym celu wróć do UTF-8.

Nie. Kodowanie i dekodowanie odbywa się w twojej przeglądarce. Twój tekst nie jest przesyłany ani zapisywany, również w przypadku URL-i z tokenami lub danymi logowania. Narzędzie jest bezpłatne i działa bez rejestracji.

Masz dodatkowe pytania?

Kontakt z pomocą techniczną
Tworzysz właśnie coś własnego?

Twoja aplikacja potrzebuje serwera, który niezawodnie obsługuje jej adresy URL

VPS na ZAP-Hosting zapewnia niezawodne działanie twojej aplikacji lub twojego projektu online.

4,4/5 Trustpilot32.000+ Aktywne serweryOd 2010 roku

Bez konfiguracji. Bez ryzyka. Online w kilka sekund.

Elastyczny okres obowiązywaniaAnuluj w dowolnym momencieOnline w 60 sekund

Szukasz więcej narzędzi? Zobacz wszystkie narzędzia dla programistów