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.
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:
kawa & herbata
kawa%20%26%20herbata
zażółć gęślą
za%C5%BC%C3%B3%C5%82%C4%87%20g%C4%99%C5%9Bl%C4%85
1+1=2
1%2B1%3D2
https://example.com/cennik usług?q=kawa
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.
Powiązane narzędzia
Więcej narzędzi dla programistów: kodowanie, hashe, identyfikatory i formaty.
FAQ
Czym jest kodowanie URL?
%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?
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?
% 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?
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.