Terug naar home Ontwikkelaar URL-encoder

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.

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 &amp;, < wordt &lt;. 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.

☕ Buy me a coffee