URL Encode Online

Speciale tekens in URL's coderen

Probeer een voorbeeld

Platte tekst / URL

Gecodeerd

Draait lokaal · Veilig om secrets te plakken
Gecodeerde uitvoer...
Modus:
Probeer ook:URL Decode Online

Wat is URL-codering?

URL-codering (ook wel percentcodering genoemd) is een mechanisme om informatie in een Uniform Resource Identifier (URI) te coderen, zodat in de resulterende tekenreeks uitsluitend tekens voorkomen die door RFC 3986 zijn toegestaan. Elk teken dat geen onbehouden teken is (A–Z, a–z, 0–9, -, _, ., ~) wordt vervangen door een procentteken gevolgd door twee hexadecimale cijfers die de UTF-8-bytewaarde van het teken voorstellen — een spatie wordt bijvoorbeeld %20 en & wordt %26.

Percentcodering is vereist omdat URL's slechts een beperkte set ASCII-tekens mogen bevatten. Als een URL tekens buiten deze set bevat — spaties, Unicode-letters, symbolen als &, = of / die als letterlijke waarden worden gebruikt in plaats van als structurele scheidingstekens — moeten die tekens worden gecodeerd om te voorkomen dat de URL-parser ze verkeerd interpreteert. Dit is vooral kritiek bij query string-waarden, waarbij niet-gecodeerde & of = de parameterstructuur zouden breken.

Waarom dit hulpmiddel gebruiken?

Zie direct hoe uw tekst in beide modi wordt gecodeerd, met een live zij-aan-zij-vergelijking — geen code schrijven nodig om randgevallen te controleren.

Live voorvertoning
De uitvoer wordt bijgewerkt terwijl u typt. Probeer verschillende invoer en zie direct welke tekens worden gecodeerd en welke behouden blijven.
🔀
Twee modi
Schakel tussen encodeURIComponent (voor waarden) en encodeURI (voor volledige URL's) zonder de pagina te verlaten.
🔒
Alleen clientzijdig
Alle codering vindt lokaal in uw browser plaats. Gevoelige queryparameters en tokens bereiken nooit een server.
📋
Kopiëren met één klik
Kopieer de gecodeerde uitvoer naar het klembord met één knop. Klaar om direct in uw code, terminal of adresbalk van de browser te plakken.

Hoe gebruik je deze online URL-encoder

Geen account, geen installatie. Plak of typ je tekst in het invoerveld en het procentueel gecodeerde resultaat verschijnt direct. Alles wordt in je browser uitgevoerd — je gegevens verlaten nooit je apparaat.

  1. 1
    Plak je tekst of URL
    Voer een willekeurige tekenreeks in — een queryparameterwaarde, een volledige URL, een padsegment of een JSON-payload. De encoder verwerkt deze teken voor teken volgens RFC 3986.
  2. 2
    Kies de codeermodus
    Selecteer encodeURIComponent om afzonderlijke parameterwaarden te coderen (codeert alles behalve niet-gereserveerde tekens). Selecteer encodeURI om een volledige URL te coderen met behoud van structurele tekens zoals ://?#&=.
  3. 3
    Kopieer de gecodeerde uitvoer
    De procentueel gecodeerde tekenreeks verschijnt direct. Klik op Kopiëren om het resultaat te pakken en het direct in je API-aanroep, formulieractie of configuratiebestand te plakken.
  4. 4
    Decodeer terug indien nodig
    Een fout gemaakt of wil je het resultaat verifiëren? Schakel met één klik over naar de URL-decoder om de codering ongedaan te maken.

Welke tekens worden gecodeerd?

RFC 3986 verdeelt URL-tekens in twee categorieën: onbehouden tekens (nooit gecodeerd) en gereserveerde tekens (hebben een speciale betekenis — gecodeerd of behouden afhankelijk van de context). De tabel hieronder laat zien hoe de twee JavaScript-functies de belangrijkste tekens behandelen:

TekenBetekenis in URLencodeURIComponentencodeURI
Spaceword separator%20%20
+plus sign%2B%2B
/path separator%2F/ (kept)
?query start%3F? (kept)
#fragment%23# (kept)
&param separator%26& (kept)
=param value%3D= (kept)
@auth separator%40@ (kept)
:scheme / port%3A: (kept)
%percent literal%25%25
~unreserved~ (kept)~ (kept)
-_.~unreserved setkept as-iskept as-is

encodeURIComponent vs encodeURI

JavaScript biedt twee coderingsfuncties met sterk uiteenlopend gedrag. De verkeerde kiezen is een van de meest voorkomende bugs bij URL-verwerking:

encodeURIComponent()
Codeert alles behalve de onbehouden tekenset (A–Z a–z 0–9 - _ . ~). Dit is de juiste keuze voor het coderen van afzonderlijke queryparameterwaarden, padsegmenten of elke waarde die in een URL wordt ingesloten. Het codeert /, ?, #, & en alle andere gereserveerde tekens.
encodeURI()
Behoudt de volledige URL-structuur door gereserveerde tekens (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) ongecodeerd te laten. Gebruik dit alleen wanneer u een volledige URL hebt waarvan u de structuur wilt behouden en u alleen de niet-ASCII- of ongeldige tekens daarin hoeft te coderen.

Veelvoorkomende toepassingen

Querystring-parameters
Codeer parameterwaarden voordat u ze aan een URL toevoegt: name=John%20Doe in plaats van name=John Doe. Niet-gecodeerde spaties en speciale tekens breken URL-parsers en leiden tot onverwachte resultaten.
API-verzoeken opbouwen
REST API's vereisen correct gecodeerde queryparameters. Door waarden met encodeURIComponent te coderen, voorkomt u injectie van extra parameters via tekens als & en = die in waarden zijn opgenomen.
Formuliergegevens verzenden
HTML-formulieren verzenden gegevens standaard als application/x-www-form-urlencoded. Inzicht in percentcodering helpt bij het debuggen van wat de browser verzendt en wat de server ontvangt.
Padsegmenten met speciale tekens
Bestandsnamen of identificatoren met spaties, slashes of unicode-tekens moeten percentgecodeerd worden als ze als URL-padsegmenten worden gebruikt: /files/my%20document.pdf.
OAuth en authenticatietokens
OAuth 1.0a en sommige authenticatieprotocollen vereisen dat de basistekenreeks wordt opgebouwd uit percentgecodeerde parameternamen en -waarden volgens een strikt normaliseringsalgoritme.
Deeplinks en deelbare URL's
Bij het genereren van deelbare URL's die gebruikersinhoud bevatten (zoekopdrachten, filterstatus, coördinaten), codeer alle dynamische waarden om verbroken links en XSS via URL-manipulatie te voorkomen.

Codevoorbeelden

Hoe u tekenreeksen URL-codeert in populaire talen en omgevingen:

JavaScript (browser / Node.js)
// Encode a query parameter value (most common case)
encodeURIComponent('hello world & more') // → "hello%20world%20%26%20more"

// Encode a complete URL (preserves ://?#& structure)
encodeURI('https://example.com/path?q=hello world') // → "https://example.com/path?q=hello%20world"

// Build a query string safely
const params = new URLSearchParams({ q: 'hello world', lang: 'en' })
const url = `https://example.com/search?${params}` // uses + for spaces
Python
from urllib.parse import quote, urlencode, quote_plus

# Encode a path segment or query value
quote('hello world & more')          # → 'hello%20world%20%26%20more'

# Encode for application/x-www-form-urlencoded (space → +)
quote_plus('hello world')            # → 'hello+world'

# Build a query string
urlencode({'q': 'hello world', 'lang': 'en'})  # → 'q=hello+world&lang=en'
Node.js (URL API)
const url = new URL('https://example.com/search')
url.searchParams.set('q', 'hello world & more')
url.searchParams.set('lang', 'en')
console.log(url.toString())
// → https://example.com/search?q=hello+world+%26+more&lang=en
CLI (curl / bash)
# curl automatically percent-encodes --data fields
curl -G "https://example.com/search" --data-urlencode "q=hello world & more"

# Manual encoding with Python one-liner
python3 -c "from urllib.parse import quote; print(quote('hello world'))"

URL-encoder vs. alternatieven

Meerdere tools kunnen tekst procentueel coderen, maar ze verschillen in controle, privacy en context.

Deze tool
Browsergebaseerd, direct, privé. Ondersteunt zowel encodeURIComponent als encodeURI. Er worden geen gegevens naar een server verzonden. Verwerkt volledige Unicode-invoer.
Adresbalk van de browser
Browsers coderen URL's automatisch wanneer je ze plakt, maar slechts gedeeltelijk — ze behouden veel speciale tekens voor leesbaarheid. Niet geschikt voor het coderen van parameterwaarden.
URLSearchParams / urllib
De juiste programmatische aanpak voor het bouwen van URL's in JavaScript of Python. Gebruik deze tool voor snelle eenmalige codering of om te verifiëren wat je code zal produceren.

Veelgestelde vragen

Wat is het verschil tussen %20 en + voor spaties?
Beide staan voor een spatie, maar in verschillende contexten. %20 is de standaard percentgecodeerde weergave van een spatie en is overal in een URL geldig. Het +-teken staat voor een spatie uitsluitend in het formaat application/x-www-form-urlencoded (HTML-formulierverzendingen). In een URL-pad of een onbewerkte querywaarde is + een letterlijk plusteken, geen spatie. Gebruik %20 voor maximale compatibiliteit.
Wanneer gebruik ik encodeURIComponent versus encodeURI?
Gebruik encodeURIComponent voor afzonderlijke waarden (queryparameters, padsegmenten, hashfragmenten). Gebruik encodeURI alleen wanneer u een volledige URL hebt en de structuur ervan wilt behouden. Een veelgemaakte fout is encodeURI toepassen op een querywaarde — dan blijven & en = ongecodeerd, wat de querystring breekt.
Verwerkt URL-codering Unicode-tekens?
Ja. Niet-ASCII-tekens worden eerst omgezet naar hun UTF-8-byteweergave, waarna elke byte percentgecodeerd wordt. Het euroteken € (U+20AC) wordt bijvoorbeeld gecodeerd als %E2%82%AC — de drie UTF-8-bytes. Zowel encodeURIComponent als encodeURI verwerken dit correct in alle moderne browsers.
Is dubbele codering een probleem?
Ja. Als u een al gecodeerde tekenreeks codeert, wordt %20 omgezet naar %2520 (het %-teken zelf wordt gecodeerd als %25). Codeer altijd ruwe waarden, nooit al gecodeerde. Twijfelt u? Decodeer eerst, codeer dan opnieuw.
Welke tekens zijn altijd veilig in URL's?
De onbehouden tekens die door RFC 3986 zijn gedefinieerd, zijn altijd veilig en hoeven nooit gecodeerd te worden: hoofdletters A–Z, kleine letters a–z, cijfers 0–9, koppelteken (-), onderstrepingsteken (_), punt (.) en tilde (~). Al het overige moet percentgecodeerd worden wanneer het als waarde wordt gebruikt in plaats van als structureel scheidingsteken.
Waarom bevatten sommige URL's hexadecimale hoofdletters (%2F) en andere kleine letters (%2f)?
Beide zijn geldig. RFC 3986 bepaalt dat percentgecodeerde reeksen niet hoofdlettergevoelig zijn, zodat %2F en %2f gelijkwaardig zijn. Dezelfde RFC adviseert echter om voor consistentie hexadecimale hoofdletters te gebruiken. De meeste browsers en bibliotheken produceren hoofdletters.
Codeert deze tool de volledige URL of alleen de parameters?
Beide. Gebruik de modus encodeURIComponent om afzonderlijke queryparameterwaarden te coderen (het meest voorkomende gebruik). Gebruik de modus encodeURI om een volledige URL te coderen met behoud van structurele tekens zoals ://, ?, # en &.
Is er een lengtebegrenzing voor codering?
Geen serverlimieten — de tool wordt volledig in je browser uitgevoerd. Praktische limieten zijn afhankelijk van het geheugen van je browser. Voor zeer grote invoer of batchverwerking gebruik je encodeURIComponent in een script.