Dekoder URL Online

Dekoduj adresy URL zakodowane procentowo

Wypróbuj przykład

Zakodowany URL / Tekst

Zdekodowany

Działa lokalnie · Bezpieczne do wklejania sekretów
Zdekodowany wynik...
Wypróbuj też:Koder URL Online

Czym jest dekodowanie URL?

Dekodowanie URL (dekodowanie procentowe) jest odwrotnością kodowania URL: konwertuje sekwencje zakodowane procentowo z powrotem do ich oryginalnych znaków. Każde wystąpienie znaku procentu, po którym następują dwie cyfry szesnastkowe (%XX), jest zastępowane bajtem reprezentowanym przez XX. Wiele kolejnych zakodowanych bajtów jest rekombinowanych w celu odtworzenia oryginalnego znaku UTF-8.

Dekodowanie URL jest codziennym zadaniem dla programistów pracujących z API, web scrapingiem, analizą logów i przepływami uwierzytelniania. Zakodowane URL-e są czytelne dla maszyn, ale nieprzejrzyste dla ludzi — ich dekodowanie natychmiast ujawnia rzeczywiste ścieżki, zapytania wyszukiwania, cele przekierowań i wartości parametrów, które w innym przypadku wymagałyby mentalnej konwersji hex-na-znak.

Dlaczego warto używać tego narzędzia?

Szybko zrozum dowolny procentowo zakodowany URL lub ciąg zapytania — bez konsoli przeglądarki, nic nie jest wysyłane na serwer.

Natychmiastowe dekodowanie
Wklej dowolny zakodowany URL lub parametr i natychmiast zobacz wersję czytelną dla człowieka. Świetne do debugowania żądań API i plików logów.
🛡️
Odzyskiwanie błędów
Wraca do legacy unescape() dla danych wejściowych zawierających staroszkolne znaki Latin-1 zakodowane procentowo, które nie powiodłyby się z decodeURIComponent.
🔒
Tylko po stronie klienta
Całe dekodowanie działa lokalnie w twojej przeglądarce. Tokeny, hasła i prywatne parametry zapytania nigdy nie opuszczają twojego urządzenia.
🔁
Pełna obsługa URL
Dekoduj pełne URL-e lub pojedyncze wartości parametrów. Narzędzie obsługuje zarówno standardowe spacje %20, jak i zachowuje znaki + jako dosłowne znaki plus.

Jak korzystać z tego dekodera URL online

Bez konta, bez instalacji. Wklej zakodowany procentowo ciąg w pole wejściowe, a zdekodowany wynik pojawi się natychmiast. Wszystko działa w Twojej przeglądarce — dane nigdy nie opuszczają Twojego urządzenia.

  1. 1
    Wklej zakodowany adres URL lub ciąg
    Skopiuj dowolny zakodowany procentowo ciąg — adres URL z paska adresu, parametr zapytania z logów serwera, odpowiedź API lub cel przekierowania — i wklej go w pole wejściowe.
  2. 2
    Automatyczne wykrywanie formatu
    Dekoder automatycznie obsługuje zarówno kodowanie procentowe %XX, jak i + jako spację (application/x-www-form-urlencoded). Nie ma potrzeby ręcznego określania formatu kodowania.
  3. 3
    Sprawdź zdekodowane wyjście
    Czytelny tekst pojawia się natychmiast. Jeśli dane wejściowe zawierały zagnieżdżone kodowanie (podwójnie zakodowane ciągi), dekoder rozwiązuje jedną warstwę na raz. Błąd pojawia się w przypadku zniekształconych sekwencji %XX.
  4. 4
    Skopiuj lub ponownie zakoduj
    Kliknij Kopiuj, aby pobrać zdekodowany ciąg. Potrzebujesz ponownie go zakodować z innymi ustawieniami? Przejdź do narzędzia Koder URL jednym kliknięciem.

Jak działa dekodowanie

Dekoder skanuje dane wejściowe w poszukiwaniu sekwencji %, konwertuje każdą grupę dwóch cyfr szesnastkowych na wartość bajtu, grupuje kolejne sekwencje bajtów i interpretuje je jako UTF-8, aby uzyskać końcowe znaki Unicode.

Przykład
Wejście:https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dhello%20world
%3A:  %2F/  %3F?  %3D=  %20space
Wyjście:https://example.com/search?q=hello world

Referencja znaków procentowo zakodowanych

Szybka referencja dla najczęściej spotykanych sekwencji procentowo zakodowanych:

ZakodowanyZnakGdzie to zobaczysz
%20spacepath segments, query values
%2B+literal plus (not a space in query)
%2F/slash inside a path component
%3F?literal question mark in a value
%23#literal hash in a value
%26&literal ampersand in a value
%3D=literal equals sign in a value
%40@at sign in username / password
%3A:colon inside a path segment
%25%literal percent sign
%2C,comma in path or query
%5B[opening bracket
%5D]closing bracket
%7B{curly brace in template literals
%7D}curly brace in template literals

Typowe przypadki użycia

Debugowanie żądań API
Skopiuj URL z logów sieciowych DevTools przeglądarki i zdekoduj go, aby zobaczyć rzeczywiste wartości parametrów zapytania — szczególnie przydatne, gdy zautomatyzowane narzędzia lub biblioteki procentowo zakodowały parametry.
Czytanie plików logów
Logi dostępu serwera WWW i logi aplikacji przechowują URL-e w zakodowanej postaci. Zdekoduj je, aby znaleźć rzeczywiste żądane ścieżki, terminy wyszukiwania i wartości parametrów.
Sprawdzanie przekierowań
Wywołania zwrotne OAuth, przekierowania SSO i URL-e śledzenia linków często zawierają mocno zakodowane parametry redirect_uri lub next. Zdekoduj URL, aby śledzić zamierzony cel.
Parsowanie ładunków webhook
Ciała webhooków wysyłane jako application/x-www-form-urlencoded (Stripe, Twilio, GitHub) przychodzą jako procentowo zakodowane ciągi. Zdekoduj je, aby odczytać rzeczywiste wartości pól.
Wyodrębnianie zapytań wyszukiwania
URL-e analityczne i nagłówki referrer zawierają oryginalne zapytanie wyszukiwania użytkownika procentowo zakodowane w parametrze q=. Zdekoduj, aby wyświetlić lub przeanalizować rzeczywiste terminy wyszukiwania.
Inżynieria wsteczna URL-i
Podczas integracji z API stron trzecich lub scrapingu, napotkane URL-e często zawierają zakodowane segmenty ścieżki i parametry. Zdekoduj je, aby zrozumieć strukturę URL i odtworzyć żądania.

Częste pułapki

To są najczęstsze błędy podczas dekodowania procentowo zakodowanych ciągów:

Mylenie + z %20
W danych application/x-www-form-urlencoded (przesyłanie formularzy HTML) + reprezentuje spację. Ale w surowej ścieżce URL lub wartości zakodowanej za pomocą encodeURIComponent + jest dosłownym znakiem plus. decodeURIComponent nie konwertuje + na spację — użyj URLSearchParams lub unquote_plus dla danych formularza.
Podwójnie zakodowane ciągi
Jeśli ciąg był zakodowany dwukrotnie, jedno dekodowanie nadal pozostawia znaki procentu: %2520 dekoduje się do %20, a nie do spacji. Zdekoduj po raz drugi, aby uzyskać oryginalną wartość. Uważaj na to w logach, proxy i oprogramowaniu pośredniczącym, które ponownie koduje już zakodowane dane.
Zniekształcone sekwencje procentowe
Samotny % lub % po którym następują znaki nieszesnastkowe (np. %GG lub % 2) jest nieprawidłowy i spowoduje URIError. Zawsze waliduj dane wejściowe lub opakuj dekodowanie w try/catch.
Niezgodność kodowania (Latin-1 vs UTF-8)
Stare systemy (urlencode PHP, klasyczny ASP) kodowały znaki jako bajty Latin-1. Ciąg zakodowany jako Latin-1 może być niepoprawnie zdekodowany przez dekoder UTF-8. Jeśli widzisz zniekształcone znaki, wypróbuj ścieżkę legacy unescape() lub ustal oryginalne kodowanie.

Przykłady kodu

Jak dekodować ciągi URL w popularnych językach i środowiskach:

JavaScript (browser / Node.js)
// Decode a percent-encoded component
decodeURIComponent('hello%20world%20%26%20more') // → "hello world & more"

// Decode a full URL (leaves structure characters encoded)
decodeURI('https://example.com/path?q=hello%20world') // → "https://example.com/path?q=hello world"

// Parse a query string (handles + as space automatically)
const params = new URLSearchParams('q=hello+world&lang=en')
params.get('q') // → "hello world"
Python
from urllib.parse import unquote, unquote_plus, parse_qs

# Decode percent-encoded string
unquote('hello%20world%20%26%20more')   # → 'hello world & more'

# Decode form-encoded string (+ → space)
unquote_plus('hello+world%21')          # → 'hello world!'

# Parse full query string
parse_qs('q=hello%20world&lang=en')     # → {'q': ['hello world'], 'lang': ['en']}
Node.js (URL API)
const url = new URL('https://example.com/search?q=hello%20world%20%26%20more')
url.searchParams.get('q')  // → "hello world & more"
url.pathname               // → "/search"
CLI (bash)
# Decode with Python one-liner
python3 -c "from urllib.parse import unquote; print(unquote('hello%20world'))"

# Decode with Node.js
node -e "console.log(decodeURIComponent('hello%20world%20%26'))"

Dekoder URL vs. alternatywy

Kilka narzędzi może dekodować zakodowane procentowo ciągi, ale różnią się pod względem czytelności, prywatności i wygody.

To narzędzie
Działające w przeglądarce, natychmiastowe, prywatne. Obsługuje kodowanie %XX, + jako spację, Unicode i zniekształcone sekwencje. Żadne dane nie są wysyłane na żaden serwer.
Pasek adresu przeglądarki
Przeglądarki dekodują adresy URL do wyświetlenia, ale nie zawsze całkowicie — niektóre zakodowane znaki pozostają widoczne w pasku adresu. Nieprzydatne do sprawdzania wartości poszczególnych parametrów.
DevTools / curl -v
DevTools przeglądarki i curl wyświetlają surowe i zdekodowane adresy URL w żądaniach sieciowych. Przydatne do debugowania, ale wymaga przełączania narzędzi i wiedzy o tym, gdzie szukać.

Często zadawane pytania

Jaka jest różnica między decodeURIComponent a decodeURI?
decodeURIComponent dekoduje wszystkie procentowo zakodowane sekwencje, w tym znaki zarezerwowane (%2F → /, %3F → ?, itd.). decodeURI dekoduje tylko sekwencje, które nie wygenerowałyby znaku o specjalnym znaczeniu w URL — pozostawia %2F, %3F, %23 i inne znaki strukturalne zakodowane. Użyj decodeURIComponent dla wartości parametrów; użyj decodeURI tylko wtedy, gdy masz kompletny URL i chcesz zachować jego strukturę.
Dlaczego widzę URIError: zniekształcony URI?
Ten błąd decodeURIComponent występuje, gdy dane wejściowe zawierają % nie poprzedzony dwoma prawidłowymi cyframi szesnastkowym, lub gdy wielobajtowa sekwencja UTF-8 jest niekompletna (np. %E2 bez następującego %82%AC). Usuń lub zescapuj samotne znaki procentu przed dekodowaniem.
Czy dekodowanie traktuje + jako spację?
Nie — decodeURIComponent traktuje + jako dosłowny znak plus, a nie spację. Konwencja + → spacja ma zastosowanie tylko do danych application/x-www-form-urlencoded (przesyłanie formularzy HTML). Do dekodowania danych zakodowanych w formularzu użyj URLSearchParams (przeglądarka/Node) lub urllib.parse.unquote_plus (Python).
Czy bezpieczne jest dekodowanie URL po stronie klienta?
Tak — dekodowanie URL to czysta transformacja bez żądań sieciowych. Wszystkie nowoczesne przeglądarki zawierają decodeURIComponent i decodeURI jako natywne funkcje. To narzędzie wykonuje dekodowanie całkowicie w twojej przeglądarce; żadne dane nie są wysyłane gdziekolwiek.
Jak zdekodować URL zakodowany wielokrotnie?
Dekoduj go wielokrotnie, aż wynik się ustabilizuje (nie są już rozwiązywane sekwencje %). Dzieje się tak, gdy już zakodowany URL przechodzi przez kolejny koder. Każde przejście dekodowania usuwa jedną warstwę kodowania.
Co reprezentuje %XX?
Dwa znaki po % to cyfry szesnastkowe reprezentujące pojedynczą wartość bajtu (00–FF). Dla znaków ASCII ten bajt to kod ASCII znaku: %41 = 65 = 'A'. Dla znaków innych niż ASCII wiele sekwencji %XX reprezentuje sekwencję bajtów UTF-8 znaku: znak euro to %E2%82%AC (trzy bajty: 0xE2, 0x82, 0xAC).
Jakiego kodowania używa przeglądarka podczas wysyłania formularzy HTML?
Formularze HTML z method=GET dołączają pola do URL za pomocą kodowania application/x-www-form-urlencoded, które zastępuje spacje znakiem + zamiast %20 i koduje procentowo inne znaki specjalne. Opcja + → spacja w narzędziu URL Decode obsługuje ten format. Formularze z method=POST i enctype=application/x-www-form-urlencoded używają tego samego schematu w treści żądania.
Czy istnieje limit rozmiaru dla dekodowania?
Brak limitu po stronie serwera — narzędzie działa w całości w Twojej przeglądarce. Praktyczne ograniczenia zależą od pamięci przeglądarki. W przypadku bardzo długich zakodowanych ciągów lub przetwarzania wsadowego użyj decodeURIComponent w skrypcie.