URL-encoder
Codeer en decodeer URL's
Hoe URL-encoder te gebruiken
Codeer en decodeer URL's Gratis online tool, geen registratie, geen opdringerige advertenties. Gebruik het nu.
Waarvoor dient URL-codering?
URL's mogen slechts een beperkte reeks ASCII-tekens bevatten. Speciale tekens — spaties, letters met accenten, leestekens en niet-ASCII-tekens — moeten worden gecodeerd als procentreeksen (%XX) om veilig te worden verzonden in een URL. Dit is bijzonder relevant voor het Nederlands met zijn speciale tekens.
- Queryparameters: Gebruikersinvoer doorgeven als URL-parameters vereist codering. Een zoekopdracht voor "café in Amsterdam" wordt
caf%C3%A9%20in%20Amsterdamin de URL — speciale tekens worden vervangen door hun UTF-8-representatie in hexadecimaal. - API-verzoeken: Programmatisch URL's voor API's bouwen — parameters coderen vóór het toevoegen aan de basis-URL voorkomt misgevormde verzoeken en beveiligingskwetsbaarheden zoals parameterinjection.
- Formulierverzending: HTML-formulieren met method="GET" coderen formulierwaarden in de URL. Dit coderingsschema begrijpen helpt bij het debuggen van formulierverzendingen en het reconstrueren van oorspronkelijke waarden bij het analyseren van serverlogboeken.
- Links delen: URL's delen die Nederlandse tekens bevatten (é, è, ë, ï, ü, ij) — veel platforms beschadigen deze zonder correcte codering, vooral bij kopiëren en plakken tussen verschillende systemen.
- Debuggen: Een gecodeerde URL decoderen om de oorspronkelijke parameters te lezen — nuttig bij het inspecteren van netwerkverzoeken in de DevTools van de browser of in webserverlogboeken.
Coderingsregels: Letters (A-Z, a-z), cijfers (0-9) en de tekens -_.~ worden nooit gecodeerd. Al het andere wordt gecodeerd als % gevolgd door twee hexadecimale cijfers die de UTF-8-bytewaarden van het teken vertegenwoordigen.
Frequently Asked Questions
Wat is het verschil tussen encodeURI en encodeURIComponent in JavaScript?
encodeURI codeert een volledige URL — laat de structurele URL-tekens (/, ?, &, #, :) ongecodeerd omdat ze een betekenis hebben in de URL. encodeURIComponent codeert alles behalve letters, cijfers en -_.~* — wordt gebruikt voor individuele parameterwaarden. Gebruik altijd encodeURIComponent voor queryparameterwaarden.
Wat is het verschil tussen + en %20 voor spaties?
Beide vertegenwoordigen een spatie in URL-codering, maar in verschillende contexten. %20 is correct voor alle URL-componenten. Het plusteken vertegenwoordigt alleen een spatie in application/x-www-form-urlencoded (HTML-formuliergegevens) — niet in padsegmenten.
Waarom veroorzaakt dubbele decodering problemen?
Als %252F in een URL verschijnt, codeert het %2F (dat zelf / codeert). Eenmaal decoderen geeft %2F. Tweemaal decoderen geeft /. Dubbele codering treedt op wanneer een waarde wordt gecodeerd en vervolgens de volledige URL opnieuw wordt gecodeerd. Dit veroorzaakt beveiligingsproblemen (path traversal-aanvallen) wanneer servers URL's meerdere keren decoderen.
Welke tekens moeten worden gecodeerd in een URL-padsegment?
Gereserveerde tekens met speciale betekenis moeten worden gecodeerd in padsegmenten: spatie (%20), # (%23), % (%25), ? (%3F) en andere. De schuine streep / is het padscheidingsteken — voor een letterlijke schuine streep in een padsegment, codeer het als %2F.
Wat is Punycode en hoe verhoudt het zich tot URL-codering?
Punycode converteert geïnternationaliseerde domeinnamen (IDN) met niet-ASCII-tekens naar ASCII-compatibele codering. 'ámsterdam.nl' zou worden geconverteerd via Punycode voor het domeingedeelte. Het verschilt van procentcodering — het wordt specifiek toegepast op domeinnamen, niet op paden of parameters.
URL-codering vs Base64 vs HTML-entiteiten
URL-codering (procentcodering) maakt gegevens veilig voor URL's. Base64-codering maakt binaire gegevens veilig voor tekstcontexten (e-mail, JSON). HTML-entiteiten maken speciale tekens veilig voor HTML: & wordt &, < wordt <. Elk lost hetzelfde probleem op — gegevens weergeven in een beperkte tekenset — maar voor verschillende doelcontexten. De verkeerde codering voor de context gebruiken veroorzaakt weergavefouten of beveiligingskwetsbaarheden.