URL-codering uitgelegd
Bijgewerkt 2026-07-06
Kopieer een URL met een zoekterm erin en je ziet vaak iets als %20 of %C3%A9 waar een spatie of een letter met accent hoort te staan. Dat is URL-codering aan het werk. Deze gids legt uit wat het doet, waarom het nodig is en welke tekens worden ge-escapet.
Wat URL-codering is
URL-codering — ook procentcodering (percent-encoding) genoemd — is een manier om tekens in een URL weer te geven die anders onveilig of dubbelzinnig zouden zijn. Elk zo'n teken wordt vervangen door een % gevolgd door zijn bytewaarde in hexadecimaal. Een spatie wordt %20; een ampersand wordt %26.
Waarom het nodig is
URL's mogen maar een beperkte set tekens bevatten, en sommige daarvan hebben speciale taken: ? start de querystring, & scheidt parameters, / scheidt padsegmenten en # markeert een fragment. Bevat een waarde die je in een URL zet er een van, dan moet die worden gecodeerd zodat hij als data wordt behandeld, niet als structuur.
Search term: cats & dogs In a URL: ?q=cats%20%26%20dogs
Zonder codering zou de rauwe & worden gelezen als het begin van een nieuwe parameter, en de zoekopdracht zou breken.
Gereserveerde vs. niet-gereserveerde tekens
- Niet-gereserveerde (Unreserved) tekens — letters, cijfers en
- _ . ~— zijn altijd veilig en hoeven nooit gecodeerd te worden. - Gereserveerde (Reserved) tekens — zoals
? & / # : @ =— hebben een speciale betekenis en moeten worden gecodeerd wanneer ze als letterlijke data dienen. - Al het andere — spaties, letters met accent, emoji en de meeste symbolen — wordt gecodeerd op basis van zijn UTF-8-bytes, en daarom kan één teken meerdere
%xx-paren worden.
Een veelvoorkomende verwarring: het plusteken
In de querystring van een formulierverzending worden spaties soms gecodeerd als + in plaats van %20. Beide kunnen „spatie” betekenen afhankelijk van de context, wat mensen doet struikelen — bij twijfel is %20 altijd veilig.
URL-codering vs. Base64
Deze lossen verschillende problemen op. URL-codering maakt tekst veilig om in een URL te plaatsen; Base64 maakt binaire data veilig om door op tekst gebaseerde kanalen te verplaatsen. Ze worden soms gecombineerd (Base64URL) maar zijn niet uitwisselbaar.
Om een waarde te coderen of te decoderen, gebruik de URL-encoder, en om alle parameters in een querystring uit elkaar te halen, splitst de querystring-parser ze in een leesbare lijst.
Meer over Dataformaten & codering
Alle Dataformaten & codering-gidsen bekijken →Tools genoemd in deze gids