URL Decode Online

Procentueel gecodeerde URL's decoderen

Probeer een voorbeeld

Gecodeerde URL / Tekst

Gedecodeerd

Draait lokaal · Veilig om secrets te plakken
Gedecodeerde uitvoer...
Probeer ook:URL Encode Online

Wat is URL-decodering?

URL-decodering (percent-decodering) is het omgekeerde van URL-codering: het zet procentueel gecodeerde reeksen terug naar hun oorspronkelijke tekens. Elke aanwezigheid van een procentteken gevolgd door twee hexadecimale cijfers (%XX) wordt vervangen door de byte die XX vertegenwoordigt. Meerdere opeenvolgende gecodeerde bytes worden samengevoegd om het oorspronkelijke UTF-8-teken te reconstrueren.

URL-decodering is een dagelijkse taak voor ontwikkelaars die werken met API's, webscraping, loganalyse en authenticatiestromen. Gecodeerde URL's zijn leesbaar voor machines maar ondoorzichtig voor mensen — decodering onthult onmiddellijk de werkelijke paden, zoekopdrachten, doorverwijzingsdoelen en parameterwaarden.

Waarom dit hulpmiddel gebruiken?

Begrijp snel elke procentueel gecodeerde URL of queryreeks — geen browserconsole nodig, niets wordt naar een server gestuurd.

Directe decodering
Plak een gecodeerde URL of parameter en zie direct de leesbare versie. Ideaal voor het debuggen van API-verzoeken en logbestanden.
🛡️
Foutherstel
Valt terug op het verouderde unescape() voor invoer die oude Latin-1 procentueel gecodeerde tekens bevat die bij decodeURIComponent zouden falen.
🔒
Alleen clientzijde
Alle decodering wordt lokaal in uw browser uitgevoerd. Tokens, wachtwoorden en privéqueryparameters verlaten uw apparaat nooit.
🔁
Volledige URL-ondersteuning
Decodeer volledige URL's of afzonderlijke parameterwaarden. Het hulpmiddel verwerkt zowel standaard %20-spaties als behoudt +-tekens als letterlijke plustekens.

Hoe gebruik je deze online URL-decoder

Geen account, geen installatie. Plak je procentueel gecodeerde reeks in het invoerveld en het gedecodeerde resultaat verschijnt direct. Alles wordt in je browser uitgevoerd — je gegevens verlaten nooit je apparaat.

  1. 1
    Plak je gecodeerde URL of reeks
    Kopieer een willekeurige procentueel gecodeerde reeks — een URL uit de adresbalk, een queryparameter uit serverlogs, een API-reactie of een omleidingsdoel — en plak die in het invoerveld.
  2. 2
    Automatische formaatdetectie
    De decoder verwerkt automatisch zowel %XX-procentcodering als + als spatie (application/x-www-form-urlencoded). Je hoeft het coderingsformaat niet handmatig op te geven.
  3. 3
    Controleer de gedecodeerde uitvoer
    De leesbare tekst verschijnt direct. Als de invoer geneste codering (dubbel gecodeerde reeksen) bevatte, lost de decoder telkens één laag op. Er verschijnt een fout voor misvormde %XX-reeksen.
  4. 4
    Kopiëren of hercoderen
    Klik op Kopiëren om de gedecodeerde reeks te pakken. Wil je deze opnieuw coderen met andere instellingen? Schakel met één klik over naar de URL-encoder.

Hoe decodering werkt

De decoder scant de invoer op %-reeksen, converteert elke twee-hexadecimale-cijfergroep naar een bytewaarde, groepeert opeenvolgende bytereeksen samen en interpreteert ze als UTF-8 om de uiteindelijke Unicode-tekens te produceren.

Voorbeeld
Invoer:https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dhello%20world
%3A:  %2F/  %3F?  %3D=  %20space
Uitvoer:https://example.com/search?q=hello world

Referentie: procentueel gecodeerde tekens

Een snelreferentie voor de meest voorkomende procentueel gecodeerde reeksen:

GecodeerdTekenWaar u het ziet
%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

Veelvoorkomende gebruiksscenario's

API-verzoeken debuggen
Kopieer een URL uit de netwerklogs van de browser DevTools en decodeer deze om de werkelijke queryparameterwaarden te zien — bijzonder nuttig wanneer geautomatiseerde hulpmiddelen of bibliotheken de parameters procentueel hebben gecodeerd.
Logbestanden lezen
Webservertoegangslogboeken en applicatielogs slaan URL's op in hun gecodeerde vorm. Decodeer ze om de werkelijke aangevraagde paden, zoektermen en parameterwaarden te vinden.
Doorverwijzingen inspecteren
OAuth-callbacks, SSO-doorverwijzingen en linktraceer-URL's bevatten vaak sterk gecodeerde redirect_uri- of next-parameters. Decodeer de URL om de beoogde bestemming te achterhalen.
Webhook-payloads verwerken
Webhook-bodys verzonden als application/x-www-form-urlencoded (Stripe, Twilio, GitHub) komen aan als procentueel gecodeerde reeksen. Decodeer ze om de werkelijke veldwaarden te lezen.
Zoekopdrachten extraheren
Analytics-URL's en verwijzingsheaders bevatten de oorspronkelijke zoekopdracht van de gebruiker, procentueel gecodeerd in de q=-parameter. Decodeer om de werkelijke zoektermen weer te geven of te analyseren.
URL's reverse engineeren
Bij integratie met externe API's of scraping bevatten gevonden URL's vaak gecodeerde padsegmenten en parameters. Decodeer ze om de URL-structuur te begrijpen en verzoeken te reproduceren.

Veelvoorkomende valkuilen

Dit zijn de meest voorkomende fouten bij het decoderen van procentueel gecodeerde reeksen:

+ en %20 verwarren
In application/x-www-form-urlencoded-gegevens (HTML-formulierindieningenn) staat + voor een spatie. Maar in een ruw URL-pad of een waarde gecodeerd met encodeURIComponent is + een letterlijk plusteken. decodeURIComponent converteert + niet naar een spatie — gebruik URLSearchParams of unquote_plus voor formuliergegevens.
Dubbel gecodeerde reeksen
Als een reeks tweemaal is gecodeerd, laat eenmalige decodering nog steeds procenttekens achter: %2520 decodeert naar %20, niet naar een spatie. Decodeer een tweede keer om de oorspronkelijke waarde te krijgen. Let hierop in logs, proxy's en middleware die al gecodeerde gegevens opnieuw codeert.
Onjuiste procentreeksen
Een enkel % of een % gevolgd door niet-hexadecimale tekens (bijv. %GG of % 2) is ongeldig en genereert een URIError. Valideer altijd de invoer of omsluit decodering in een try/catch.
Coderingsverschil (Latin-1 vs. UTF-8)
Oude systemen (PHP's urlencode, klassiek ASP) codeerden tekens als Latin-1-bytes. Een reeks die als Latin-1 is gecodeerd, kan onjuist worden gedecodeerd door een UTF-8-decoder. Als u onleesbare tekens ziet, probeer dan het verouderde unescape()-pad of bepaal de oorspronkelijke codering.

Codevoorbeelden

URL-reeksen decoderen in populaire talen en omgevingen:

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'))"

URL-decoder vs. alternatieven

Meerdere tools kunnen procentueel gecodeerde reeksen decoderen, maar ze verschillen in duidelijkheid, privacy en gemak.

Deze tool
Browsergebaseerd, direct, privé. Verwerkt %XX-codering, + als spatie, Unicode en misvormde reeksen. Er worden geen gegevens naar een server verzonden.
Adresbalk van de browser
Browsers decoderen URL's voor weergave, maar niet altijd volledig — sommige gecodeerde tekens blijven zichtbaar in de adresbalk. Niet nuttig voor het inspecteren van individuele parameterwaarden.
DevTools / curl -v
Browser-DevTools en curl tonen onbewerkte en gedecodeerde URL's in netwerkverzoeken. Handig voor foutopsporing, maar vereist het wisselen van tools en weten waar je moet kijken.

Veelgestelde vragen

Wat is het verschil tussen decodeURIComponent en decodeURI?
decodeURIComponent decodeert alle procentueel gecodeerde reeksen inclusief gereserveerde tekens (%2F → /, %3F → ?, enz.). decodeURI decodeert alleen reeksen die geen teken met speciale betekenis in een URL zouden produceren — het laat %2F, %3F, %23 en andere structurele tekens gecodeerd. Gebruik decodeURIComponent voor parameterwaarden; gebruik decodeURI alleen als u een volledige URL heeft en de structuur wilt behouden.
Waarom zie ik URIError: malformed URI?
Deze fout van decodeURIComponent treedt op wanneer de invoer een % bevat dat niet wordt gevolgd door twee geldige hexadecimale cijfers, of wanneer een multibyte UTF-8-reeks onvolledig is (bijv. %E2 zonder het volgende %82%AC). Verwijder of codeer losse procenttekens voor het decoderen.
Behandelt decodering + als spatie?
Nee — decodeURIComponent behandelt + als een letterlijk plusteken, niet als spatie. De +-naar-spatie-conventie is alleen van toepassing op application/x-www-form-urlencoded-gegevens (HTML-formulierindieningen). Gebruik URLSearchParams (browser/Node) of urllib.parse.unquote_plus (Python) voor het decoderen van formuliergegevens.
Is URL-decodering clientzijde veilig?
Ja — URL-decodering is een zuivere transformatie zonder netwerkverzoeken. Alle moderne browsers bevatten decodeURIComponent en decodeURI als native functies. Dit hulpmiddel voert de decodering volledig in uw browser uit; er worden geen gegevens verzonden.
Hoe decodeer ik een URL die meerdere keren is gecodeerd?
Decodeer meerdere keren totdat de uitvoer stabiel wordt (geen %-reeksen meer worden opgelost). Dit gebeurt wanneer een al gecodeerde URL door een andere encoder wordt geleid. Elke decodeerstap verwijdert één coderingslaag.
Wat stelt %XX voor?
De twee tekens na % zijn hexadecimale cijfers die een enkele bytewaarde (00–FF) vertegenwoordigen. Voor ASCII-tekens is deze byte de ASCII-code van het teken: %41 = 65 = 'A'. Voor niet-ASCII-tekens vertegenwoordigen meerdere %XX-reeksen de UTF-8-bytereeks van het teken: het euroteken € is %E2%82%AC (drie bytes: 0xE2, 0x82, 0xAC).
Welke codering gebruikt een browser bij het verzenden van HTML-formulieren?
HTML-formulieren met method=GET voegen velden aan de URL toe met application/x-www-form-urlencoded codering, waarbij spaties worden vervangen door + in plaats van %20 en andere speciale tekens procentueel worden gecodeerd. De + → spatie optie in de URL Decode tool verwerkt dit formaat. Formulieren met method=POST en enctype=application/x-www-form-urlencoded gebruiken hetzelfde schema in de request body.
Is er een groottebeperking voor decodering?
Geen serverlimieten — de tool wordt volledig in je browser uitgevoerd. Praktische limieten zijn afhankelijk van het geheugen van je browser. Voor zeer lange gecodeerde reeksen of batchverwerking gebruik je decodeURIComponent in een script.