Gratis converter

URL-encoder /Decoder

Codeer en decodeer URL's en URI-componenten direct in uw browser. Gratis, privé en geen upload vereist.

Of

Over deze tool

URL-codering (formeel procentcodering, gedefinieerd in RFC 3986) vertaalt tekens die een speciale betekenis hebben in URL's (spaties, schuine strepen, ampersands, hekjes) naar een veilige vorm met behulp van procenttekens gevolgd door hexadecimale cijfers. Het spatieteken wordt %20 (of + in vormgecodeerde contexten), het ampersand wordt %26, enzovoort. Zonder deze codering zouden speciale tekens worden geïnterpreteerd als URL-syntaxis in plaats van als letterlijke gegevens, waardoor de URL wordt verbroken of onbedoeld gedrag wordt veroorzaakt.

Er bestaan twee verwante maar verschillende coderingen. De standaard URL-componentcodering gebruikt %-escapes voor alles buiten de niet-gereserveerde tekenset: A-Z, a-z, 0-9, koppelteken, onderstrepingsteken, punt, tilde. De formuliergecodeerde variant (application/x-www-form-urlencoded) behandelt bovendien spaties als plustekens en gebruikt andere regels voor sommige andere tekens. JavaScript's encodeURIComponent gebruikt de strikte componentcodering; encodeURI gebruikt een meer tolerante vorm waarbij de karakters van de URL-structuur behouden blijven.

Deze tool biedt zowel codering als decodering. De coderingsmodus verpakt elk teken dat moet worden geëscaped in %HH-indeling; decodeermodus keert de transformatie om. Beide draaien volledig in uw browser met behulp van ingebouwde JavaScript-URL-functies, zodat er geen gegevens ergens heen worden verzonden.

Waarom URL's coderen of decoderen

Telkens wanneer gegevens in een URL worden opgenomen (querystringparameters, padsegmenten die gebruikersinvoer bevatten, omleidingsdoelen), is de juiste codering vereist. Als er niet wordt gecodeerd, ontstaan ​​URL's die kapot gaan als er speciale tekens verschijnen, parametergrenzen lekken om strings te doorzoeken (waardoor &x=1 in een aparte parameter wordt omgezet) of door webservers worden geblokkeerd als verkeerd opgemaakte verzoeken.

Decoderen is het omgekeerde: het extraheren van de originele gegevens uit een gecodeerde URL. Browseradresbalken tonen URL's vaak in gecodeerde vorm; decodering onthult wat eigenlijk de bedoeling was. Logboekregistratie, foutopsporing en beveiligingsanalyse profiteren allemaal van gedecodeerde URL's die de originele parameters en paden tonen.

Hoe te gebruiken

Plak een string, kies richting.

  1. Kies coderen of decoderen: Codering verpakt onveilige tekens in %HH-indeling. Decoderen keert terug %HH ontsnapt terug naar letterlijke tekens.
  2. Voeg invoertekst toe: Plak de tekenreeks die u wilt coderen of decoderen. Voor codering is dit doorgaans een letterlijke waarde met spaties, speciale tekens of niet-ASCII-inhoud. Voor decodering is dit een URL of URL-component die %HH-escapes bevat.
  3. Converteren: De tool past encodeURIComponent of decodeURIComponent toe. Gecodeerde uitvoer kan veilig in een URL worden ingesloten; gedecodeerde uitvoer is de oorspronkelijke letterlijke waarde.
  4. Kopiëren of downloaden: Gebruik het resultaat waar u het nodig heeft. Gecodeerde waarden passen in URL's; gedecodeerde waarden onthullen de originele gegevens.

Veelvoorkomende gebruiksscenario's

Technische details

encodeURIComponent codeert elk teken buiten de niet-gereserveerde set [A-Za-z0-9-_.~]. Spaties worden %20, plustekens worden %2B, gelijktekens worden %3D, enzovoort. Tekens buiten ASCII worden eerst gecodeerd in UTF-8 en vervolgens wordt elke byte %-escaped.

encodeURI is toleranter en is bedoeld voor volledige URL's in plaats van voor componenten. Het ontsnapt niet aan /, ?, &, =, # en een paar andere omdat deze tekens een URL-syntaxisbetekenis hebben. Voor het insluiten van gebruikersgegevens in een URL is encodeURIComponent vrijwel altijd de juiste keuze.

decodeURIComponent keert %-escapes om, waarbij wordt gevalideerd dat elke escape goed is opgemaakt en dat de resulterende bytes geldige UTF-8 vormen. Verkeerd opgemaakte invoer genereert een fout in plaats van rommel te produceren.

Beste praktijken

Veelgestelde vragen

Welke tekens hebben URL-codering nodig?
Gereserveerde tekens (&, =, ?, #, /, :, @) en onveilige tekens (spaties, <, >, {, }, |, ^, ~, [, ], `) moeten worden gecodeerd. Alfanumerieke tekens en -_.~ zijn veilig en behoeven geen codering.
Wat is het verschil tussen encodeURI en encodeURIComponent?
encodeURI codeert een volledige URL maar behoudt gereserveerde tekens (://?#). encodeURIComponent codeert alles behalve -_.!~*'() — gebruik het voor queryparameterwaarden. Deze tool biedt beide modi.
Hoe worden spaties gecodeerd in URL's?
Spaties kunnen worden gecodeerd als %20 (standaard procentcodering) of + (formuliercodering). %20 is correct voor URL-paden, terwijl + wordt gebruikt in queryreeksen van HTML-formulieren. Deze tool gebruikt standaard %20.
Kan ik Unicode-tekens coderen?
Ja. Unicode-tekens worden eerst gecodeerd naar UTF-8-bytes en vervolgens wordt elke byte procentueel gecodeerd. '日' wordt bijvoorbeeld %E6%97%A5 (drie UTF-8 bytes, elk procent gecodeerd).
Moet ik encodeURI of encodeURIComponent gebruiken?
Bijna altijd codeURIComponent. Gebruik encodeURI alleen als je een volledige URL hebt en de structuur ervan wilt behouden. Dit is doorgaans zeldzaam omdat je toch URL's uit componenten bouwt.
Worden mijn gegevens naar een server geüpload?
Nee. Het coderen en decoderen van URL's gebeurt volledig in uw browser.
Kan het overweg met Unicode-emoji?
Ja. Emoji zijn UTF-8-reeksen van meerdere bytes; de encoder produceert een keten van %-escaped bytes die de decoders correct weer samenstellen naar de originele emoji.
Wat moet ik doen als mijn invoer %HH-achtige tekenreeksen bevat die niet daadwerkelijk zijn gecodeerd?
De codering verandert elke % in %25 en past vervolgens de ontsnappingsfunctie opnieuw toe voor de rest. Het decoderen van strikte invoer levert fouten op bij verkeerd opgemaakte ontsnappingen; dubbelzinnig ogende tekenreeksen kunnen onjuist worden gedecodeerd.