URL kodieren und dekodieren
Prozentkodieren Sie Text für eine URL oder dekodieren Sie ihn zurück, und zerlegen Sie jede URL in ihre Bestandteile und Query-Parameter.
Läuft vollständig in Ihrem Browser
URL in Bestandteile zerlegen
Query-Parameter
| # | Name | Wert (dekodiert) |
|---|
Text bis etwa 5 MB. Die Ergebnisse werden während der Eingabe aktualisiert.
So kodieren oder dekodieren Sie eine URL
- Wählen Sie Kodieren oder Dekodieren und legen Sie dann fest, was der Text ist: ein einzelner Wert (Komponente), eine ganze URL oder Formulardaten.
- Tippen oder fügen Sie Ihren Text ein. Das Ergebnis erscheint während der Eingabe darunter; eine fehlerhafte Escape-Sequenz wird mit ihrer Position gemeldet.
- Kopieren Sie das Ergebnis, oder fügen Sie weiter unten eine vollständige URL in den Parser ein, um Host, Pfad und Query-Parameter zu sehen.
Was URL-Encoding macht
Eine URL darf nur eine begrenzte Menge von ASCII-Zeichen enthalten, und einige davon haben eine Aufgabe: / trennt Pfadsegmente, ? leitet die Query ein, & und = teilen sie in Namen und Werte, # leitet das Fragment ein. Die Prozentkodierung (URL-Encoding) schreibt jedes andere Byte als % gefolgt von zwei Hexadezimalziffern. So kann ein Wert wie R&D / 2026 in einem Query-String stehen, ohne für Struktur gehalten zu werden: R%26D%20%2F%202026.
Text wird zunächst in UTF-8-Bytes umgewandelt, deshalb wird ein einzelner Umlaut zu zwei Escape-Sequenzen und ein Emoji zu vier. Beim Dekodieren läuft der Vorgang rückwärts, und es wird geprüft, ob die Bytes gültiges UTF-8 ergeben. Dieses Tool dekodiert mit einem eigenen, strengen Leser: Statt einer allgemeinen Fehlermeldung wie „URI malformed“ sagt es Ihnen, welche Sequenz fehlerhaft ist und wo.
Die drei Modi passen zu den drei üblichen Situationen. Kodieren Sie einen einzelnen Wert (Komponente), wenn Sie einen Query-Parameter oder ein Pfadsegment zusammenbauen. Kodieren Sie eine ganze URL nur, wenn Sie eine vollständige Adresse mit Leerzeichen oder Nicht-ASCII-Buchstaben haben. Formulardaten verwenden Sie für den Body eines Formular-POSTs oder einen Query-String, der so aufgebaut ist, wie HTML-Formulare ihn bauen.
Tipps
- Sie möchten statt Escape-Sequenzen einen sauberen, lesbaren Pfad? Erstellen Sie ihn mit dem Slug-Generator.
- Binärdaten in einer URL sind meist Base64url, keine Prozentkodierung: Versuchen Sie Base64 kodieren und dekodieren.
- Ein Token in einem Query-String, das mit
eyJbeginnt, ist vermutlich ein JWT. Lesen Sie es mit dem JWT-Decoder.
Häufige Fragen
Was ist der Unterschied zwischen Komponenten- und URL-Kodierung?
Die Komponenten-Kodierung (encodeURIComponent in JavaScript) maskiert alles außer Buchstaben, Ziffern und - _ . ! ~ * ' ( ), sodass Zeichen wie / ? & = zu %2F %3F %26 %3D werden. Verwenden Sie sie für einen einzelnen Query-Wert oder ein Pfadsegment. Die Kodierung einer ganzen URL (encodeURI) lässt die Zeichen, die einer URL ihre Struktur geben, unverändert und maskiert nur Leerzeichen, Nicht-ASCII-Buchstaben und einige wenige andere, sodass eine vollständige Adresse benutzbar bleibt.
Wann verwende ich die Formular-Kodierung?
Die Formular-Kodierung (application/x-www-form-urlencoded) ist das, was ein HTML-Formular sendet und was die meisten Query-Strings verwenden. Sie schreibt ein Leerzeichen als + und maskiert alles außer Buchstaben, Ziffern und * - . _. Beim Dekodieren in diesem Modus wird ein + als Leerzeichen gelesen; in den anderen Modi bleibt es ein Pluszeichen.
Wie werden Umlaute und Emojis kodiert?
Als UTF-8-Bytes, jedes geschrieben als % plus zwei Hexadezimalziffern, so wie Browser und Server es erwarten. Aus é wird zum Beispiel %C3%A9, aus ü %C3%BC. Beim Dekodieren wird geprüft, ob die Bytes gültiges UTF-8 ergeben, und Sie erfahren es, wenn nicht.
Warum meldet das Dekodieren einen Fehler?
Auf jedes Prozentzeichen müssen zwei Hexadezimalziffern (0–9, A–F) folgen. Ein einzelnes %, eine abgeschnittene Sequenz wie %A oder Bytes, die kein gültiges UTF-8 sind, werden mit ihrer Position gemeldet, damit Sie sie finden. Enthält der Text ein echtes Prozentzeichen, sollte es als %25 geschrieben sein.
Ruft der URL-Parser die Adresse auf?
Nein. Er zerlegt den Text mit dem im Browser eingebauten URL-Parser in seine Teile; nichts wird abgerufen und nichts wird irgendwohin gesendet. Der eingegebene Text bleibt in diesem Tab.
Sollte ich eine ganze URL mehrfach kodieren?
Nein. Wird bereits kodierter Text erneut kodiert, wird aus %20 ein %2520, ein häufiger Fehler. Sehen Sie in einem Ergebnis %25 gefolgt von zwei Hexadezimalziffern, war die Eingabe vermutlich schon kodiert; dekodieren Sie sie zuerst.