Menu

URL-Encoder / -Decoder

URL-Komponenten sicher kodieren und dekodieren.

Zuletzt aktualisiert

Modus
Bereich
DekodiertText einfügen, um zu beginnen
Kodiert
Prozent-kodierte oder dekodierte Ausgabe erscheint hier — Unicode-fähig.

Was ist ein URL-Encoder?

Ein URL-Encoder (auch Prozent-Encoder oder URI-Encoder genannt) ersetzt Zeichen, die in URLs reserviert oder unsicher sind, durch ein % gefolgt von zwei Hex-Ziffern. Praktisch wird das beim Bauen von Query-Strings, beim Escapen von Pfadsegmenten, beim Teilen von URLs mit Leerzeichen oder Nicht-ASCII-Zeichen sowie beim Debuggen von Redirects.

URLs dürfen nur einen kleinen Satz an ASCII-Zeichen enthalten. Alles, was darüber hinausgeht – Leerzeichen, Umlaute, Emojis oder reservierte Symbole wie ?, #, &, =, wenn sie als Daten verwendet werden – muss prozent-kodiert werden, damit es den Weg vom Browser zum Server unbeschadet übersteht.

JavaScript bietet zwei Funktionen dafür: encodeURI (behält die URL-Struktur bei: /, ?, #, &) und encodeURIComponent (kodiert alles Reservierte). Für *Werte*, die du in Query-Strings packst, nimmst du encodeURIComponent; für *ganze URLs*, die weiterhin funktionieren sollen, encodeURI.

Was du beim URL-Kodieren lernst

  • Prozent-Kodierung ersetzt ein einzelnes Byte durch % plus zwei Hex-Ziffern – ein Leerzeichen wird zum Beispiel zu %20.
  • Reservierte Zeichen (: / ? # & = +) haben in der URL-Struktur eine feste Bedeutung. Werden sie als Daten und nicht als Trennzeichen verwendet, müssen sie kodiert werden.
  • Nicht-ASCII-Text (Umlaute, Emojis, Kyrillisch, CJK) wird zuerst in UTF-8-Bytes übersetzt und dann Byte für Byte prozent-kodiert.

URLs Schritt für Schritt kodieren und dekodieren

  1. Richtung wählen

    Wähle „Encode“, wenn du Rohtext hast und ihn URL-tauglich machen willst. Wähle „Decode“, wenn du einen %-kodierten String hast und den Originaltext zurückbekommen möchtest.

  2. Encoding-Modus festlegen

    Für Werte im Query-String nimmst du encodeURIComponent (kodiert alles Reservierte); für ganze URLs encodeURI (Struktur bleibt erhalten).

  3. Eingabe einfügen

    Füge den Rohtext oder die kodierte URL ein. Mehrzeilige Eingaben funktionieren ebenfalls – praktisch für Batch-Dekodierung.

  4. Ergebnis kopieren

    Kopiere den kodierten oder dekodierten Wert. Die Umwandlung läuft lokal in deinem Browser, also bleiben Geheimnisse aus URLs auch auf deinem Rechner.

Schnellreferenz für gängige URL-Kodierungen

Die Zeichen, die dir am häufigsten in kodierter Form begegnen, mit ihrer Prozent-Schreibweise. Die Bedeutung der reservierten Zeichen stammt aus RFC 3986.

ZeichenKodiertWarum
Leerzeichen%20Leerzeichen sind in URLs nicht erlaubt
!%21Wird von manchen Servern reserviert
#%23Leitet das Fragment ein
$%24Reserviertes Zeichen
&%26Trennt Query-Parameter
+%2BSteht in form-kodierten Bodies für ein Leerzeichen
/%2FPfad-Trennzeichen
:%3ATrennt Schema und Host
=%3DTrennt Key und Value im Query-String
?%3FLeitet den Query-String ein
@%40Trennt Userinfo und Host
UTF-8-Byte%C3%A9Jedes Nicht-ASCII-Byte wird einzeln kodiert

URL-Kodierungsbeispiele zum Ausprobieren

Suchanfrage kodieren

Roh

hello world & more

Kodiert

hello%20world%20%26%20more

Aus Leerzeichen wird %20, und das & wird zu %26, damit es nicht als Trenner zwischen Query-Parametern fehlinterpretiert wird.

Nicht-ASCII-Zeichen kodieren

Roh

café

Kodiert

caf%C3%A9

é entspricht der UTF-8-Bytefolge 0xC3 0xA9, deshalb stehen für dieses *eine* Zeichen *zwei* %XX-Gruppen in der kodierten Variante.

encodeURI vs. encodeURIComponent

Roh

https://example.com/path?q=hello world

encodeURI

https://example.com/path?q=hello%20world

encodeURIComponent

https%3A%2F%2Fexample.com%2Fpath%3Fq%3Dhello%20world

encodeURI lässt die URL-Struktur in Ruhe (Slashes, ?, =). encodeURIComponent kodiert alles Reservierte – nimm es für Werte, die du *in* einen Query-String steckst, niemals für eine komplette URL.

Typische Fehler beim URL-Kodieren

  • encodeURI für Query-String-Werte verwenden – & und = überleben die Kodierung und zerschießen das Parameter-Parsing.
  • Eine URL doppelt kodieren. Wenn du %2520 statt %20 siehst, ist das das klassische Zeichen für Double-Encoding-Bugs.
  • Vergessen, dass + in application/x-www-form-urlencoded-Bodies ein Leerzeichen bedeutet, im URL-Pfad oder Query aber ein wörtliches + ist.

FAQ zur URL-Kodierung

Was ist URL-Kodierung?
URL-Kodierung (auch Prozent-Kodierung) ist eine Methode, um Zeichen mit Spezialbedeutung in URLs oder solche, die nicht sicher übertragbar sind, durch ein % plus zwei Hex-Ziffern darzustellen.
Was ist der Unterschied zwischen encodeURI und encodeURIComponent?
encodeURI lässt die strukturellen Zeichen einer URL (/, ?, #, &, =, +) unangetastet. encodeURIComponent kodiert sie alle – genau das willst du für einzelne *Werte* innerhalb einer URL: Query-Parameter-Werte, Pfadsegmente, Fragmente. Siehe die MDN-Doku zu encodeURI und encodeURIComponent.
Warum wird ein Leerzeichen zu %20?
Leerzeichen sind in URLs nicht erlaubt, deshalb werden sie durch %20 ersetzt – die Prozent-Kodierung des ASCII-Leerzeichens (hex 0x20).
Wann sollte ich URL-kodieren?
Kodiere jeden vom Nutzer gelieferten oder dynamischen Wert, bevor du ihn in eine URL steckst – Query-String-Werte, Pfadsegmente, Redirect-Ziele, OAuth-Parameter. Verlass dich nie darauf, dass Roheingaben URL-tauglich sind.
Lässt sich URL-Kodierung rückgängig machen?
Ja – das nennt sich URL-Dekodierung. decodeURI, decodeURIComponent oder ein beliebiger URL-Decoder kehrt die Prozent-Kodierung zurück zu den Originalzeichen um.

Mehr erfahren

Weitere Entwickler-Tools

Lerne mit Coddy zu programmieren

LOS GEHT'S