Kodierung
URL Encode/Decode
URL-Kodierung und -Dekodierung — Zeichen, die in Links und Query-Parametern maskiert werden müssen.
URL-Kodierung (Percent-Encoding) ersetzt Zeichen, die in einer URL nicht erlaubt sind — Leerzeichen, nicht-lateinische Buchstaben, Sonderzeichen — durch %XX-Sequenzen, wobei XX der Hex-Code des Bytes ist. So bleiben Links und Query-Parameter bei der Übertragung unversehrt.
So verwendest du es
- Kodieren: Füge Text oder eine URL ein — jedes Zeichen außerhalb des sicheren ASCII-Bereichs wird durch eine %XX-Sequenz ersetzt.
- Dekodieren: Füge einen kodierten String ein, um den Originaltext zu sehen.
- Das Kodieren einer ganzen URL und das Kodieren eines einzelnen Query-Parameters verwenden leicht unterschiedliche sichere Zeichensätze — wähle den passenden Modus.
Typische Anwendungsfälle
- Query-Parameter aus Text mit Leerzeichen, Kaufmanns-Und oder nicht-lateinischen Zeichen erstellen.
- Debuggen, warum ein Link mit Parameter nicht funktioniert — oft liegt es an einem nicht kodierten Sonderzeichen.
- URLs aus Drittsystemen dekodieren, um sie im Original zu lesen.
Was du wissen solltest
Kodiere Parameterwerte, nicht die ganze URL auf einmal — sonst werden auch die benötigten Trennzeichen (:, /, ?, &) kodiert.
Die JavaScript-Funktionen encodeURIComponent und encodeURI kodieren unterschiedliche Zeichensätze — Erstere ist speziell für Parameterwerte gedacht.
Artikel zu diesem Tool: URL Encode/Decode: Percent-Encoding in Links
Häufig gestellte Fragen
Was ist der Unterschied zwischen Komponente und URI beim Kodieren?
Komponente (encodeURIComponent) maskiert alle Sonderzeichen, auch solche mit struktureller Bedeutung wie & oder /, und eignet sich für einzelne Query-Parameter-Werte. URI (encodeURI) lässt Struktur-Zeichen wie /, ? und & unangetastet, weil sie zur URL selbst gehören.
Ist URL-Kodierung dasselbe wie Base64?
Nein. URL-Kodierung (Prozent-Kodierung) ersetzt einzelne Zeichen durch %XX-Sequenzen und verändert die Länge kaum, während Base64 die gesamte Zeichenkette in ein anderes Alphabet umwandelt. Es gibt zwar eine URL-sichere Base64-Variante, das ist aber ein eigenständiges Verfahren.
Werden die eingegebenen URLs irgendwo gespeichert?
Nein, die Kodierung und Dekodierung erfolgt vollständig im Browser. Es werden keine Daten an einen Server gesendet.
Was ist doppelte Kodierung und wie erkennt man sie?
Das ist ein Fehler, bei dem eine bereits kodierte Zeichenkette noch einmal kodiert wird – das Zeichen % verwandelt sich dabei selbst in %25, und aus %20 wird %2520. Ein Anzeichen dafür sind Sequenzen wie %25XX im dekodierten Ergebnis.
Warum wird ein Leerzeichen manchmal als + und manchmal als %20 kodiert?
+ für ein Leerzeichen ist das Format application/x-www-form-urlencoded, das bei Formularen und Query-Strings verwendet wird. %20 ist das Standard-Percent-Encoding nach RFC 3986 und in jedem Teil einer URL korrekt.