Über das Tool „URL kodieren & dekodieren“
URLs dürfen nur eine begrenzte Auswahl an ASCII-Zeichen enthalten. Leerzeichen, Buchstaben mit Akzent, Emojis und Zeichen mit besonderer Bedeutung in URLs – etwa &, =, ? und # – müssen als prozentkodierte Bytes geschrieben werden: Ein Leerzeichen wird zum Beispiel zu %20 und "é" zu %C3%A9. Dieses Tool wandelt Text in dieses Format um und wieder zurück.
Es verwendet die vom URL-Standard festgelegte UTF-8-Kodierung, also dieselben Regeln wie die JavaScript-Funktionen encodeURIComponent und encodeURI. Ein eingebauter URL-Inspektor zerlegt außerdem eine vollständige Adresse in Protokoll, Host, Pfad, Fragment und eine dekodierte Liste der Query-Parameter.
Anleitung
- Wählen Sie „Kodieren“ oder „Dekodieren“.
- Wählen Sie den Modus: „Komponente“ für einen einzelnen Query-Wert oder ein Pfadsegment, „Ganze URL“, um die Struktur einer vollständigen Adresse zu erhalten, oder „Formular“ für Daten im Format application/x-www-form-urlencoded, bei denen Leerzeichen als + geschrieben werden.
- Tippen Sie Ihren Text in das Eingabefeld oder fügen Sie ihn ein. Das Ergebnis wird während der Eingabe aktualisiert.
- Mit „Ergebnis kopieren“ legen Sie das Ergebnis in die Zwischenablage, mit „Tauschen“ übernehmen Sie es in die Eingabe und kehren die Richtung um.
- Fügen Sie eine vollständige URL ein, um ihre Bestandteile und die dekodierten Query-Parameter im URL-Inspektor unter dem Ergebnis zu sehen.
Funktionen
- Drei Kodierungsmodi: Komponente (encodeURIComponent), ganze URL (encodeURI) und HTML-Formularkodierung mit + für Leerzeichen.
- Volle Unicode-Unterstützung: Nicht lateinische Schriften und Emojis werden als UTF-8-Bytes kodiert – genau wie im Browser.
- Verständliche Fehlermeldungen: Schlägt das Dekodieren fehl, zeigt das Tool, wo die fehlerhafte %-Sequenz steht oder ob die Bytes kein gültiges UTF-8 sind.
- URL-Inspektor: Zeigt Host, Port, Pfad, Fragment und jeden Query-Parameter in dekodierter Form, auch wiederholte Schlüssel.
- Privat: Alles geschieht in Ihrem Browser. URLs mit Tokens oder personenbezogenen Daten werden also nirgendwohin gesendet.
Beispiele
Eine Suchanfrage kodieren
Um "coffee & cake" als Wert in ?q=… zu übergeben, kodieren Sie es im Modus „Komponente“: Das Ergebnis ist coffee%20%26%20cake. Ohne Kodierung würde das & einen neuen Parameter beginnen.
Einen Tracking-Link lesen
Fügen Sie einen langen Link wie https://example.com/?redirect=https%3A%2F%2Fshop.example%2Fcart%3Fid%3D7 ein, um zu sehen, dass der Parameter redirect zu https://shop.example/cart?id=7 dekodiert wird.
Formulardaten dekodieren
Von einem HTML-Formular gesendete Daten sehen etwa so aus: name=Jane+Doe&city=S%C3%A3o+Paulo. Dekodieren Sie sie im Modus „Formular“, um "name=Jane Doe&city=São Paulo" zu erhalten.
Einschränkungen und Hinweise
- Der Modus „Ganze URL“ kodiert reservierte Zeichen wie / ? # & = nicht und eignet sich daher nicht zum Kodieren eines einzelnen Parameterwerts – verwenden Sie dafür den Modus „Komponente“.
- Beim Dekodieren im Modus „Ganze URL“ bleibt "%2F" als %2F erhalten, weil decodeURI reservierte Zeichen absichtlich kodiert lässt.
- Prozentkodierte Daten in älteren Kodierungen (zum Beispiel ISO-8859-1 oder Shift_JIS) lassen sich nicht dekodieren, weil das Tool UTF-8-Bytes erwartet.
- Der URL-Inspektor funktioniert nur mit absoluten URLs, die mit einem Schema wie https: beginnen.
- Internationalisierte Domainnamen werden in der Punycode-Form angezeigt, die der Browser liefert (zum Beispiel xn--…).
Häufige Fragen
Was ist der Unterschied zwischen encodeURI und encodeURIComponent?
encodeURIComponent maskiert jedes Zeichen, das in einer URL eine besondere Bedeutung hat, und ist damit sicher für einen einzelnen Wert. encodeURI lässt Zeichen wie : / ? # & = unverändert, damit eine vollständige URL funktionsfähig bleibt. Die Modi „Komponente“ und „Ganze URL“ entsprechen diesen beiden Funktionen.
Wird ein Leerzeichen zu %20 oder zu +?
In der Praxis kommt beides vor. %20 ist überall in einer URL korrekt. Das Pluszeichen bedeutet nur im Query-String von HTML-Formularübermittlungen (application/x-www-form-urlencoded) ein Leerzeichen. Verwenden Sie den Modus „Formular“, wenn Sie mit diesem Format arbeiten.
Warum erhalte ich „kein gültiger UTF-8-Text“?
Die %-Sequenzen sind syntaktisch korrekt, aber die Bytes, die sie beschreiben, ergeben keinen gültigen UTF-8-Text – zum Beispiel %C3 ohne nachfolgendes Fortsetzungsbyte. Die Daten wurden möglicherweise mit einem anderen Zeichensatz kodiert oder abgeschnitten.
Wird meine URL an einen Server gesendet?
Nein. Kodieren, Dekodieren und Zerlegen erledigt JavaScript auf dieser Seite. Sie können nach dem Laden der Seite sogar die Internetverbindung trennen, und das Tool funktioniert weiter.