Koder i dekoder URL
Darmowy koder i dekoder URL. Koduj procentowo parametry zapytań lub całe adresy, dekoduj sekwencje %XX i obsługuj + jako spację. Działa w przeglądarce.
Jak korzystać z kodera i dekodera URL
- Wybierz Koduj, aby zamienić tekst na postać bezpieczną w adresie URL, albo Dekoduj, aby zamienić tekst zakodowany procentowo z powrotem na czytelne znaki.
- Przy kodowaniu wybierz tryb: Składnik dla pojedynczej wartości (np. parametru zapytania lub segmentu ścieżki) albo Pełny URL, aby zakodować cały adres, zachowując jego strukturę.
- Przy dekodowaniu danych z formularza HTML lub z query stringa włącz Traktuj + jako spację, aby znaki
+zamieniły się w spacje. - Wklej tekst i skopiuj wynik. Jeśli sekwencja procentowa jest uszkodzona, narzędzie zgłosi błąd, zamiast zgadywać.
Czym jest kodowanie URL?
Adresy URL mogą zawierać tylko ograniczony zestaw znaków ASCII. Niektóre znaki, takie jak /, ?, #, & i =, są zastrzeżone, bo oddzielają części adresu: ścieżkę, parametry zapytania i fragment. Inne, np. spacje, cudzysłowy, litery z polskimi znakami czy emoji, są po prostu niedozwolone. Kodowanie URL, nazywane też kodowaniem procentowym (percent-encoding), rozwiązuje oba problemy, zastępując każdy problematyczny bajt znakiem % i dwiema cyframi szesnastkowymi.
Tekst jest najpierw zamieniany na bajty UTF-8, a każdy bajt jest kodowany osobno. Spacja staje się %20, znak & – %26, „ł” (dwa bajty w UTF-8) – %C5%82, „é” – %C3%A9, a emoji 😀 (cztery bajty) – %F0%9F%98%80. Znaki niezastrzeżone, czyli litery łacińskie, cyfry oraz - _ . ~, nigdy nie wymagają kodowania.
Tryb składnika a tryb pełnego URL
Wybór właściwego trybu to najważniejsza decyzja, a pomyłka jest klasycznym źródłem błędów.
Tryb Składnik działa jak encodeURIComponent w JavaScripcie. Koduje każdy zastrzeżony znak, więc wynik można bezpiecznie umieścić w jednej części adresu. Używaj go do wartości parametrów zapytania, segmentów ścieżki i wszystkiego, co wpisał użytkownik. Na przykład fraza rock & roll staje się rock%20%26%20roll. Gdyby & nie zostało zakodowane, serwer odczytałby roll jako początek nowego parametru.
Tryb Pełny URL działa jak encodeURI. Zakłada, że dane wejściowe to już kompletny adres, i zachowuje znaki nadające mu strukturę, takie jak : / ? # & i =, kodując przy tym spacje i znaki spoza ASCII. Używaj go, by uporządkować adres w rodzaju https://example.com/café menu?q=tea do postaci https://example.com/caf%C3%A9%20menu?q=tea. Nie stosuj go do pojedynczych wartości: & w wartości zostałoby niezakodowane i zepsułoby parametry zapytania.
Dobra zasada: buduj adresy z części, każdą wartość koduj w trybie składnika, a trybu pełnego URL używaj tylko dla adresów, które dostajesz już złożone.
Znak + i kodowanie formularzy
Formularze HTML wysyłane jako application/x-www-form-urlencoded kodują spacje jako + zamiast %20. Dlatego adresy wyszukiwania często wyglądają jak ?q=hello+world. Standardowe dekodowanie procentowe zostawia + bez zmian, bo w ścieżce plus jest po prostu plusem. Przy dekodowaniu query stringa lub danych formularza włącz Traktuj + jako spację, aby dostać hello world. Zostaw tę opcję wyłączoną dla ścieżek i wartości, w których dosłowny + ma znaczenie, np. numerów telefonów czy danych Base64. Prawdziwy plus w danych formularza jest wysyłany jako %2B, więc w obu przypadkach zostanie zdekodowany poprawnie.
Prywatność
Kodowanie i dekodowanie działa w całości w twojej przeglądarce. Nic, co wkleisz – także adresy, które mogą zawierać tokeny, identyfikatory sesji czy dane osobowe – nie jest wysyłane na serwer ani przechowywane.
Najczęściej zadawane pytania
Dlaczego dekodowanie kończy się błędem o niepoprawnym kodowaniu?
Po % muszą stać dokładnie dwie cyfry szesnastkowe, a powstałe bajty muszą tworzyć poprawny UTF-8. Ciągi takie jak 100%, %G1 czy ucięta sekwencja %E2%82 nie dają się wiarygodnie zdekodować, więc narzędzie zgłasza problem, zamiast tworzyć błędny tekst. Aby zapisać dosłowny znak procentu, zakoduj go jako %25.
Czym różni się %20 od +?
Oba mogą oznaczać spację, ale w różnych kontekstach. %20 jest poprawne w każdym miejscu adresu URL. + oznacza spację tylko w parametrach zakodowanych jak formularz; gdzie indziej to dosłowny znak plus.
Czy kodować cały adres URL w trybie składnika?
Tylko jeśli cały adres jest wartością wewnątrz innego adresu, np. w parametrze redirect=. Wtedy tryb składnika jest dokładnie tym, czego potrzebujesz: https://a.com/?x=1 staje się https%3A%2F%2Fa.com%2F%3Fx%3D1.
Dlaczego mój tekst jest zakodowany dwa razy?
Podwójne kodowanie występuje, gdy już zakodowany tekst zostaje zakodowany ponownie i %20 zamienia się w %2520. Zdekoduj raz, aby to sprawdzić, i pilnuj, by każda wartość była kodowana dopiero w chwili wstawiania jej do adresu.
Czy kodowanie URL ukrywa lub chroni dane?
Nie. Kodowanie procentowe jest w pełni odwracalne i nie zapewnia żadnego bezpieczeństwa. Wrażliwe wartości w adresach mogą trafić do historii przeglądarki i logów serwera, więc najlepiej w ogóle nie umieszczaj sekretów w adresach URL.
Podobne narzędzia
- Koder i dekoder Base64 Darmowy koder i dekoder Base64 z pełną obsługą UTF-8 i opcją base64url bezpieczną dla URL. Działa w przeglądarce, nic nie jest wysyłane.
- Formatowanie i walidacja JSON Darmowe narzędzie do formatowania i walidacji JSON: upiększa, minifikuje i sprawdza JSON w przeglądarce, wskazując wiersz i kolumnę błędu.