Blog
Deutsch

URL Encoder/Decoder — URL kodieren und dekodieren

Ein URL-Prozentkodierer und -Dekodierer, der Unicode und Emojis beherrscht

Verarbeitung im Browser · kein Hochladen

Was ist das?

In einer URL dürfen nur Buchstaben, Ziffern und wenige Sonderzeichen unverändert stehen. Alles andere – Umlaute, Leerzeichen, Emojis – wird in UTF-8-Bytes umgewandelt, und jedes Byte wird als % plus zwei Hexziffern geschrieben. Das ist die Prozentkodierung. Dieses Tool zeigt das kodierte oder dekodierte Ergebnis schon beim Tippen.

So funktioniert es

  1. Wählen Sie Kodieren oder Dekodieren.
  2. Wählen Sie den Umfang: encodeURIComponent für einen einzelnen Query-Wert, encodeURI für eine ganze URL.
  3. Fügen Sie Text oder eine URL ein – das Ergebnis erscheint sofort.
  4. Aktivieren Sie beim Dekodieren von Formulardaten die Option „+ als Leerzeichen behandeln“.
  5. Kopieren Sie das Ergebnis oder klicken Sie auf „Ausgabe als Eingabe verwenden“, um den Rückweg zu prüfen.

Technische Details

  • Die Arbeit erledigen die browsereigenen Funktionen encodeURIComponent, encodeURI, decodeURIComponent und decodeURI nach den Regeln von RFC 3986.
  • Text wird zuerst in UTF-8-Bytes umgewandelt. Ein Umlaut belegt 2 Bytes und ergibt daher zwei %XX-Gruppen, ein chinesisches Zeichen 3 und ein Emoji 4.
  • Unkodiert bleiben A-Z a-z 0-9 - _ . ! ~ * ' ( ). encodeURI lässt zusätzlich ; , / ? : @ & = + $ # stehen.
  • Ein ungepaartes Surrogat kann nicht kodiert werden und wird als Fehler gemeldet.
  • Eine fehlgeschlagene Dekodierung wird nie stillschweigend repariert; stattdessen erscheint eine Fehlermeldung.

Beispiele

Eingabe Modus Ergebnis
a b&c=d Komponente a%20b%26c%3Dd
Grüße Komponente Gr%C3%BC%C3%9Fe
👍 Komponente %F0%9F%91%8D
https://example.com/größe?q=a b Ganze URL https://example.com/gr%C3%B6%C3%9Fe?q=a%20b

Häufige Fragen

Was ist der Unterschied zwischen encodeURIComponent und encodeURI?

encodeURIComponent ist für einen einzelnen Teil wie einen Query-Wert gedacht und kodiert daher auch die Trennzeichen / ? & = und #. encodeURI ist für eine ganze URL gedacht und lässt diese Trennzeichen unverändert.

Warum erhalte ich einen Dekodierfehler?

Auf ein % müssen zwei Hexziffern folgen, und die entstehenden Bytes müssen gültiges UTF-8 ergeben. Prüfen Sie, ob der String nicht mittendrin abgeschnitten ist und ob kein unmaskiertes % im Text steht.

Wird ein Leerzeichen zu %20 oder zu +?

Im URL-Pfad ist es %20. Das Pluszeichen bedeutet nur in der HTML-Formularkodierung (application/x-www-form-urlencoded) ein Leerzeichen. Aktivieren Sie beim Dekodieren solcher Daten die Plus-Option.

Wird meine URL an einen Server gesendet?

Nein. Alles geschieht in Ihrem Browser.

Fehlt ein Tool?