Naar de inhoud springen
Gratis tool

URL Encoder & Decoder – URL online coderen en decoderen

Codeer en decodeer URL's direct in je browser: de URL Encoder zet tekst en URL's om met procentcodering. Een spatie wordt %20 en ‘ä’ wordt %C3%A4. Als URL Decoder maakt de tool %-reeksen weer leesbaar. Je vergelijkt encodeURIComponent, encodeURI en het formulierformaat met +, bekijkt de gedecodeerde queryparameters van een URL en maakt querystrings en UTM-links. Gratis, zonder aanmelding; je tekst blijft in je browser.

Gebouwd door Dimitri Heissler

Werk je aan een eigen project? Host het op een VPS met volledige controle.

Codeert alles behalve letters, cijfers en de tekens -_.~!*'(). Geschikt voor afzonderlijke parameterwaarden, padsegmenten en alles wat in een URL wordt ingevoegd.

Je tekst blijft in je browser: hij wordt niet geüpload of opgeslagen.

Tekens in de invoer
0
Tekens in het resultaat
0
Tekens gecodeerd
0
Bytes van de invoer
0

Querystring en UTM-link maken

Voer per parameter een naam en waarde in, of voeg met ‘UTM-parameters’ de drie velden voor een campagnelink toe. Elke waarde wordt afzonderlijk gecodeerd, zodat een & of = in een waarde de URL niet kan verstoren.

0 parameters in de URL

Voorbeeldresultaat

Wat deze URL Encoder en Decoder je laten zien

Je voert tekst of een URL in en krijgt meteen het gecodeerde of gedecodeerde resultaat. Bij het coderen zie je ook een lijst van vervangen tekens met hun bytes; bij het decoderen van een URL zie je de queryparameters afzonderlijk en leesbaar. Drie voorbeelden:

Voorbeeld 1: een waarde coderen

Invoer (componentvariant, encodeURIComponent):

Müller & Söhne: 50 % korting?

Uitvoer:

M%C3%BCller%20%26%20S%C3%B6hne%3A%2050%20%25%20korting%3F
Vervangen tekens uit het eerste voorbeeld
TekensBytesResultaat
üC3 BC%C3%BC
Spaties20%20
&26%26
öC3 B6%C3%B6
:3A%3A
%25%25
?3F%3F

Resultaat in woorden: 29 tekens worden 57 tekens. 11 tekens zijn vervangen. De ü bestaat uit twee bytes en wordt %C3%BC, de & wordt %26 en de % zelf wordt %25. Letters en cijfers blijven ongewijzigd.

Voorbeeld 2: een URL decoderen en ontleden

Invoer (formuliervariant, + wordt als spatie gelezen):

https://example.com/search?q=groene%20tomaten&sort=price_asc&category=Fruit%2Bgroenten

Uitvoer:

https://example.com/search?q=groene tomaten&sort=price_asc&category=Fruit+groenten
Queryparameters van het tweede voorbeeld
NaamWaarde (gedecodeerd)Ruw
qgroene tomatengroene%20tomaten
sortprice_ascprice_asc
categoryFruit+groentenFruit%2Bgroenten

Resultaat in woorden: De URL heeft 3 queryparameters. De waarde van „q“ is „groene tomaten“, „sort“ is „price_asc“ en „category“ is „Fruit+groenten“. Het plusteken in „Fruit+groenten“ is gecodeerd als %2B en blijft daarom een plusteken.

Voorbeeld 3: dezelfde URL, vier varianten

Invoer:

https://example.com/straat/over ons?q=Kaas#contact
Resultaat van de vier varianten voor dezelfde URL
VariantResultaat
Component (encodeURIComponent)https%3A%2F%2Fexample.com%2Fstraat%2Fover%20ons%3Fq%3DKaas%23contact
Volledige URL (encodeURI)https://example.com/straat/over%20ons?q=Kaas#contact
Strikt (RFC 3986)https%3A%2F%2Fexample.com%2Fstraat%2Fover%20ons%3Fq%3DKaas%23contact
Formulier (+ voor spaties)https%3A%2F%2Fexample.com%2Fstraat%2Fover+ons%3Fq%3DKaas%23contact

Resultaat in woorden: Alleen „Volledige URL (encodeURI)“ laat https://, / ? en # staan, zodat het adres bereikbaar blijft. De andere drie varianten coderen ook deze scheidingstekens en maken van het adres één lange waarde. Dat is juist als je de volledige URL als waarde in een andere URL wilt opnemen.

Zo werkt het

Zo codeer en decodeer je een URL

Vier stappen van tekst tot kant-en-klare URL – zonder account, zonder download.

Stap 1

Tekst of URL plakken

Voer de tekst in die je wilt coderen, of de gecodeerde URL die je wilt lezen. Met ‘Voorbeeld’ laad je een voorbeeldtekst. Het resultaat verschijnt al tijdens het typen, zonder op een knop te drukken.

Stap 2

Richting, variant en tekenset kiezen

Kies ‘Coderen’ of ‘Decoderen’. Gebruik encodeURIComponent voor een losse waarde, encodeURI voor een volledige URL en het formulierformaat met + voor gegevens uit een HTML-formulier. Bij het coderen kun je ook de strikte variant volgens RFC 3986 en de optie ‘Elke regel afzonderlijk coderen’ kiezen. Als tekenset kies je UTF-8 of ISO-8859-1.

Stap 3

Resultaat controleren en kopiëren

De tool toont hoeveel tekens zijn vervangen, geeft bij het coderen een lijst van die tekens met hun Unicode-nummer en bytes, en waarschuwt bij dubbele codering, ongeldige %-reeksen of een volledige URL met de verkeerde variant. Met ‘Kopiëren’ neem je het resultaat over.

Stap 4

Parameters lezen of maken

Bij het decoderen van een URL toont de tool de onderdelen en de gedecodeerde queryparameters in een tabel. In ‘Querystring en UTM-link maken’ voer je een naam en waarde in of voeg je met ‘UTM-parameters’ de velden voor een campagnelink toe. Daarna kopieer je de volledig gecodeerde URL.

Varianten

encodeURIComponent, encodeURI of formulier: welke variant gebruik je wanneer?

Alle vier de varianten coderen volgens hetzelfde principe, maar vervangen een verschillend aantal tekens. Kies op basis van wat je codeert, niet op gevoel.

Component (encodeURIComponent)
Voor één waarde: parameterwaarde, padsegment, bestandsnaam of een URL die als parameter in een andere URL staat. Codeert alles behalve letters, cijfers en de tekens -_.~!*'(). Bij twijfel is dit de juiste keuze.
Komt ongeveer overeen met: encodeURIComponent / decodeURIComponent
Volledige URL (encodeURI)
Voor een volledige URL die nog spaties of umlauten bevat. Laat ; , / ? : @ & = + $ # ongemoeid, zodat het adres blijft werken. Codeert geen & of = binnen een waarde: daarvoor is deze optie niet geschikt.
Komt ongeveer overeen met: encodeURI / decodeURI
Strikt (RFC 3986)
Net als component, maar codeert ook ! ' ( ) *. Nodig als een ander systeem deze tekens als scheidingstekens leest, bijvoorbeeld bij het ondertekenen van OAuth-verzoeken.
Komt ongeveer overeen met: PHP rawurlencode, Python urllib.parse.quote(wert, safe='')
Formulier (+ voor spaties)
Het formaat van een HTML-formulier (application/x-www-form-urlencoded). Spaties worden +; alleen letters, cijfers en *-._ blijven ongewijzigd, ~ wordt %7E. Geldt voor querystrings uit formulieren en voor POST-bodies van dit type. PHP urlencode en Python quote_plus wijken bij * en ~ iets af.
Komt ongeveer overeen met: Java URLEncoder, JavaScript URLSearchParams

Tekentabel

Speciale tekens in URL's en hun codering

Zo worden de meest voorkomende speciale tekens gecodeerd, afhankelijk van de variant. Een streepje betekent dat het teken ongewijzigd blijft.

Codering van speciale tekens als component, volledige URL en formulier
TekensComponentVolledige URLFormulier
SpatiesSpaties, in querystrings vaak geschreven als +%20%20+
!Subscheidingsteken, zonder vaste betekenis––%21
"niet toegestaan in URL's%22%22%22
#Begin van het fragment (anker)%23–%23
$Subscheidingsteken, zonder vaste betekenis%24–%24
%leidt een %XX-codering in%25%25%25
&scheidt queryparameters%26–%26
'Subscheidingsteken, zonder vaste betekenis––%27
(Subscheidingsteken, zonder vaste betekenis––%28
)Subscheidingsteken, zonder vaste betekenis––%29
*Subscheidingsteken, blijft bij encodeURIComponent ongewijzigd–––
+Plusteken, in formuliernotatie een spatie%2B–%2B
,scheidt lijstwaarden%2C–%2C
/scheidt padsegmenten%2F–%2F
:scheidt schema, host en poort%3A–%3A
;Subscheidingsteken, zonder vaste betekenis%3B–%3B
=scheidt parameternaam van waarde%3D–%3D
?Begin van de query%3F–%3F
@scheidt gebruikersgegevens van host%40–%40
[alleen voor IPv6-adressen in de host%5B%5B%5B
]alleen voor IPv6-adressen in de host%5D%5D%5D
~onbeschermd; alleen het formulierformaat codeert dit (%7E)––%7E
ä%C3%A4%C3%A4%C3%A4
€%E2%82%AC%E2%82%AC%E2%82%AC
😀%F0%9F%98%80%F0%9F%98%80%F0%9F%98%80

UTM-parameters

UTM-link maken: UTM-parameters correct schrijven

UTM-parameters worden aan een link toegevoegd zodat Google Analytics kan zien waar bezoekers vandaan komen. De querystringbuilder in de tool voegt met ‘UTM-parameters’ de drie gebruikelijke velden utm_source, utm_medium en utm_campaign toe en codeert elke waarde afzonderlijk, zodat spaties en speciale tekens de link niet verstoren.

De vijf UTM-parameters en hun betekenis
ParametersBetekenisGegeven
utm_sourceWaar de bezoeker vandaan komt, bijvoorbeeld newsletter, google of instagram.gebruikelijk
utm_mediumVia welk kanaal, bijvoorbeeld e-mail, cpc of social.gebruikelijk
utm_campaignDe naam van de campagne, bijvoorbeeld sommer-aktion.gebruikelijk
utm_termDe zoekterm voor betaald zoeken.optioneel
utm_contentOp welke variant is geklikt, bijvoorbeeld banner of tekstlink.optioneel

Voorbeeld: een nieuwsbrieflink

Basis-URL en drie parameters:

https://example.com/aktion
utm_source = newsletter
utm_medium = e-mail
utm_campaign = Zomeractie

Resultaat:

https://example.com/aktion?utm_source=newsletter&utm_medium=e-mail&utm_campaign=Zomeractie

Schrijf de waarden in kleine letters en zonder spaties, bijvoorbeeld zomeractie. Analytics maakt onderscheid tussen ‘Newsletter’ en ‘newsletter’ en analyseert ze afzonderlijk.

Meer ontdekken

Meer tools

FAQ

Veelgestelde vragen over de URL Encoder & Decoder

Korte antwoorden over URL-codering, procenttekens en deze tool.

In een URL zijn maar weinig tekens toegestaan. Alle andere worden geschreven als % gevolgd door twee hexadecimale cijfers, voor elke byte van het teken in UTF-8. Een spatie wordt %20, een ‘ä’ wordt %C3%A4 (twee bytes), een ‘€’ wordt %E2%82%AC (drie bytes) en een emoji zoals 😀 wordt %F0%9F%98%80 (vier bytes). Dit heet ook procentcodering of URL-encoding, onder ontwikkelaars kortweg URL encode. De omgekeerde bewerking heet URL decode.

%20 is een gecodeerde spatie: 20 is de hexadecimale waarde van de spatie. Zo staat %3D voor =, %26 voor &, %2F voor / en %2C voor een komma. %20 werkt overal in een URL. De + voor een spatie komt alleen voor in het formulierformaat (application/x-www-form-urlencoded), dus in querystrings die door een HTML-formulier worden gemaakt. In een pad is + een echt plusteken. ‘Käse & Brot’ wordt als formulierwaarde ‘K%C3%A4se+%26+Brot’ en met encodeURIComponent ‘K%C3%A4se%20%26%20Brot’. Kies bij het decoderen daarom de passende variant: ‘Formulier’ voor gegevens uit formulieren en zoekopdrachten.

encodeURI laat de scheidingstekens van een URL staan: ; , / ? : @ & = + $ #. encodeURIComponent codeert ze ook. ‘a/b?c=d’ wordt met encodeURI ‘a/b?c=d’ en met encodeURIComponent ‘a%2Fb%3Fc%3Dd’. Gebruik encodeURI voor een volledig adres. Gebruik encodeURIComponent voor een afzonderlijke waarde die in een URL wordt ingevoegd; anders kan een & of = in de waarde de parameters verstoren.

Kies ‘Decoderen’ en voer hierboven de gecodeerde URL of tekst in. ‘M%C3%BCller%20%26%20S%C3%B6hne’ wordt ‘Müller & Söhne’. Bij een URL splitst de tool het adres ook op in onderdelen zoals schema, host, pad, query en fragment. De queryparameters verschijnen in een tabel met naam, gedecodeerde waarde en ruwe waarde, bijvoorbeeld q = groene tomaten in plaats van gr%C3%BCne%20Tomaten. Parameters staan achter ?, naam en waarde zijn gescheiden door = en meerdere parameters door &. Kies voor gegevens uit een formulier of zoekopdracht de variant ‘Formulier’, zodat een + ook als spatie wordt gelezen.

De letters A tot Z en a tot z, de cijfers 0 tot 9 en de tekens -_.~ blijven ongewijzigd. Alleen het formulierformaat codeert de tilde als %7E. De scheidingstekens : / ? # [ ] @ ! $ & ' ( ) * + , ; = zijn alleen toegestaan in hun specifieke functie, bijvoorbeeld & tussen twee parameters. Onder meer spaties, aanhalingstekens, %, < > ^ { | } en alle tekens buiten ASCII, zoals umlauten en emoji's, moeten worden gecodeerd. encodeURIComponent laat daarnaast ! * ' ( ) ongemoeid; de strikte variant volgens RFC 3986 codeert ook die tekens. De tekentabel hierboven toont de meest voorkomende speciale tekens en hun resultaat.

Niet rechtstreeks: ze worden gecodeerd. Letters zoals ‘ä’, ‘ß’, ‘é’, ‘ñ’ en ‘å’ nemen in UTF-8 elk twee bytes in. ‘ä’ wordt %C3%A4, ‘ß’ wordt %C3%9F, ‘é’ wordt %C3%A9, ‘ñ’ wordt %C3%B1 en ‘å’ wordt %C3%A5. Een spatie wordt %20, of + in formulieren. Browsers tonen het adres vaak leesbaar en coderen het pas bij het verzenden. In links die je zelf schrijft, codeer je de waarde met encodeURIComponent of deze tool. De tabel ‘Wat er met je tekens gebeurt’ toont het Unicode-nummer en de bytes van de vervangen tekens. Umlauten in een domeinnaam worden niet met procentcodering verwerkt, maar met Punycode omgezet (müller.de wordt xn--mller-kva.de). Dat doet deze tool niet.

Als een al gecodeerde tekst opnieuw wordt gecodeerd, verandert % in %25: ‘%20’ wordt ‘%2520’. Je herkent dit aan %25 gevolgd door twee cijfers, en aan de %XX-reeksen die na het decoderen nog in het resultaat staan. De tool wijst je hierop en biedt ‘Nogmaals decoderen’ aan. Je voorkomt dit door elke waarde precies één keer te coderen, pas wanneer je de URL samenstelt.

Tegenwoordig is UTF-8 de standaard; daarin is ‘ä’ = %C3%A4. Oudere sites en systemen gebruiken soms ISO-8859-1 (Latin-1); daarin is ‘ä’ = %E4 en ‘é’ = %E9. Een losse %E4 is ongeldig in UTF-8: de tool geeft de positie aan en biedt ‘ISO-8859-1 gebruiken’ aan. Met die tekenset wordt ‘K%E4se’ weer ‘Käse’. Tekens die niet in ISO-8859-1 voorkomen, zoals ‘€’, kun je er niet mee coderen. Schakel daarvoor terug naar UTF-8.

Nee. Het coderen en decoderen gebeurt in je browser. Je tekst wordt niet geüpload of opgeslagen. Dat geldt ook voor URL's met tokens of inloggegevens. De tool is gratis en werkt zonder aanmelding.

Bouw je momenteel iets op maat?

Je applicatie heeft een server nodig die haar URL's betrouwbaar beschikbaar stelt

Een ZAP-Hosting VPS brengt je applicatie of project betrouwbaar online.

4,4/5 Trustpilot32.000+ Actieve serversSinds 2010

Geen installatie. Geen risico. Binnen enkele seconden online.

Flexibele looptijdOp elk moment opzegbaarBinnen 60 seconden online

Op zoek naar meer tools? Alle ontwikkelaarstools bekijken