URL Encoder

Koder / Dekoder URL

Zakoduj dowolny tekst do bezpiecznego dla URL ciągu w percent-encoding lub zdekoduj zakodowany URL do zwykłego tekstu. Podgląd na żywo, bezpieczne UTF-8, działa w całości w Twojej przeglądarce.

Komponent (encodeURIComponent) escape'uje wszystko, co nie jest znakiem niezarezerwowanym — najbezpieczniejszy dla wartości query stringa, segmentów ścieżki czy pojedynczych pól. URI (encodeURI) zachowuje znaki struktury URL (:/?#=&) — używaj go dla całego URL-a. Formularz (application/x-www-form-urlencoded) to Komponent + spacje zamieniane na „+” — tak działają formularze HTML.

RFC 3986 definiuje zbiór znaków „niezarezerwowanych”, które nie wymagają kodowania: A-Z a-z 0-9 - _. ~. Wszystko inne jest poddawane percent-encoding. encodeURIComponent dodatkowo koduje :/?#&=, których encodeURI nie rusza. Różnica ma znaczenie, gdy kodujesz wartość query w porównaniu z całym URL-em.

Zwykły tekst

0 znaków

Zakodowany wynik

0 znaków

Dlaczego iKit URL Encoder

Szybki, dokładny, działa wyłącznie w przeglądarce — stworzony dla programistów, copywriterów i każdego, kto debuguje URL.

Trzy tryby kodowania

Wybierz tryb Komponent, Pełny URI lub Formularz w zależności od tego, co kodujesz — wartości query stringa, cały URL czy ładunek formularza HTML.

Prywatność z założenia

Każde kodowanie i dekodowanie odbywa się w Twojej przeglądarce za pomocą natywnego JavaScript. Tekst i adresy URL nigdy nie opuszczają Twojego urządzenia.

Podgląd na żywo

Wynik aktualizuje się przy każdym naciśnięciu klawisza — żadnego przycisku „Koduj”, żadnego zapytania do serwera.

Bezpieczne UTF-8

Emoji, znaki CJK, łacińskie z akcentami i cyrylica poprawnie przechodzą tam i z powrotem przez encodeURIComponent.

Obsługa + jak w formularzach

Przy dekodowaniu opcjonalnie traktuj „+” jako spację — to konwencja używana w formularzach HTML w application/x-www-form-urlencoded.

Masowe przetwarzanie plików

Upuść plik.txt,.csv lub.json, aby zakodować lub zdekodować go w jednym kroku. Wynik pobierzesz jako czysty plik.txt.

Jak naprawdę działa kodowanie URL

Trzy natywne API przeglądarki, trzy tryby — wszystko działa na stronie, którą właśnie czytasz.

  1. 1

    Piszesz w edytorze

    Przy każdym naciśnięciu klawisza ciąg wejściowy jest przekazywany do małej funkcji JavaScript. Bez debounce'u, bez wywołań API, bez fetch — funkcja działa synchronicznie w karcie Twojej przeglądarki.

  2. 2

    Wybierz tryb

    Komponent wywołuje encodeURIComponent — escape'uje wszystko, co nie jest A-Z a-z 0-9 - _. ~. URI wywołuje encodeURI — zachowuje :/?#=&, dzięki czemu pełny URL pozostaje prawidłowy. Formularz używa encodeURIComponent i zamienia spację na + zgodnie z application/x-www-form-urlencoded.

  3. 3

    UTF-8 dostajesz

    Zarówno encodeURIComponent, jak i encodeURI wewnętrznie konwertują ciąg na bajty UTF-8 przed percent-encoding każdego niebezpiecznego bajtu. Dlatego chińskie 中 to %E4%B8%AD — dokładnie tak, jak wymaga RFC 3986.

  4. 4

    Wynik pojawia się na żywo

    Wynik jest ustawiany jako wartość pola wyjściowego tylko do odczytu. Kliknij Kopiuj, aby umieścić go w schowku przez navigator.clipboard.writeText, lub Pobierz, aby zapisać go jako .txt przez Blob URL — oba pozostają w Twojej przeglądarce.

Typowe przypadki użycia

Realne sytuacje, w których właściwy tryb kodowania zapobiega błędom.

Budowanie wartości query stringa

Każde dane wejściowe użytkownika, które wstawiasz do ?q=..., muszą być zakodowane w trybie Komponent. Tryb URI pozostawiłby = i & w surowej formie, łamiąc Twój URL, gdy wartość je zawiera.

Udostępnianie długiego URL-a na czacie

Niektóre komunikatory i pliki PDF psują linki, gdy zawierają surowe spacje lub znaki spoza ASCII. Przepuść URL przez tryb URI, aby był bezpieczny przy kopiowaniu i wklejaniu wszędzie.

Debugowanie backendu zwracającego 400

Gdy Twoje API odrzuca żądanie, wklej URL w trybie Dekoduj, aby zobaczyć, co serwer rzeczywiście otrzymał. Podwójnie zakodowane wartości (gdzie samo % zostało zakodowane jako %25) ujawniają się natychmiast.

Round-trip danych formularza

Przy debugowaniu treści POST w application/x-www-form-urlencoded dekoduj z włączoną opcją „+ jako spacja”. To konwencja używana przez przeglądarki, a jej pominięcie to przyczyna numer 1 błędów typu „dlaczego moja nazwa użytkownika ma plusy zamiast spacji”.

Dlaczego lokalne kodowanie ma znaczenie

URL-e, które kodujesz, często zawierają prawdziwe e-maile klientów, identyfikatory lub tokeny sesji — dokładnie te dane, których nie chcesz wklejać do narzędzia na czyimś serwerze. iKit URL Encoder działa jako JavaScript już załadowany w Twojej przeglądarce, więc dane wejściowe nigdy nie opuszczają karty.

  • Żadnego fetch, XHR ani beacon podczas kodowania lub dekodowania.
  • Działa offline po załadowaniu strony.
  • Bez logów, bez limitów, bez rejestracji, bez dziennego limitu.

Powiązane przewodniki

Szczegółowe poradniki i porównania narzędzi z bloga iKit.

Najczęściej zadawane pytania

Jaka jest różnica między trybami Komponent, URI i Formularz?

Komponent (encodeURIComponent) escape'uje wszystko, co nie jest znakiem niezarezerwowanym — najbezpieczniejszy dla wartości query stringa, segmentów ścieżki czy pojedynczych pól. URI (encodeURI) zachowuje znaki struktury URL (:/?#=&) — używaj go dla całego URL-a. Formularz (application/x-www-form-urlencoded) to Komponent + spacje zamieniane na „+” — tak działają formularze HTML.

Dlaczego niektóre znaki nie są kodowane?

RFC 3986 definiuje zbiór znaków „niezarezerwowanych”, które nie wymagają kodowania: A-Z a-z 0-9 - _. ~. Wszystko inne jest poddawane percent-encoding. encodeURIComponent dodatkowo koduje :/?#&=, których encodeURI nie rusza. Różnica ma znaczenie, gdy kodujesz wartość query w porównaniu z całym URL-em.

Dlaczego mój zdekodowany tekst wygląda źle?

Trzy częste przyczyny: (1) oryginał był zakodowany jako Formularz, więc „+” powinno być traktowane jako spacja — włącz tę opcję. (2) Podwójne kodowanie — wejście zostało zakodowane dwa razy; zdekoduj ponownie. (3) Nieprawidłowa sekwencja procentowa — pojedyncze % bez dwóch cyfr szesnastkowych. Sprawdź komunikat o błędzie, aby zobaczyć dokładną pozycję bajtu.

Czy zakodowany URL jest dokładnie taki sam jak z encodeURIComponent w JavaScript?

Tak dla trybu Komponent — wywołujemy encodeURIComponent bezpośrednio. Tryb Formularz dodaje standardowe poprawki kodowania formularza (! ' * stają się %21 %27 %28 %29 %2A) zgodnie z RFC 3986 + WHATWG. Tryb URI wywołuje encodeURI, czyli to, co większość języków rozumie pod pojęciem „percent-encode adresu URL”.

Czy moje URL-e są gdzieś przesyłane?

Nie. Całe narzędzie to JavaScript wewnątrz tej strony — kodowanie i dekodowanie odbywają się w Twojej przeglądarce. Możesz to zweryfikować otwierając DevTools → Network i obserwując: podczas operacji kodowania ani dekodowania nie są wysyłane żadne żądania.