onlinetools.dev

URL kodieren / dekodieren

URL-Komponenten und Query-Strings prozent-kodieren oder dekodieren

Läuft lokal
loading…
Über dieses Tool

Zeichen wie Leerzeichen, kaufmännische Und-Zeichen und Nicht-ASCII-Buchstaben dürfen nicht roh in einer URL stehen, also werden sie prozentkodiert: aus einem Leerzeichen wird %20, aus 你 wird %E4%BD%A0. Dieses Tool kodiert Text für die sichere Einbettung in URLs und dekodiert prozent-escapte Strings zurück in lesbaren Text, inklusive der +-Konvention für Leerzeichen in Query-Strings.

Es gibt zwei Kodier-Modi, weil JavaScript selbst zwei hat: Der Komponenten-Modus (encodeURIComponent) escapet alles, was eine URL strukturieren könnte — genau richtig für einen einzelnen Query-String-Wert; der Voll-URI-Modus (encodeURI) erhält Strukturzeichen wie /, ? und &, wenn du eine komplette URL kodierst, die navigierbar bleiben muss.

Beim Dekodieren wird bei fehlerhaften %-Sequenzen streng geprüft — ein einzelnes % oder %ZZ wird als Fehler gemeldet statt stillschweigend durchgereicht, exakt so, wie Browser und Server damit umgehen.

Häufige Fragen

Wann nehme ich den Komponenten-Modus und wann den Voll-URI-Modus?
Beim Kodieren eines Werts, der in eine URL eingebettet wird (eine Suchanfrage, ein Redirect-Ziel, eine E-Mail-Adresse in einem Parameter) → Komponenten-Modus, damit & und = im Wert den Query-String nicht zerlegen. Beim Kodieren einer kompletten URL für Anzeige oder Transport → Voll-URI-Modus, damit die URL-Struktur erhalten bleibt.
Warum bedeutet + manchmal ein Leerzeichen?
Das Format application/x-www-form-urlencoded — genutzt von HTML-Formular-Submits und Query-Strings — kodiert Leerzeichen historisch als +. In URL-Pfaden ist + einfach ein Plus. Der Decoder hier behandelt + als Leerzeichen, passend zur Query-String-Semantik; %20 funktioniert immer und überall.
Warum ist mein String doppelt kodiert (%2520)?
%25 ist die Kodierung von % selbst, %2520 bedeutet also, dass der Text %20 ein zweites Mal kodiert wurde. Das passiert, wenn zwei Schichten eines Systems jeweils kodieren. Dekodiere hier zweimal, um es auszupacken, und repariere dann die Schicht, die nicht kodieren sollte.
Werden Unicode-Zeichen korrekt behandelt?
Ja — Text wird zuerst als UTF-8 kodiert und jedes Byte prozent-escapet, gemäß dem WHATWG-URL-Standard. Deshalb wird aus einem CJK-Zeichen drei %XX-Gruppen.
Verwandte Tools