Skip to content

URL decoderen en encoderen online

Decodeer of encodeer URL's in realtime met ingebouwde URL-parser. Twee modi: encodeURI en encodeURIComponent. 100% privé, geen data naar servers.

Geen tracking Draait in je browser Gratis
Gedecodeerd
Geëncodeerd
Gecontroleerd op RFC 3986-conformiteit, correctheid van encodeURI/encodeURIComponent en nauwkeurigheid van UTF-8-encoding — Go Tools Engineering Team · Apr 7, 2026

Wat is URL-encoding (percent-encoding)?

URL-encoding, formeel bekend als percent-encoding, is een mechanisme gedefinieerd in RFC 3986 voor het weergeven van tekens in een Uniform Resource Identifier (URI) die niet zijn toegestaan of een speciale betekenis hebben. Het zet elke onveilige byte om naar een procentteken (%) gevolgd door twee hexadecimale cijfers — een spatie wordt %20, een ampersand %26 en het Chinese teken 中 wordt %E4%B8%AD (de drie UTF-8-bytes, elk percent-geëncodeerd).

URL's mogen slechts een beperkte set tekens uit de ASCII-tekenset bevatten. Letters, cijfers en een handvol symbolen (- _ . ~) worden als 'onbereikbaar' beschouwd en mogen als zodanig voorkomen. Alle andere tekens — waaronder spaties, leestekens en het volledige Unicode-bereik — moeten percent-geëncodeerd worden voor veilig transport in een URL. Gereserveerde tekens zoals ?, &, = en # fungeren als structurele scheidingstekens in de URL-syntaxis en moeten ook geëncodeerd worden wanneer ze als letterlijke data worden gebruikt in plaats van als scheidingstekens.

Percent-encoding is essentieel op het hele web: browsers encoderen formulierinzendingen, API's vereisen geëncodeerde queryparameters, OAuth-stromen zijn afhankelijk van correct geëncodeerde redirect-URI's en geïnternationaliseerde domeinnamen vertrouwen op encoding voor niet-ASCII-tekens. Onjuiste encoding leidt tot gebroken links, beveiligingsproblemen (zoals open-redirect-aanvallen) en datacorruptie.

Deze tool biedt zowel encodeURI- als encodeURIComponent-modi, een ingebouwde URL-structuurparser, realtime omzetting en detectie van dubbele encoding — alles draait privé in je browser.

URL-encoding wordt vaak gebruikt naast andere webontwikkeltools. Misschien wil je een URL Base64-encoderen voor opname in een JWT-token of API-payload, of JSON-data formatteren die URL-strings bevat om de structuur te inspecteren. Voor aanvullende informatie over hoe JWT's URL-encoding gebruiken voor hun payload kun je de JWT-decoder raadplegen.

// Encode a query parameter value
const param = encodeURIComponent('hello world & goodbye');
console.log(param); // → 'hello%20world%20%26%20goodbye'

// Encode a full URL (preserves structure)
const url = encodeURI('https://example.com/path name?q=hello world');
console.log(url); // → 'https://example.com/path%20name?q=hello%20world'

// Decode a percent-encoded string
const decoded = decodeURIComponent('hello%20world%20%26%20goodbye');
console.log(decoded); // → 'hello world & goodbye'

// Build a URL with encoded parameters
const base = 'https://api.example.com/search';
const query = `?q=${encodeURIComponent('你好')}&lang=zh`;
console.log(base + query); // → 'https://api.example.com/search?q=%E4%BD%A0%E5%A5%BD&lang=zh'

Functies

Twee encoderingsmodi

Wissel tussen encodeURI (behoudt URL-structuur) en encodeURIComponent (encodeert alles voor parameterwaarden) om precies de juiste modus voor je situatie te kiezen.

Ingebouwde URL-parser

Verdeelt elke URL automatisch in protocol, host, poort, pad, queryparameters en fragment — elk veld is bewerkbaar en kan worden samengevoegd tot een nieuwe URL.

Realtime omzetting

Encodeer en decodeer direct terwijl je typt — geen knoppen nodig, resultaten verschijnen meteen in het andere vak bij elke toetsaanslag.

100% browsergebaseerd

Alle verwerking vindt lokaal in je browser plaats via native JavaScript-API's. Je data verlaat je apparaat nooit — geen uploads naar servers, geen tracking.

Volledige UTF-8-ondersteuning

Verwerkt correct Chinees, Japans, Koreaans, Arabisch, emoji en alle Unicode-tekst via correcte UTF-8-byte-encoding en -decoding.

Detectie van dubbele encoding

Detecteert automatisch dubbele encoding zoals %2520 (een percent-geëncodeerde %20) en geeft een waarschuwing, waardoor je een van de meest voorkomende URL-encodingsfouten kunt voorkomen.

Voorbeelden

Onleesbare URL decoderen

https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dhello%20world%26lang%3Den
https://example.com/search?q=hello world&lang=en

Een volledig percent-geëncodeerde URL wordt teruggezet naar leesbare tekst, waardoor de oorspronkelijke queryparameters en structuur zichtbaar worden

Chinese tekens

https://example.com/search?q=你好世界
https://example.com/search?q=%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C

Chinese tekens worden omgezet naar hun UTF-8 bytesequenties en percent-geëncodeerd

Queryparameters

https://example.com/api?name=John Doe&role=admin&lang=en&sort=date desc
https://example.com/api?name=John%20Doe&role=admin&lang=en&sort=date%20desc

Spaties en speciale tekens in queryparameterwaarden worden percent-geëncodeerd, terwijl de URL-structuur behouden blijft

Volledige URL

https://user:pass@example.com:8080/path/to/page?key=value&arr[]=1#section-2
https://user:pass@example.com:8080/path/to/page?key=value&arr%5B%5D=1#section-2

Een complete URL met inloggegevens, poort, pad, queryparameters met haakjes en een fragment-identifier

OAuth-redirect-URI

https://auth.example.com/authorize?redirect_uri=https://myapp.com/callback?code=abc&state=xyz
https://auth.example.com/authorize?redirect_uri=https%3A%2F%2Fmyapp.com%2Fcallback%3Fcode%3Dabc%26state%3Dxyz

De redirect_uri-waarde bevat zelf een volledige URL die geëncodeerd moet worden, zodat de speciale tekens niet als onderdeel van de buitenste URL worden geïnterpreteerd

Zo gebruik je het

  1. 1

    Voer een URL of geëncodeerde string in

    Plak een URL in het gedecodeerde vak om hem te encoderen, of plak een percent-geëncodeerde string in het geëncodeerde vak om hem te decoderen. Kies de encodeURI- of encodeURIComponent-modus op basis van je gebruikssituatie.

  2. 2

    Bekijk de resultaten en de URL-structuur

    Het andere vak wordt direct bijgewerkt terwijl je typt. De URL-parser verdeelt de URL in protocol, host, poort, pad, queryparameters en fragment — allemaal bewerkbaar.

  3. 3

    Kopiëren of opnieuw opbouwen

    Klik op Kopiëren om het geëncodeerde of gedecodeerde resultaat te kopiëren. Bewerk afzonderlijke URL-onderdelen en klik op Opnieuw opbouwen om een nieuwe URL samen te stellen uit de gewijzigde onderdelen.

Veelgemaakte fouten

Dubbele encoding (%2520 in plaats van %20)

Dubbele encoding treedt op wanneer een al-geëncodeerde URL opnieuw wordt geëncodeerd. Het %-teken in %20 wordt geëncodeerd als %25, waardoor %20 verandert in %2520. Dit breekt de URL omdat de server een letterlijke %20-string ziet in plaats van een spatie.

✗ Fout
https://example.com/path%2520with%2520spaces
✓ Correct
https://example.com/path%20with%20spaces

Spatie geëncodeerd als + in padsegmenten

Het +-teken staat alleen voor een spatie in het application/x-www-form-urlencoded-formaat (querystrings van HTML-formulieren). In URL-padsegmenten wordt + geïnterpreteerd als een letterlijk plusteken, niet als een spatie. Gebruik altijd %20 voor spaties in padsegmenten.

✗ Fout
https://example.com/my+file+name.pdf
✓ Correct
https://example.com/my%20file%20name.pdf

encodeURI gebruiken op queryparameterwaarden

encodeURI() encodeert &, = en andere gereserveerde tekens niet, waardoor het gebruiken ervan op een parameterwaarde die deze tekens bevat de querystring-structuur beschadigt.

✗ Fout
encodeURI('key=value&more')  → 'key=value&more' (& not encoded!)
✓ Correct
encodeURIComponent('key=value&more')  → 'key%3Dvalue%26more'

Uitgaan van niet-UTF-8-encoding

Sommige verouderde systemen gebruiken encodings zoals Latin-1 of Shift-JIS voor URL-parameters. Moderne standaarden vereisen UTF-8. Een Shift-JIS-geëncodeerde parameter decoderen met een UTF-8-decoder levert beschadigde tekst op.

✗ Fout
Decoding %82%B1%82%F1 as UTF-8 (this is Shift-JIS for こん)
✓ Correct
Using UTF-8: %E3%81%93%E3%82%93 correctly decodes to こん

Relatieve paden encoderen zonder context

Een relatief pad zoals ../images/photo.jpg encoderen met encodeURIComponent zet de schuine strepen en punten om naar percent-geëncodeerde sequenties, waardoor de padstructuur kapot gaat. Gebruik encodeURI() of encodeer alleen de afzonderlijke padsegmenten.

✗ Fout
encodeURIComponent('../images/photo.jpg')  → '..%2Fimages%2Fphoto.jpg'
✓ Correct
Encode each segment: '../images/' + encodeURIComponent('my photo.jpg')

Veelvoorkomende toepassingen

Onleesbare URL's debuggen
Decodeer percent-geëncodeerde URL's uit serverlogs, foutmeldingen of de browser-developer tools om de oorspronkelijke leesbare tekst te lezen.
API-ontwikkeling
Encodeer queryparameterwaarden voor REST API-aanroepen, zodat speciale tekens zoals &, = en spaties de verzoek-URL niet breken.
OAuth-stroom instellen
Encodeer redirect_uri en andere URL-parameters in OAuth-autorisatie-URL's correct om authenticatiefouten te voorkomen.
Geïnternationaliseerde URL's
Encodeer en decodeer URL's met Chinese, Japanse, Koreaanse, Arabische of andere niet-ASCII-tekens voor geïnternationaliseerde webapplicaties.
Marketing-linkanalyse
Decodeer tracking-URL's uit e-mailcampagnes en advertentieplatforms om de ingesloten UTM-parameters en omleidingsketens te begrijpen.
URL-structuurinspectie
Verwerk complexe URL's naar hun samenstellende delen — protocol, host, poort, pad, queryparameters en fragment — voor analyse en aanpassing.

Technische details

RFC 3986 gereserveerde en onbereikbare tekens
RFC 3986 definieert onbereikbare tekens (A-Z, a-z, 0-9, -, ., _, ~) die nooit geëncodeerd hoeven te worden, en gereserveerde tekens (:, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;, =) die als URI-scheidingstekens dienen en percent-geëncodeerd moeten worden wanneer ze als data worden gebruikt.
UTF-8-byte-encoderingsproces
Niet-ASCII-tekens worden eerst omgezet naar hun Unicode-codepunt, vervolgens geëncodeerd als UTF-8-bytes (1-4 bytes afhankelijk van het codepuntbereik), en tot slot wordt elke byte als %XX percent-geëncodeerd. Bijvoorbeeld: é (U+00E9) → UTF-8-bytes C3 A9 → %C3%A9. De emoji 🎉 (U+1F389) → UTF-8-bytes F0 9F 8E 89 → %F0%9F%8E%89.
URL versus URI-terminologie
Een URI (Uniform Resource Identifier) is de overkoepelende term voor elke identifier-string. Een URL (Uniform Resource Locator) is een URI die ook het toegangsmechanisme specificeert (zoals https://). De encoderingsregels in RFC 3986 zijn op alle URI's van toepassing. De JavaScript-API gebruikt de URI-terminologie (encodeURI, decodeURI), terwijl het dagelijkse gebruik de voorkeur geeft aan URL.

Best practices

Gebruik de juiste modus voor de situatie
Gebruik encodeURIComponent() voor afzonderlijke queryparametersleutels en -waarden. Gebruik encodeURI() alleen wanneer je een volledige URL hebt en onveilige tekens wilt encoderen zonder de structuur te breken. Gebruik nooit encodeURI() op parameterwaarden die &, = of andere gereserveerde tekens kunnen bevatten.
Vermijd dubbele encoding
Controleer vóór het encoderen van een string of deze al geëncodeerd is. Kijk naar bestaande %-sequenties. Een al-geëncodeerde string opnieuw encoderen verandert %20 in %2520, %3D in %253D, enzovoort. Als je het niet zeker weet, decodeer dan eerst en encodeer daarna eenmalig.
Decodeer aan de serverzijde
De meeste webframeworks decoderen URL-parameters automatisch voordat je applicatiecode ze verwerkt. Vermijd het handmatig decoderen van parameters die je framework al heeft gedecodeerd — dit kan problemen veroorzaken als de oorspronkelijke waarde letterlijke procentsequenties bevatte.
Encodeer waarden voor OAuth en API-ondertekening
OAuth 1.0-handtekeningbasisstrings en veel API-ondertekeningsalgoritmen vereisen strikte RFC 3986-percent-encoding. Gebruik encodeURIComponent() en vervang daarna eventuele resterende tekens die het niet encodeert (zoals !, ', (, ), *) door hun percent-geëncodeerde equivalenten als de specificatie dat vereist.

Veelgestelde vragen

Wat is URL-encoding en waarom is het noodzakelijk?
URL-encoding (percent-encoding) zet onveilige tekens om naar %XX-hexadecimale sequenties, zodat ze veilig in URL's kunnen worden opgenomen. Tekens zoals spaties, ampersands en niet-ASCII-tekst moeten geëncodeerd worden, omdat ze anders de URL-structuur zouden breken of verkeerd geïnterpreteerd zouden worden door browsers en servers. Vastgelegd in RFC 3986 werkt dit mechanisme omdat URL's slechts een beperkte set US-ASCII-tekens mogen bevatten: letters (A-Z, a-z), cijfers (0-9) en enkele symbolen zoals koppeltekens, underscores, punten en tildes. Elk teken buiten deze veilige set wordt geëncodeerd als een procentteken (%) gevolgd door twee hexadecimale cijfers die de bytewaarde van het teken vertegenwoordigen. Een spatie wordt bijvoorbeeld %20, een schuine streep naar voren %2F en een ampersand %26. Tekens als &, =, ? en # hebben een speciale structurele betekenis in URL's: ze scheiden queryparameters, fragmenten en andere componenten. Zonder encoding zou een letterlijke & in een parameterwaarde worden geïnterpreteerd als parameterscheider, waardoor de URL-structuur volledig kapot gaat.
Wat is het verschil tussen encodeURI en encodeURIComponent?
encodeURI() encodeert een volledige URL maar behoudt structurele tekens zoals :, /, ?, en #. encodeURIComponent() encodeert alles behalve letters, cijfers en - _ . ~, waardoor het de juiste keuze is voor het encoderen van afzonderlijke queryparameterwaarden. Gebruik encodeURIComponent() voor parametersleutels en -waarden, en encodeURI() alleen voor volledige URL's. Zo levert encodeURI('https://example.com/path name') 'https://example.com/path%20name' op, waarbij :// en / behouden blijven. encodeURIComponent() is veel agressiever: het encodeert :, /, ?, #, & en =. Als je encodeURI() op een parameterwaarde met een ampersand zou gebruiken, gaat de & ongeëncodeerd door en wordt die verkeerd geïnterpreteerd als parameterscheider. encodeURIComponent() zou het correct als %26 encoderen. Het door elkaar halen van deze twee is een van de meest voorkomende oorzaken van URL-gerelateerde fouten in webapplicaties.
Is URL-encoding hetzelfde als HTML-encoding?
Nee. URL-encoding zet tekens om naar %XX-hexadecimale sequenties voor gebruik in URL's (RFC 3986), terwijl HTML-encoding tekens omzet naar entiteiten zoals & en < voor HTML-documenten. Ze dienen volledig verschillende doelen en mogen nooit door elkaar worden gebruikt. URL-encoding is voor datatransport binnen URL's: een spatie wordt %20. HTML-encoding is voor het veilig weergeven van inhoud in HTML: een ampersand wordt &. Een veelgemaakte fout is HTML-encoding toepassen op URL-parameters of omgekeerd. Een spatie als   encoderen in een URL werkt niet — het moet %20 of + zijn. Evenzo bereikt %3C in HTML-tekst in plaats van < het gewenste escapen niet.
Waarom breekt mijn URL als ik hem in een curl-opdracht gebruik?
De shell interpreteert speciale URL-tekens voordat curl ze ziet: & voert opdrachten op de achtergrond uit, ? activeert globbing en # start een commentaar. Je kunt dit oplossen door de URL tussen enkele aanhalingstekens te plaatsen: curl 'https://example.com/api?key=value&page=2#section'. Enkele aanhalingstekens voorkomen dat de shell speciale tekens interpreteert. De ampersand (&) is de meest voorkomende boosdoener: die vertelt de shell om de voorgaande opdracht op de achtergrond uit te voeren, waardoor je URL bij de eerste & wordt gesplitst en alles daarna verloren gaat. Je kunt ook afzonderlijke tekens escapen met backslashes, maar de volledige URL tussen aanhalingstekens plaatsen is eenvoudiger en minder foutgevoelig. Als je URL ook enkele aanhalingstekens bevat, gebruik dan dubbele aanhalingstekens en escape eventuele dollartekens of backticks.
Waarom worden Chinese tekens strings zoals %E4%B8%AD in URL's?
Chinese tekens worden eerst omgezet naar UTF-8-bytes, waarna elke byte als %XX wordt percent-geëncodeerd. Het teken 中 (U+4E2D) wordt drie UTF-8-bytes (E4, B8, AD), wat %E4%B8%AD oplevert — daarom neemt één Chinees teken 9 tekens in in een URL. Dit drietrapsproces — teken naar Unicode-codepunt, codepunt naar UTF-8-bytes, bytes naar percent-geëncodeerde hex — geldt voor alle niet-ASCII-tekens. Emoji vereisen vaak 4 UTF-8-bytes en nemen daardoor 12 tekens in wanneer ze percent-geëncodeerd zijn. Wanneer de URL wordt gedecodeerd, verloopt het proces omgekeerd: de hexadecimale waarden worden teruggezet naar bytes, de bytes worden als UTF-8 geïnterpreteerd en de oorspronkelijke tekens worden hersteld.
Moet ik de OAuth redirect_uri-parameter encoderen?
Ja, encodeer hem altijd met encodeURIComponent(). De redirect_uri is een volledige URL die als queryparameterwaarde is opgenomen, dus de speciale tekens (?, &, =) moeten geëncodeerd worden om te voorkomen dat ze als onderdeel van de structuur van de buitenste URL worden geïnterpreteerd. Zonder encoding zou de autorisatieserver bij redirect_uri=https://myapp.com/callback?code=abc&state=xyz de redirect_uri slechts als https://myapp.com/callback?code=abc zien, terwijl state=xyz als afzonderlijke parameter van de buitenste URL wordt verwerkt. De correct geëncodeerde versie is redirect_uri=https%3A%2F%2Fmyapp.com%2Fcallback%3Fcode%3Dabc%26state%3Dxyz.
Wat is het verschil tussen Node.js querystring en URLSearchParams?
Gebruik URLSearchParams voor nieuwe projecten — het is de WHATWG-standaard, gedraagt zich hetzelfde als in de browser en werkt identiek in Node.js en browsers. De querystring-module is verouderd en wordt niet langer actief ontwikkeld. Belangrijkste verschillen: URLSearchParams encodeert spaties als + (form-encoderingsstandaard), verwerkt herhaalde sleutels via getAll() en biedt een itereerbare interface met de methoden entries(), keys() en values(). De querystring-module encodeert spaties als %20 en heeft eigenaardigheden bij het verwerken van arrays (key=1&key=2 wordt { key: ['1', '2'] }). URLSearchParams is standaardconform en wordt aanbevolen door de Node.js-documentatie zelf.
Zo encodeer je een URL in Python, JavaScript en Java
JavaScript: encodeURIComponent('hello world') levert 'hello%20world' op. Python: urllib.parse.quote('hello world') levert 'hello%20world' op. Java: URLEncoder.encode('hello world', StandardCharsets.UTF_8) levert 'hello+world' op (vervang + door %20 voor RFC 3986). Gebruik in JavaScript encodeURIComponent() voor parameterwaarden en encodeURI() voor volledige URL's. Gebruik in Python 3 urllib.parse.quote() voor padsegmenten en urllib.parse.urlencode() voor queryparameters: urlencode({'q': 'hello world'}) levert 'q=hello+world' op. In Java gebruikt URLEncoder form-encoding (spaties als +). Voor het samenstellen van volledige URI's gebruik je java.net.URI of de URIBuilder-klasse uit Apache HttpClient.
Welke tekens worden niet geëncodeerd door URL-encoding?
RFC 3986 definieert 66 onbereikbare tekens die nooit geëncodeerd hoeven te worden: A-Z, a-z, 0-9, koppelteken (-), punt (.), underscore (_) en tilde (~). Deze kunnen letterlijk in elk deel van een URL voorkomen. Gereserveerde tekens — :, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ;, en = — zijn toegestaan in hun structurele rol (zoals ? voor querystrings), maar moeten percent-geëncodeerd worden wanneer ze als letterlijke data worden gebruikt. In JavaScript encodeert encodeURIComponent() alles behalve A-Z a-z 0-9 - _ . ~ en ! ' ( ) *, terwijl encodeURI() aanvullend de gereserveerde tekens behoudt die als URL-scheidingstekens dienen.
Wat is het verschil tussen + en %20 voor het encoderen van spaties?
Beide staan voor een spatie, maar %20 is de universeel veilige keuze. De +-conventie komt uit HTML-form-encoding (application/x-www-form-urlencoded) en werkt alleen in querystrings. In URL-padsegmenten is + een letterlijk plusteken, geen spatie. Gebruik bij twijfel altijd %20. De +-encoding stamt uit de HTML-specificatie: wanneer browsers formulieren versturen, worden spaties + en het +-teken zelf %2B. De %20-encoding komt uit RFC 3986 (URI-syntaxis), waarbij elk niet-onbereikbaar teken wordt geëncodeerd als een procentteken gevolgd door twee hexadecimale cijfers. %20 werkt in alle delen van een URL: pad, query en fragment.
Hoe verwerkt URL-encoding emoji?
Eén emoji neemt doorgaans 12 tekens in in een URL. Emoji worden omgezet naar UTF-8-bytes (gewoonlijk 4 bytes), waarna elke byte als %XX wordt percent-geëncodeerd. Zo wordt 🚀 (U+1F680) %F0%9F%9A%80. De meeste emoji gebruiken codepunten in het bereik U+1F000 tot U+1FFFF of hoger, waarvoor 4 bytes in UTF-8 nodig zijn. Sommige emoji met huidtoonmodificatoren of ZWJ-sequenties bestaan uit meerdere codepunten en kunnen meer dan 30 tekens in beslag nemen wanneer ze geëncodeerd zijn. Ondanks deze uitbreiding is de encoding volledig omkeerbaar: %F0%9F%9A%80 decoderen geeft correct 🚀 terug.
Kan URL-encoding worden gebruikt voor versleuteling of beveiliging?
Nee. URL-encoding is geen versleuteling en biedt nul beveiliging. Het is een volledig omkeerbare, deterministische transformatie — iedereen kan een percent-geëncodeerde string direct decoderen zonder sleutel of geheim. Het bestaat uitsluitend om speciale tekens te escapen voor veilig URL-transport. URL-encoding behandelen als versleuteling of obfuscatie is een gevaarlijk misverstand. Gevoelige gegevens zoals wachtwoorden, tokens of persoonsgegevens moeten worden beschermd door HTTPS (TLS-versleuteling van het volledige verzoek), niet door URL-encoding. Bovendien verschijnen URL's vaak in serverlogs, browsergeschiedenis en referer-headers, waardoor gevoelige gegevens bij voorkeur in de request body worden meegestuurd in plaats van in URL's.
Wat is de maximale lengte van een URL?
Er is geen officieel maximum, maar houd URL's onder de 2.000 tekens voor maximale compatibiliteit. De meeste browsers ondersteunen ongeveer 2.048 tekens, Apache staat standaard 8.190 bytes toe en Nginx 8.192 bytes. Gebruik voor grote hoeveelheden data POST-verzoeken. De HTTP-specificaties (RFC 7230) definiëren geen maximale URL-lengte, maar praktische limieten bestaan op elke laag. Chrome en Firefox kunnen URL's van meer dan 100.000 tekens aan, terwijl IIS querystrings beperkt tot 16.384 bytes. CDN's en proxy's kunnen nog strengere limieten hanteren. Wanneer URL-encoding tekens uitbreidt — met name niet-ASCII-tekst — kan een ogenschijnlijk korte URL deze limieten snel naderen.
Wat is het verschil tussen een URL en een URI?
Een URI (Uniform Resource Identifier) is elke string die een resource identificeert. Een URL (Uniform Resource Locator) is een URI die ook specificeert hoe de resource via een protocol zoals https:// bereikbaar is. Alle URL's zijn URI's, maar niet alle URI's zijn URL's: een URN zoals urn:isbn:0451450523 identificeert een boek via ISBN, maar vertelt niet waar je het kunt vinden. In de dagelijkse webontwikkeling worden de termen URL en URI vaak door elkaar gebruikt. De encoderingsregels uit RFC 3986 zijn op beide van toepassing. De JavaScript-functies heten encodeURI/decodeURI, wat de bredere URI-terminologie weerspiegelt, ook al werken de meeste ontwikkelaars uitsluitend met URL's.

Gerelateerde tools

Alle tools bekijken →