Datei hochladen
  1. base64hub
  2. Web- & Token-Tools
  3. URL kodieren

URL-Encoder (Prozentkodierung)

Fügen Sie Text oder eine URL ein und erhalten Sie sie prozentkodiert. Wählen Sie Komponente für einen Query-Wert oder ein Pfadsegment, Ganze URL, um eine komplette Adresse zu reparieren, oder Formulardaten für Bodys vom Typ application/x-www-form-urlencoded.

Kostenlos ohne Anmeldung, ohne Limits Lokal kein Upload 4 Modi Komponente, ganze URL, Formulardaten, jedes Zeichen Aktualisiert 27.10.2026
Eingabe 0Ausgabe 0

Wird in Ihrem Browser verarbeitet. Diese Seite kann Ihre Daten nirgendwohin senden – woher wir das wissen

So kodieren Sie einen String für URLs

  1. Tippen oder fügen Sie den Text in Text oder URL ein. Die Ausgabe wird beim Tippen aktualisiert.
  2. Wählen Sie unter Kodieren den Modus:
    • Komponente (encodeURIComponent) für einen einzelnen Query-Wert, ein Formularfeld oder ein Pfadsegment.
    • Ganze URL (encodeURI) für eine komplette URL, die Leerzeichen oder Nicht-ASCII-Zeichen enthält.
    • Formulardaten (Leerzeichen als +) für Bodys vom Typ application/x-www-form-urlencoded und Query-Strings, die so gebaut sind wie von HTML-Formularen.
    • Jedes Zeichen, um alle Bytes zu prozentkodieren, auch Buchstaben, zum Testen von Decodern.
  3. Lassen Sie Zeichensatz auf UTF-8, es sei denn, das empfangende System erwartet eine alte Kodierung.
  4. Aktivieren Sie Jede Zeile einzeln, um eine Liste von Werten auf einmal zu kodieren, dann Ausgabe kopieren. Tauschen schickt das Ergebnis an den Decoder, um den Hin- und Rückweg zu prüfen.

Eine ganze URL in der Eingabe wird außerdem in einer Tabelle unter den Feldern in Schema, Host, Pfad, jeden Query-Parameter und das Fragment zerlegt.

encodeURIComponent, encodeURI und Formularkodierung

Dieselbe Eingabe, a b&c=d/é?#+, in den drei gängigen Varianten:

ModusAusgabeWofür
Komponente (encodeURIComponent)a%20b%26c%3Dd%2F%C3%A9%3F%23%2Beinen einzelnen Wert in einer URL
Ganze URL (encodeURI)a%20b&c=d/%C3%A9?#+eine ganze URL, die bereits korrekt aufgebaut ist
Formulardaten (URLSearchParams)a+b%26c%3Dd%2F%C3%A9%3F%23%2BHTML-Formular-POSTs, viele Query-String-Bibliotheken

Komponente lässt nur A–Z a–z 0–9 - _ . ! ~ * ' ( ) unmaskiert. Ganze URL behält zusätzlich ; / ? : @ & = + $ , #, also die Zeichen, die einer URL ihre Struktur geben, und kann deshalb keinen Wert schützen, der sie enthält. Formulardaten behält nur Buchstaben, Ziffern und - _ . * und schreibt Leerzeichen als +.

Der klassische Fehler ist, eine URL mit Ganze URL zu bauen: ?q=C++ & Go behält + und &, und der Server erhält q=C plus einen verirrten Parameter. Kodieren Sie den Wert stattdessen mit Komponente: ?q=C%2B%2B%20%26%20Go.

Leerzeichen, Pluszeichen und andere Störenfriede

ZeichenKodiertWarum es zählt
Leerzeichen%20 oder ++ bedeutet nur in Query-Strings und Formular-Bodys Leerzeichen
+%2Bunkodiert machen viele Server ein Leerzeichen daraus: +49 30 1234567 wird zu 49 30 1234567
&%26beginnt einen neuen Query-Parameter
=%3Dtrennt Name und Wert; Standard-Base64 endet damit
/%2Ftrennt Pfadsegmente; manche Server lehnen %2F in Pfaden ab
#%23beginnt das Fragment, das nie an den Server geht
%%25muss selbst kodiert werden, sonst liest der Decoder ein fehlerhaftes Escape
€%E2%82%ACdrei UTF-8-Bytes, drei Escapes

Base64 in einer URL ist ein häufiger Fall des Problems mit +, / und =. Prozentkodieren Sie es entweder als Komponente oder wechseln Sie zu Base64URL, das diese Zeichen vermeidet.

Zeichensätze außer UTF-8

Prozentkodierung arbeitet mit Bytes, also bestimmt der Zeichensatz das Ergebnis. é ist in UTF-8 %C3%A9 und in Windows-1252 oder ISO-8859-1 %E9. Moderne Browser und APIs verwenden UTF-8, aber ältere PHP-Anwendungen, manche Payment-Gateways und alte Intranet-Systeme erwarten noch Latin-1 oder Windows-1252, japanische Websites manchmal Shift_JIS. Wählen Sie unter Zeichensatz den passenden. Ein Zeichen, das es im gewählten Zeichensatz nicht gibt, lässt sich nicht darstellen; prüfen Sie die Ausgabe darauf.

URL-Kodierung im Code

encodeURIComponent("a b&c")              // "a%20b%26c"
new URLSearchParams({ q: "C++ & Go" }).toString()   // "q=C%2B%2B+%26+Go"
from urllib.parse import quote, quote_plus, urlencode
quote("/files/a b.txt")            # '/files/a%20b.txt'  (keeps / by default)
quote("/files/a b.txt", safe="")   # '%2Ffiles%2Fa%20b.txt'
quote_plus("a b&c")                # 'a+b%26c'
urlencode({"q": "C++ & Go"})       # 'q=C%2B%2B+%26+Go'

Pythons quote behält /, sofern Sie nicht safe="" übergeben, eine häufige Überraschung beim Kodieren eines Werts. Anderswo: PHPs rawurlencode liefert %20 und urlencode liefert +; Javas URLEncoder.encode ist Formularkodierung mit +; Go hat url.PathEscape (%20) und url.QueryEscape (+). encodeURIComponent lässt ! ' ( ) * unangetastet; für strikte Ausgabe nach RFC 3986 ersetzen Sie sie danach:

const strict = s => encodeURIComponent(s).replace(/[!'()*]/g,
  c => "%" + c.charCodeAt(0).toString(16).toUpperCase());

Mehr zur JavaScript-Seite finden Sie auf der JavaScript-Base64-Seite. Um all das rückgängig zu machen, nutzen Sie den URL-Decoder.

Häufige Fragen

Was ist URL-Kodierung?

URL-Kodierung, auch Prozentkodierung, ersetzt Zeichen, die in einer URL nicht erlaubt sind oder eine besondere Bedeutung haben, durch % und zwei Hex-Ziffern pro Byte. Ein Leerzeichen wird zu %20, & zu %26, und é in UTF-8 zu %C3%A9.

Wie kodiere ich ein Leerzeichen in einer URL: %20 oder +?

%20 funktioniert überall. + bedeutet nur in Query-Strings und Formular-Bodys, die der Formularkodierung folgen, ein Leerzeichen; in einem Pfad ist es ein echtes Plus. Im Zweifel nehmen Sie %20.

Sollte ich die ganze URL kodieren?

Nein, kodieren Sie jeden Wert, bevor Sie ihn einsetzen. Kodieren Sie eine ganze URL mit Komponente, werden auch :, /, ? und & maskiert, und die URL bricht. Der Modus Ganze URL behält diese strukturellen Zeichen und korrigiert nur Leerzeichen und Nicht-ASCII-Text.

Warum enthält mein kodierter String %25?

%25 ist ein kodiertes Prozentzeichen. Die Eingabe war also schon kodiert und wurde ein zweites Mal kodiert: Aus a%20b wird a%2520b. Kodieren Sie Rohtext genau einmal.

Hex in Groß- oder Kleinbuchstaben bei der Prozentkodierung?

RFC 3986 behandelt %2F und %2f als gleich und empfiehlt Großbuchstaben. Aktivieren Sie Hex in Kleinbuchstaben nur, wenn Sie zu einem System passen müssen, das Kleinbuchstaben erzeugt, etwa beim Vergleich von Signaturen.