§

Voer tekst in om te decoderen:

Voer de URL-gecodeerde tekst in die je wilt decoderen. De tool zal procent-gecodeerde tekens terug converteren naar hun oorspronkelijke vorm.
§

Output

decoded

Een Nederlandse webmarketeer ontleedt dagelijks UTM-parameters van Bol.com-, Coolblue- en Wehkamp-campagnes om te zien welke utm_content via Google Ads NL werkelijk een conversie heeft opgeleverd in GA4. Voor ontwikkelaars stapelt het werk zich op: Tikkie-deeplinks met dubbel gecodeerde plustekens, Shopify- en Lightspeed-webhooks waarin het customer.email-veld is dichtgeplakt, OAuth state-parameters uit DigiD- en eHerkenning-redirects, en CSAM-callbacks bij Belgische projecten. CDN-logs van TransIP, Leaseweb en Cloudflare-NL bevatten URI's die meerdere keren in elkaar zijn gewikkeld door tussenliggende proxies. Plak de verdachte string hier en herstel hem instant — handig bij AVG-incidentanalyse, waarbij ruwe loglines doorgaans niet naar een buitenlandse SaaS-dienst gestuurd mogen worden.

Geavanceerde opties

Converteer + naar spaties

Wanneer ingeschakeld, worden +-tekens geconverteerd naar spaties. Dit is handig bij het decoderen van queryparameters.

Live-modus

Wanneer ingeschakeld, wordt de tekst automatisch gedecodeerd terwijl je typt.

Deze opties helpen je te bepalen hoe gecodeerde tekens in je URL's worden gedecodeerd.

Wat is URL-decodering?

URL-decodering keert procentcodering terug: het leest de %XX-escape-reeksen in een gecodeerde URL en zet ze terug naar de tekens die ze voorstellen. Zo haal je een leesbare querystring, formulierwaarde of padsegment terug uit een URL die een browser, API of logbestand je gecodeerd heeft aangeleverd.

Hoe werkt URL-decodering?

URL-decodering volgt een specifiek proces om procentgecodeerde reeksen terug om te zetten naar hun oorspronkelijke tekens:

  1. De invoerstring wordt gescand op procentgecodeerde escape-reeksen (%XX)
  2. Elke %XX wordt van zijn twee hexadecimale cijfers terug omgezet naar de oorspronkelijke bytewaarde
  3. Opeenvolgende gedecodeerde bytes worden weer samengevoegd tot UTF-8-tekens (een multibyte-reeks wordt één teken)
  4. In de context van een queryreeks wordt + gedecodeerd naar een spatie (application/x-www-form-urlencoded), terwijl %2B een letterlijke + blijft
  5. Niet-gereserveerde tekens en reeds gedecodeerde tekst gaan ongewijzigd door

Waarom een URL-decoder gebruiken?

  • Leesbare uitvoer: zet %20, %40 en %3D terug naar spaties, @ en = zodat je kunt lezen wat een URL werkelijk zegt
  • Internationale tekst: herstel geaccentueerde en niet-ASCII-tekens uit hun UTF-8-byte-reeksen, zodat %C3%A9 weer gelezen wordt als é
  • Debuggen: inspecteer de echte waarden in een querystring, OAuth-redirect of webhook-payload voordat je er actie op onderneemt
  • Standaardconform: decodeer op basis van RFC 3986 — dezelfde regels die browsers en servers gebruiken — zodat je precies ziet wat zij zien

Wat zijn veelvoorkomende toepassingen van URL-decodering?

URL-decodering is essentieel in veel scenario's van webontwikkeling:

  • Formulierinzendingen: de originele veldwaarden teruggelezen uit application/x-www-form-urlencoded GET- en POST-data
  • API-ontwikkeling: procentgecodeerde pad- en queryparameters uitpakken die bij een API-eindpunt binnenkomen
  • Bestandssystemen: bestandspaden en -namen herstellen die procentgecodeerd waren om in een URL te reizen
  • Links debuggen: gedeelde of gelogde URL's decoderen om de speciale tekens en internationale tekst te zien die ze bevatten

Hoe ziet een voorbeeld van URL-decodering eruit?

Hier zijn enkele veelvoorkomende voorbeelden van URL-decodering: %20 (of +) wordt een spatie, %40 wordt @, %23 wordt #, %26 wordt &, en %3D wordt =. Een UTF-8-reeks zoals %C3%A9 wordt het internationale teken é.

Wat is percent-codering?

Percent-codering is het in RFC 3986 §2.1 gedefinieerde mechanisme om tekens te representeren die binnen een URI onveilig of gereserveerd zijn. De regel is mechanisch: elke byte die niet letterlijk mag voorkomen wordt geschreven als een procentteken gevolgd door twee hexadecimale cijfers — de %XX-vorm —, waarbij XX de waarde van de byte is. Niet-ASCII-tekens zoals é worden eerst gecodeerd als hun UTF-8 bytesequentie, en daarna wordt elke byte afzonderlijk percent-gecodeerd. Ontwikkelaars komen dit bijna dagelijks tegen: in query-strings, formulierinzendingen, OAuth-callback-URL's, REST-API padparameters en overal waar een URL leestekens, spaties of tekens buiten de niet-gereserveerde set A–Z a–z 0–9 - _ . ~ moet meedragen.

Hoe werkt het decoderen van %C3%A9 naar é eigenlijk?

Neem de gecodeerde query-string ?q=caf%C3%A9&lang=fr. Decoderen levert ?q=café&lang=fr op. Hier is de byte-voor-byte uitleg:

  • Invoer: ?q=caf%C3%A9&lang=fr
  • Uitvoer: ?q=café&lang=fr
  1. %C3 → byte 0xC3 (binair 11000011) — de leidende byte van een UTF-8 sequentie van 2 bytes.
  2. %A9 → byte 0xA9 (binair 10101001) — de vervolgbyte. Samen is C3 A9 de UTF-8-codering van U+00E9, oftewel é.
  3. De tekens ?, = en & blijven onaangeroerd omdat ze structureel zijn — ze begrenzen de query en de bijbehorende sleutel/waarde-paren. Ook het letterlijke caf wordt onveranderd doorgegeven, omdat ASCII-kleine letters tot de niet-gereserveerde set behoren.

Wat is het verschil tussen decodeURIComponent en decodeURI?

JavaScript biedt twee ingebouwde decoders, en deze door elkaar halen is een van de meest voorkomende fouten bij URL-verwerking:

  • decodeURIComponent(str) decodeert elke percent-gecodeerde sequentie, inclusief gereserveerde tekens zoals &, =, ?, / en #. Gebruik het op individuele query-string-waarden of padsegmenten — nooit op een volledige URL.
  • decodeURI(str) is bewust voorzichtig: het slaat gereserveerde tekens over. Als je %26 doorgeeft, krijg je de letterlijke string %26 terug, niet &. Het is bedoeld voor volledige URI's waarbij je wilt dat de structuur een heen-en-terugreis overleeft.

Vuistregel: als de string een stuk van een URL is (een enkele parameter, een fragment, een gecodeerde bestandsnaam), grijp dan naar decodeURIComponent. Deze tool gedraagt zich als decodeURIComponent — elke %XX-sequentie in je invoer wordt gedecodeerd, inclusief gereserveerde tekens.

Een URL decoderen is hoe je leest wat er echt in zit. Plak hierboven een gecodeerde string en elke %XX-reeks keert direct in je browser terug naar zijn teken — zo kun je een queryparameter debuggen, een OAuth-redirect controleren of een geaccentueerde bestandsnaam terughalen zonder iets naar een server te sturen.