Utilia

URL-Encoder und -Decoder

Kostenloser URL-Encoder und -Decoder: Query-Parameter oder ganze URLs prozentkodieren, %XX-Sequenzen dekodieren und + als Leerzeichen behandeln – im Browser.

Modus

So nutzen Sie den URL-Encoder und -Decoder

  1. Wählen Sie „Kodieren“, um Text in eine URL-sichere Form zu bringen, oder „Dekodieren“, um prozentkodierten Text wieder in lesbare Zeichen zu verwandeln.
  2. Wählen Sie beim Kodieren einen Modus: „Bestandteil“ für einen einzelnen Wert (etwa einen Query-Parameter oder ein Pfadsegment) oder „Vollständige URL“, um eine komplette Adresse zu kodieren, ohne ihre Struktur zu zerstören.
  3. Wenn Sie Daten aus einem HTML-Formular oder einem Query-String dekodieren, aktivieren Sie „+ als Leerzeichen behandeln“, damit +-Zeichen zu Leerzeichen werden.
  4. Fügen Sie Ihren Text ein und kopieren Sie das Ergebnis. Ist eine Prozentsequenz fehlerhaft, meldet das Tool einen Fehler, statt zu raten.

Was ist URL-Kodierung?

URLs dürfen nur einen begrenzten Satz von ASCII-Zeichen enthalten. Manche Zeichen wie /, ?, #, & und = sind reserviert, weil sie die Teile einer Adresse trennen: den Pfad, den Query-String und das Fragment. Andere, etwa Leerzeichen, Anführungszeichen, Umlaute oder Emojis, sind schlicht nicht erlaubt. Die URL-Kodierung, auch Prozentkodierung (percent-encoding) genannt, löst beide Probleme: Jedes problematische Byte wird durch ein % gefolgt von zwei Hexadezimalziffern ersetzt.

Der Text wird zunächst in UTF-8-Bytes umgewandelt, und jedes Byte wird einzeln kodiert. Ein Leerzeichen wird zu %20, ein kaufmännisches Und zu %26, ä (zwei Bytes in UTF-8) zu %C3%A4 und das Emoji 😀 (vier Bytes) zu %F0%9F%98%80. Nicht reservierte Zeichen – Buchstaben, Ziffern sowie - _ . ~ – müssen nie kodiert werden.

Modus „Bestandteil“ oder „Vollständige URL“

Die Wahl des richtigen Modus ist die wichtigste Entscheidung – und eine falsche Wahl ist eine klassische Fehlerquelle.

„Bestandteil“ arbeitet wie JavaScripts encodeURIComponent. Es kodiert jedes reservierte Zeichen, sodass das Ergebnis sicher in einen einzelnen Teil einer URL eingesetzt werden kann. Verwenden Sie diesen Modus für Werte von Query-Parametern, Pfadsegmente und alles, was ein Nutzer eingegeben hat. So wird der Suchbegriff rock & roll zu rock%20%26%20roll. Bliebe das & unkodiert, würde der Server roll als Beginn eines neuen Parameters lesen.

„Vollständige URL“ arbeitet wie encodeURI. Der Modus geht davon aus, dass die Eingabe bereits eine komplette Adresse ist, und behält die strukturgebenden Zeichen wie : / ? # & und = bei, während Leerzeichen und Nicht-ASCII-Zeichen kodiert werden. So wird aus https://example.com/café menu?q=tea die Adresse https://example.com/caf%C3%A9%20menu?q=tea. Verwenden Sie ihn nicht für einzelne Werte: Ein & innerhalb eines Werts bliebe unkodiert und würde den Query-String zerstören.

Eine gute Faustregel: Bauen Sie URLs aus Einzelteilen zusammen, kodieren Sie jeden Wert im Modus „Bestandteil“ und nutzen Sie „Vollständige URL“ nur für Adressen, die Sie bereits zusammengesetzt erhalten.

Das Pluszeichen und die Formularkodierung

HTML-Formulare, die mit application/x-www-form-urlencoded gesendet werden, kodieren Leerzeichen als + statt als %20. Deshalb sehen Such-URLs oft so aus: ?q=hallo+welt. Die normale Prozentdekodierung lässt + unverändert, denn in einem Pfad ist ein Plus einfach ein Plus. Wenn Sie einen Query-String oder Formulardaten dekodieren, aktivieren Sie „+ als Leerzeichen behandeln“, um hallo welt zu erhalten. Lassen Sie die Option für Pfade und für Werte deaktiviert, in denen ein echtes + wichtig ist, etwa bei Telefonnummern oder Base64-Daten. Ein echtes Pluszeichen wird in Formulardaten als %2B gesendet und daher in beiden Fällen korrekt dekodiert.

Datenschutz

Kodieren und Dekodieren laufen vollständig in Ihrem Browser. Nichts, was Sie einfügen – auch keine URLs mit Tokens, Session-IDs oder personenbezogenen Daten –, wird an einen Server gesendet oder gespeichert.

Häufige Fragen

Warum schlägt das Dekodieren mit einem Fehler „fehlerhaft“ fehl?

Auf ein % müssen genau zwei Hexadezimalziffern folgen, und die entstehenden Bytes müssen gültiges UTF-8 ergeben. Zeichenketten wie 100%, %G1 oder eine abgeschnittene Sequenz wie %E2%82 lassen sich nicht zuverlässig dekodieren. Das Tool meldet das Problem deshalb, statt falschen Text zu erzeugen. Ein echtes Prozentzeichen kodieren Sie als %25.

Was ist der Unterschied zwischen %20 und +?

Beide können ein Leerzeichen darstellen, aber in unterschiedlichen Zusammenhängen. %20 ist überall in einer URL gültig. + bedeutet nur in formularkodierten Query-Strings ein Leerzeichen, sonst ist es ein echtes Pluszeichen.

Soll ich eine ganze URL im Modus „Bestandteil“ kodieren?

Nur wenn die ganze URL selbst ein Wert innerhalb einer anderen URL ist, zum Beispiel in einem redirect=-Parameter. Dann ist „Bestandteil“ genau richtig: https://a.com/?x=1 wird zu https%3A%2F%2Fa.com%2F%3Fx%3D1.

Warum ist mein Text doppelt kodiert?

Doppelte Kodierung entsteht, wenn bereits kodierter Text noch einmal kodiert wird – aus %20 wird dann %2520. Dekodieren Sie einmal zur Kontrolle und achten Sie darauf, dass jeder Wert nur in dem Moment kodiert wird, in dem er in die URL eingefügt wird.

Verbirgt oder schützt die URL-Kodierung Daten?

Nein. Die Prozentkodierung ist vollständig umkehrbar und bietet keinerlei Sicherheit. Sensible Werte in URLs können im Browserverlauf und in Serverlogs landen – setzen Sie Geheimnisse daher gar nicht erst in URLs ein.