raatools/

URL-encoder / -decoder

Codeer of decodeer URL's en querystrings.

Wat is URL-codering?

URL-codering (percent-encoding) vervangt onveilige tekens in URLs door een procentteken gevolgd door twee hexadecimale cijfers. Spatie wordt %20, ampersand wordt %26. Dit zorgt ervoor dat URLs correct worden verwerkt.

RFC 3986 definieert welke tekens veilig zijn in URLs: letters, cijfers, en -_.~ (unreserved characters). Alle andere tekens moeten worden gecodeerd wanneer ze letterlijk in URL-componenten voorkomen.

Wanneer coderen?

  • Query parameters: ?naam=Jan%20de%20Vries&stad=Den%20Haag
  • Bestandsnamen met spaties of speciale tekens in URL-paden.
  • Unicode-tekens (letters met accenten, emoji, CJK): e wordt %C3%A9.
  • Reservetekens die letterlijk in data voorkomen: &, =, ?, #, /, @.
  • Base64-strings als URL-parameter (+ wordt %2B, / wordt %2F, = wordt %3D).

Hoe werkt het?

Elk teken wordt omgezet naar zijn UTF-8 bytereeks. Elke byte wordt weergegeven als %XX (hexadecimaal). Spatie: UTF-8 byte 0x20 wordt %20. Euro-teken: UTF-8 bytes E2 82 AC wordt %E2%82%AC. In formulieren wordt spatie soms als + gecodeerd (application/x-www-form-urlencoded).

Hoe gebruikt u deze tool?

Plak tekst om te coderen of een gecodeerde URL om te decoderen. De tool ondersteunt zowel standaard URL-codering als formuliercodering (+ voor spaties). Resultaten worden direct getoond.

Veelgecodeerde tekens

Spatie: %20 (of +). Ampersand: %26. Gelijkteken: %3D. Vraagteken: %3F. Hekje: %23. Slash: %2F. Plusteken: %2B. At-teken: %40. Procent: %25 (het escape-teken zelf moet ook geรซscaped worden).

Veelgemaakte fouten

Dubbel coderen: %20 wordt %2520 als u twee keer codeert. Altijd controleren of de input al gecodeerd is voordat u opnieuw codeert.

Hele URL coderen in plaats van alleen de parameterwaarden. De structuurtekens (://?&=) moeten niet gecodeerd worden, alleen de data ertussen.

Tips

In JavaScript: encodeURIComponent() voor parameterwaarden, encodeURI() voor hele URLs. In Python: urllib.parse.quote() en urllib.parse.urlencode(). Gebruik altijd de standaardbibliotheken โ€” handmatig coderen leidt tot fouten.

Veelgestelde vragen

Wat is het verschil tussen encodeURI en encodeURIComponent?

encodeURI() codeert een volledige URL maar laat structuurtekens intact (:, /, ?, #, &). encodeURIComponent() codeert alles behalve letters, cijfers en -_.~. Gebruik encodeURIComponent() voor parameterwaarden, encodeURI() voor hele URLs.

Waarom wordt spatie soms als + en soms als %20 geschreven?

Twee standaarden: RFC 3986 (URL) gebruikt %20. HTML-formulieren (application/x-www-form-urlencoded) gebruiken + voor spaties. Querystrings in browsers gebruiken meestal +. REST APIs gebruiken meestal %20. Beide zijn geldig in querystrings.