Kostenlose Entwickler-Tools

URL kodieren & dekodieren.

Text für URLs prozentkodieren und wieder dekodieren — live, UTF-8-bewusst, komplett in deinem Browser.

In der EU entwickelt und gehostet
URL-Encoder
Prozentkodierung · RFC 3986
Läuft komplett in deinem Browser
Das Ergebnis erscheint hier.
Alles läuft auf deinem Gerät — nichts, was du eingibst, wird übertragen, gespeichert oder protokolliert.

Warum URLs kodiert werden müssen

Eine URL ist reines ASCII mit strenger Struktur: ? beginnt die Query, & trennt Parameter, = weist Werte zu. Jedes dieser Zeichen innerhalb eines Werts — oder jedes Nicht-ASCII-Zeichen — muss als seine UTF-8-Bytes prozentkodiert werden (ä%C3%A4), sonst ändert die URL unbemerkt ihre Bedeutung.

Komponente vs. ganze URL

Der häufigste Fehler ist der falsche Geltungsbereich. Komponenten-Modus (JavaScripts encodeURIComponent) maskiert auch Strukturzeichen — richtig für Query-Werte, Pfadsegmente und Formularfelder. Ganz-URL-Modus (encodeURI) lässt :/?#&= intakt — richtig nur zum Aufräumen einer vollständigen URL. Eine ganze URL im Komponenten-Modus zu kodieren zerstört sie.

URL-Kodierung in deinem Code

JavaScript
component vs URI
// single query value
encodeURIComponent("a&b=c");  // "a%26b%3Dc"

// safer: let URLSearchParams do it
const p = new URLSearchParams({ q: "a&b" });
p.toString();  // "q=a%26b"
Python
urllib.parse
from urllib.parse import quote, unquote, urlencode

quote("a&b=c", safe="")   # "a%26b%3Dc"
unquote("%C3%A4")          # "ä"

urlencode({"q": "a&b"})   # "q=a%26b"

Häufige Fragen

Was ist URL-Kodierung (Prozentkodierung)?
URLs dürfen nur einen begrenzten Satz an ASCII-Zeichen enthalten. Alles andere — Leerzeichen, Umlaute, Emoji und Zeichen mit besonderer Bedeutung wie ? oder & — wird als eine oder mehrere %XX-Escapes seiner UTF-8-Bytes geschrieben. Ein Leerzeichen wird zu %20, ä zu %C3%A4.
Sollte ich die ganze URL oder nur einen Wert kodieren?
Fast immer nur den Wert. Das Kodieren eines Query-Werts (der Komponenten-Modus hier, wie JavaScripts encodeURIComponent) maskiert &, =, ? und /, damit sie die URL-Struktur nicht sprengen. Der Ganz-URL-Modus (encodeURI) lässt diese Strukturzeichen intakt — nutze ihn nur, um eine vollständige URL zu bereinigen, die ihre Struktur bereits hat.
Warum bedeutet ein + manchmal ein Leerzeichen?
Im Format application/x-www-form-urlencoded — dem klassischen HTML-Formularversand — werden Leerzeichen als + kodiert. In jedem anderen Teil einer URL muss ein Leerzeichen %20 sein, und ein wörtliches + bedeutet Plus. Beim Dekodieren von Formulardaten behandle + als Leerzeichen; dieser Decoder lässt + unangetastet, weil das korrektes Prozentkodierungs-Verhalten ist.
Was ist doppelte Kodierung und warum ist sie ein Problem?
Das Kodieren eines bereits kodierten Werts: %20 wird zu %2520, weil das % selbst maskiert wird. Das klassische Symptom sind %25-Sequenzen in URLs. Kodiere genau einmal, im Moment des URL-Zusammenbaus — und dekodiere genau einmal beim Empfänger.
Welche Zeichen müssen nie kodiert werden?
Der von RFC 3986 definierte unreservierte Satz: Buchstaben A–Z und a–z, Ziffern 0–9 und die vier Symbole - _ . ~. Alles andere ist entweder reserviert (hat strukturelle Bedeutung) oder muss prozentkodiert werden.
Werden meine Daten hochgeladen, wenn ich dieses Tool nutze?
Nein — Kodieren und Dekodieren laufen komplett in deinem Browser. Nichts, was du eingibst, wird übertragen, gespeichert oder protokolliert, was du im Netzwerk-Tab deines Browsers überprüfen kannst.

Kostenlose Tools von einem europäischen Software-Unternehmen.

  • Läuft in deinem Browser
  • In der EU gehostet
  • Kein Konto nötig