Przejdź do treści

URL enkoder i dekoder

Wklej tekst albo cały adres, a od razu zobaczysz wersję zakodowaną lub czytelną. Przyda się przy linkach ze spacjami, polskimi znakami czy znakiem &, przy parametrach dla API i przy rozszyfrowywaniu długich adresów.

Tekst nie jest nigdzie wysyłany, wszystko dzieje się w Twojej przeglądarce.

Jak działa kodowanie URL

Adres URL to nie zwykłe zdanie. Niektóre znaki mają w nim własne znaczenie: znak zapytania zaczyna parametry, znak & je rozdziela, a krzyżyk wskazuje miejsce na stronie. Spacji ani polskich znaków nie wpisuje się do adresu bezpośrednio. Kodowanie URL, po angielsku URL encoding lub percent-encoding, zamienia więc takie znaki na znak % i dwie cyfry szesnastkowe. Spacja zmienia się w %20, znak & w %26, a litera ą w %C4%85, bo w UTF-8 zajmuje dwa bajty.

Kiedy przyda się URL enkoder

  • gdy tworzysz link z wyszukiwaną frazą albo filtrem
  • gdy parametr zawiera spację, polskie znaki, znak & albo znak zapytania
  • gdy chcesz rozszyfrować długi adres z e-maila, reklamy czy wyszukiwarki
  • gdy przygotowujesz wartości dla API, formularza albo query stringa
  • gdy sprawdzasz, dlaczego link po wklejeniu przestał działać

Przykłady

Tak wyglądają typowe teksty przed zakodowaniem i po nim:

Wyszukiwana fraza
Wejście
kawa & herbata
Wynik
kawa%20%26%20herbata
Tekst z polskimi znakami
Wejście
zażółć gęślą
Wynik
za%C5%BC%C3%B3%C5%82%C4%87%20g%C4%99%C5%9Bl%C4%85
Wartość ze znakami + i =
Wejście
1+1=2
Wynik
1%2B1%3D2
Cały adres
Wejście
https://example.com/cennik usług?q=kawa
Wynik
https://example.com/cennik%20us%C5%82ug?q=kawa

Cały adres czy tylko jego część

Gdy wkleisz cały adres zaczynający się od https://, enkoder zachowa jego strukturę i zakoduje tylko spacje, polskie znaki i inne niedozwolone znaki. Jeśli wkleisz samą wartość, na przykład wyszukiwaną frazę, zakoduje też znaki &, ?, / czy =, aby przeglądarka nie uznała ich za część adresu. Wartość parametru zakoduj więc osobno i dopiero potem wstaw ją do linku.

Spacja jako %20 czy +

Spację zapisuje się w adresach na dwa sposoby. Według standardu to %20, ale formularze i wyszukiwarki, takie jak Google, używają w parametrach znaku +. Enkoder zawsze zapisuje spację jako %20, który rozumie każdy serwer. Przy odkodowywaniu odczyta + w parametrach jako spację, a prawdziwy plus rozpozna po zapisie %2B.

FAQ

Czym jest kodowanie URL?

Kodowanie URL, znane też jako percent-encoding, zapisuje znaki, które nie mogą stać w adresie bezpośrednio, za pomocą znaku % i dwóch cyfr szesnastkowych. Spacja zmienia się w %20, znak & w %26, a polskie litery w parę takich kodów, na przykład ą w %C4%85.

Dlaczego spacja raz jest zapisana jako %20, a raz jako +?

%20 to zapis zgodny ze standardem URL i działa wszędzie. Znaku + jako spacji używają formularze HTML i wyszukiwarki, ale tylko w parametrach po znaku zapytania. Ten enkoder zapisuje więc spację jako %20, a przy odkodowywaniu rozumie oba zapisy.

Czy mogę zakodować cały adres URL?

Tak. Jeśli adres zaczyna się na przykład od https://, narzędzie go rozpozna i zachowa znaki takie jak /, ?, & i =, aby link działał. Zakoduje tylko spacje, polskie znaki i inne niedozwolone znaki. Jeśli chcesz wstawić cały adres jako wartość parametru, na przykład do przekierowania, kliknij pod wynikiem Zakoduj jako wartość parametru.

Dlaczego przy odkodowywaniu pojawia się błąd?

Po każdym znaku % muszą następować dwie cyfry szesnastkowe, czyli znaki od 0 do 9 albo od A do F. Błąd pojawi się też przy niepełnie skopiowanym adresie, na przykład gdy z kodu %C4%85 zostanie tylko %C4. Jeśli tekst ma zawierać sam znak procentu, musi być zakodowany jako %25.

Czy wynik zgadza się z PHP albo JavaScriptem?

Przy kodowaniu wartości wynik zgadza się z funkcją rawurlencode w PHP. Funkcja JavaScript encodeURIComponent zostawia bez zmian znaki ! ' ( ) *, a to narzędzie koduje je również, czego wymagają na przykład podpisy OAuth. Przy odkodowywaniu samej wartości działa jak urldecode w PHP, czyli odczytuje + jako spację. W całym adresie zamienia plus na spację tylko w parametrach po znaku zapytania.

Czy mój tekst jest wysyłany na serwer?

Nie. Kodowanie i odkodowywanie odbywa się bezpośrednio w Twojej przeglądarce, a tekst nie opuszcza Twojego komputera.

Dlaczego kodowanie URL jest ważne?

Przeglądarka i serwer muszą dokładnie wiedzieć, gdzie kończy się adres, a gdzie zaczyna wartość. Jeśli na przykład szukasz kawa & herbata i nie zakodujesz znaku &, serwer uzna go za początek kolejnego parametru i dostanie tylko słowo „kawa”.