URL-encoder / -decoder
Percent-encode en decodeer URL's en query-parameters. Component- of volledig-URL-bereik, draait volledig in je browser.
Wat is URL-codering?
URL-codering (ook wel percent-encoding) is een manier om tekens te representeren die niet veilig zijn in een URL — spaties, letters met accenten, &, ?, # enzovoort — door ze te vervangen door % gevolgd door hun hexadecimale bytewaarde. De standaard staat in RFC 3986. Voor niet-ASCII-tekens komen de bytes uit de UTF-8-codering, dus é wordt %C3%A9 (twee bytes). Deze tool wraps de ingebouwde browserfuncties encodeURIComponent en decodeURIComponent.
Hoe gebruik je deze encoder
Kies Coderen of Decoderen in de modus en daarna het bereik. Component is de juiste standaard voor query-string-waarden, formuliervelden en alles wat in ?key=… komt. Volledige URL is voor hele URL's die je minimaal wilt escapen — die laat : / ? & = # met rust zodat de structurele tekens hun betekenis houden. Plak je tekst en het resultaat werkt live bij. Gebruik Wisselen om de uitvoer terug naar de invoer te zetten en de modus om te draaien voor een snelle round-trip.
Component vs volledige URL — wat kies je?
Codeer je één waarde (een zoekterm, een redirect-target, een e-mailadres) die in een query-string komt: gebruik Component. Codeer je een complete URL die al ongeveer geldig is en wil je alleen de onveilige bits escapen: gebruik Volledige URL. De twee gedragen zich heel anders bij tekens als ? en & — Component codeert ze, Volledige URL niet. Bij twijfel: codeer waarden binnen een URL met Component en zet de URL daarna zelf in elkaar.
Gangbare percent-encodings
| Teken | Gecodeerd | Opmerkingen |
|---|---|---|
| space | %20 | Spaties worden %20 in URL's (of + in form-encoded bodies). |
| & | %26 | Scheidt query-string-parameters; moet binnen een waarde gecodeerd worden. |
| = | %3D | Scheidt naam en waarde van een query-parameter. |
| ? | %3F | Markeert het begin van de query-string. |
| # | %23 | Markeert het begin van het URL-fragment (anker). |
| / | %2F | Padscheider; alleen gecodeerd binnen padsegmenten. |
| é | %C3%A9 | Niet-ASCII-tekens worden in UTF-8 gecodeerd en daarna byte-voor-byte percent-escaped. |
Veelgestelde vragen
Wordt er iets naar een server gestuurd?
encodeURIComponent / decodeURIComponent. Niets wordt gelogd of verzonden. Bevestig met DevTools > Network — geen requests tijdens typen.Waarom betekent + soms een spatie?
application/x-www-form-urlencoded, gebruikt bij HTML-formulierverzendingen. Daar worden spaties + in plaats van %20. RFC 3986 percent-encoding (wat deze tool gebruikt) gebruikt altijd %20. Decodeer je de body van een formulierverzending en zie je + in plaats van spaties, vervang ze dan eerst door spaties of gebruik een speciale form-decoder.Waarom mislukt decoderen met een fout?
decodeURIComponent gooit een URIError als de invoer een losse % bevat zonder twee geldige hex-cijfers erna, of als de resulterende bytes geen geldige UTF-8 zijn. Veel voorkomende oorzaken zijn dubbel-gecodeerde strings (decodeer twee keer) of geplakte URL's die door auto-correct van een editor zijn vermangeld.Wat is het verschil tussen encodeURI en encodeURIComponent?
encodeURI is bedoeld voor hele URL's — laat : / ? & = # @ en + met rust, omdat die tekens structurele betekenis hebben in een URL. encodeURIComponent is voor individuele onderdelen van een URL (een query-waarde, een padsegment) en codeert alles wat niet unreserved is. Vuistregel: bouw een URL door encodeURIComponent'd delen aan elkaar te plakken; vertrouw encodeURI nooit voor gebruikersinvoer.Kan ik emoji coderen?
%F0%9F%8E%89) omdat het een 4-byte UTF-8-codepoint buiten het basic plane is. Decoderen draait het terug — het resultaat is de oorspronkelijke emoji.Moet ik de URL meer dan eens coderen?
? en & van de binnen-URL geparsed als deel van de buiten-URL. Decodeer een dergelijke waarde door net zo vaak te decoderen. Heb je per ongeluk één URL dubbel gecodeerd, decodeer dan twee keer en je krijgt het origineel terug.