URL Encode Online

Koda specialtecken i URL:er

Prova ett exempel

Klartext / URL

Kodad

Körs lokalt · Säkert att klistra in hemligheter
Kodad utmatning...
Läge:
Prova också:URL Decode Online

Vad är URL-kodning?

URL-kodning (även kallad procentkodning) är en metod för att koda information i en Uniform Resource Identifier (URI) så att den slutliga strängen endast innehåller tecken som tillåts av RFC 3986. Varje tecken som inte är ett oreserverat tecken (A–Z, a–z, 0–9, -, _, ., ~) ersätts med ett procenttecken följt av två hexadecimala siffror som representerar tecknets UTF-8-bytevärde — exempelvis blir ett blanksteg %20 och & blir %26.

Procentkodning krävs eftersom URL:er bara kan innehålla en begränsad uppsättning ASCII-tecken. När en URL innehåller tecken utanför denna uppsättning — blanksteg, Unicode-bokstäver, symboler som &, = eller / som används som literala värden snarare än strukturella avgränsare — måste dessa tecken kodas för att URL-parsern inte ska feltolka dem. Detta är särskilt kritiskt för frågesträngar, där okodade & eller = skulle bryta parameterstrukturen.

Varför använda det här verktyget?

Se omedelbart hur din text kodas i båda lägena med en live-jämförelse sida vid sida — utan att behöva skriva kod för att kontrollera kantfall.

Live-förhandsvisning
Utdata uppdateras i realtid medan du skriver. Prova olika indata och se direkt vilka tecken som kodas och vilka som bevaras.
🔀
Två lägen
Växla mellan encodeURIComponent (för värden) och encodeURI (för fullständiga URL:er) utan att lämna sidan.
🔒
Endast på klientsidan
All kodning sker lokalt i din webbläsare. Känsliga frågeparametrar och token skickas aldrig till en server.
📋
Kopiera med ett klick
Kopiera den kodade utdatan till urklipp med en enda knapp. Redo att klistra in direkt i din kod, terminal eller webbläsarens adressfält.

Hur du använder denna online URL-kodare

Inget konto, ingen installation. Klistra in eller skriv in din text i inmatningsfältet och det procentkodade resultatet visas omedelbart. Allt körs i din webbläsare — dina data lämnar aldrig din enhet.

  1. 1
    Klistra in din text eller URL
    Ange valfri sträng — ett frågeparametervärde, en fullständig URL, ett sökvägssegment eller en JSON-nyttolast. Kodaren bearbetar det tecken för tecken enligt RFC 3986.
  2. 2
    Välj kodningsläge
    Välj encodeURIComponent för att koda enskilda parametervärden (kodar allt utom ej reserverade tecken). Välj encodeURI för att koda en fullständig URL med bibehållna strukturella tecken som ://?#&=.
  3. 3
    Kopiera den kodade utdatan
    Den procentkodade strängen visas omedelbart. Klicka på Kopiera för att hämta resultatet och klistra in det direkt i ditt API-anrop, formuläråtgärd eller konfigurationsfil.
  4. 4
    Avkoda tillbaka vid behov
    Gjort ett misstag eller vill du verifiera resultatet? Byt till URL-avkodarverktyget med ett klick för att reversera kodningen.

Vilka tecken kodas?

RFC 3986 delar in URL-tecken i två kategorier: oreserverade tecken (kodas aldrig) och reserverade tecken (har speciell betydelse — kodas eller bevaras beroende på sammanhanget). Tabellen nedan visar hur de två JavaScript-funktionerna hanterar viktiga tecken:

TeckenBetydelse i 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 tillhandahåller två kodningsfunktioner med mycket olika beteende. Att välja fel funktion är ett av de vanligaste felen vid URL-hantering:

encodeURIComponent()
Kodar allt utom den oreserverade teckenuppsättningen (A–Z a–z 0–9 - _ . ~). Detta är rätt val för att koda enskilda frågeparametervärden, sökvägssegment eller vilket värde som helst som ska bäddas in i en URL. Den kodar /, ?, #, & och alla andra reserverade tecken.
encodeURI()
Bevarar hela URL-strukturen genom att låta reserverade tecken (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) förbli okodade. Använd detta endast när du har en komplett URL med en struktur du vill bevara och bara behöver koda de icke-ASCII- eller ogiltiga tecknen i den.

Vanliga användningsfall

Frågesträngsparametrar
Koda parametervärden innan de läggs till en URL: name=John%20Doe i stället för name=John Doe. Okodade blanksteg och specialtecken bryter URL-parsers och ger oväntade resultat.
Bygga API-anrop
REST-API:er kräver korrekt kodade frågeparametrar. Att koda värden med encodeURIComponent förhindrar injektion av extra parametrar via tecken som & och = inbäddade i värden.
Skicka formulärdata
HTML-formulär skickar data som application/x-www-form-urlencoded som standard. Att förstå procentkodning hjälper till att felsöka vad webbläsaren skickar och vad servern tar emot.
Sökvägssegment med specialtecken
Filnamn eller identifierare som innehåller blanksteg, snedstreck eller unicode-tecken måste procentkodas när de används som URL-sökvägssegment: /files/my%20document.pdf.
OAuth och autentiseringstoken
OAuth 1.0a och vissa autentiseringsprotokoll kräver att bassträngen konstrueras av procentkodade parameternamn och värden enligt en strikt normaliseringsalgoritm.
Djuplänkar och delningsbara URL:er
När du genererar delbara URL:er som bäddar in användarinnehåll (sökfrågor, filterstatus, koordinater) ska du koda alla dynamiska värden för att förhindra trasiga länkar och XSS via URL-manipulation.

Kodexempel

Hur man URL-kodar strängar i populära språk och miljöer:

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-kodare vs. alternativ

Flera verktyg kan procentkoda text, men de skiljer sig åt i kontroll, integritet och sammanhang.

Det här verktyget
Webbläsarbaserat, omedelbart, privat. Stöder både encodeURIComponent och encodeURI. Inga data skickas till någon server. Hanterar fullständiga Unicode-indata.
Webbläsarens adressfält
Webbläsare kodar automatiskt URL:er när du klistrar in dem, men bara delvis — de bevarar många specialtecken för läsbarhetens skull. Inte lämpligt för kodning av parametervärden.
URLSearchParams / urllib
Det rätta programmatiska tillvägagångssättet för att bygga URL:er i JavaScript eller Python. Använd det här verktyget för snabb engångskodning eller för att verifiera vad din kod kommer att producera.

Vanliga frågor

Vad är skillnaden mellan %20 och + för blanksteg?
Båda representerar ett blanksteg, men i olika sammanhang. %20 är den standardmässiga procentkodade representationen av ett blanksteg och är giltig överallt i en URL. Plustecknet + representerar ett blanksteg enbart i formatet application/x-www-form-urlencoded (HTML-formulärinlämningar). I en URL-sökväg eller ett råfrågevärde är + ett bokstavligt plustecken, inte ett blanksteg. Använd %20 för maximal kompatibilitet.
När ska jag använda encodeURIComponent respektive encodeURI?
Använd encodeURIComponent för enskilda värden (frågeparametrar, sökvägssegment, hash-fragment). Använd encodeURI endast när du har en fullständig URL och vill bevara dess struktur. Ett vanligt misstag är att använda encodeURI på ett frågevärde — det lämnar & och = okodade, vilket bryter frågesträngen.
Hanterar URL-kodning Unicode-tecken?
Ja. Icke-ASCII-tecken konverteras först till sin UTF-8-bytrepresentation, sedan procentkodas varje byte. Eurotecknet € (U+20AC) kodas exempelvis till %E2%82%AC — dess tre UTF-8-bytes. Både encodeURIComponent och encodeURI hanterar detta korrekt i alla moderna webbläsare.
Är dubbelkodning ett problem?
Ja. Om du kodar en redan kodad sträng blir %20 till %2520 (%-tecknet självt kodas till %25). Koda alltid råvärden, inte redan kodade. Om du är osäker — avkoda först och koda sedan om.
Vilka tecken är alltid säkra i URL:er?
De oreserverade tecken som definieras av RFC 3986 är alltid säkra och behöver aldrig kodas: versaler A–Z, gemener a–z, siffror 0–9, bindestreck (-), understreck (_), punkt (.) och tilde (~). Allt annat bör procentkodas när det används som ett värde snarare än som en strukturell avgränsare.
Varför innehåller vissa URL:er hexadecimala versaler (%2F) och andra gemener (%2f)?
Båda är giltiga. RFC 3986 anger att procentkodade sekvenser är skiftlägesokänsliga, så %2F och %2f är likvärdiga. Samma RFC rekommenderar dock att hexadecimala versaler används för konsekvensens skull. De flesta webbläsare och bibliotek producerar versaler.
Kodar det här verktyget hela URL:en eller bara parametrarna?
Båda. Använd läget encodeURIComponent för att koda enskilda frågeparametervärden (det vanligaste användningsfallet). Använd läget encodeURI för att koda en fullständig URL med bibehållna strukturella tecken som ://, ?, # och &.
Finns det en längdbegränsning för kodning?
Ingen serversidesbegränsning — verktyget körs helt i din webbläsare. Praktiska begränsningar beror på din webbläsares minne. För mycket stora indata eller batchbearbetning, använd encodeURIComponent i ett skript.