URL-Kodierer / Dekodierer
URLs und Query-Strings kodieren oder dekodieren.
Was ist URL-Encoding?
URL-Encoding (Prozent-Encoding) wandelt Sonderzeichen in URLs in eine sichere Darstellung um. Zeichen wie Leerzeichen, Umlaute und Sonderzeichen werden durch %XX ersetzt (XX = hexadezimaler ASCII-Wert).
URLs duerfen nur ASCII-Zeichen enthalten (RFC 3986). Zeichen ausserhalb des erlaubten Satzes (A-Z, a-z, 0-9, -._~) muessen codiert werden. Leerzeichen wird zu %20 oder + (in Query-Strings).
Wann URL-Encoding verwenden?
- Query-Parameter — Werte mit Sonderzeichen: ?search=Hallo%20Welt&lang=de.
- Umlaute und Unicode — aeoeue wird zu %C3%A4%C3%B6%C3%BC (UTF-8 Bytes, einzeln codiert).
- Pfade mit Leerzeichen — /mein%20ordner/datei.pdf statt /mein ordner/datei.pdf.
- API-Aufrufe — JSON oder HTML in URL-Parametern muss codiert werden.
- Formulardaten — application/x-www-form-urlencoded codiert Formularfelder automatisch.
Wie funktioniert es?
Jedes nicht-sichere Zeichen wird in seine UTF-8 Bytes zerlegt, und jedes Byte als %HH dargestellt. Beispiel: 'ue' (U+00FC) = UTF-8 Bytes C3 BC = %C3%BC. Leerzeichen: %20 (oder + in Query-Strings).
So verwenden Sie dieses Tool
Geben Sie Text in das Eingabefeld ein oder fuegen Sie einen URL-codierten String ein. Das Tool codiert/decodiert automatisch. Waehlen Sie zwischen vollem Encoding und nur Query-Parameter-Encoding.
Reservierte Zeichen
Diese Zeichen haben spezielle Bedeutung in URLs und muessen codiert werden, wenn sie als Daten verwendet werden: : / ? # [ ] @ (Trennzeichen) sowie ! $ & ' ( ) * + , ; = (Sub-Trennzeichen). Nur in Daten codieren, nicht in der URL-Struktur.
Haeufige Fehler
Doppelt codieren: %20 wird zu %2520. Pruefen Sie, ob Ihr Framework bereits codiert, bevor Sie manuell codieren.
Die ganze URL codieren statt nur die Werte: https%3A%2F%2F... ist falsch. Nur Query-Werte und Pfadsegmente codieren.
Tipps fuer Entwickler
JavaScript: encodeURIComponent() fuer Werte, encodeURI() fuer ganze URLs (codiert weniger). Python: urllib.parse.quote(). PHP: urlencode() oder rawurlencode(). Verwenden Sie immer die Bibliotheksfunktionen statt manueller Ersetzung.
Haeufig gestellte Fragen
Was ist der Unterschied zwischen %20 und +?
%20 ist das Standard-Encoding fuer Leerzeichen in URLs (RFC 3986). + ist nur in application/x-www-form-urlencoded gueltig (HTML-Formulare, Query-Strings). Fuer Pfade immer %20, fuer Query-Parameter beide moeglich.
Muss ich Umlaute in URLs codieren?
Ja. Browser zeigen Umlaute im Adressfeld decodiert an (sieht huebsch aus), senden sie aber codiert. In internationalisierten Domainnamen (IDN): Punycode statt URL-Encoding. Beispiel: muenchen.de wird zu xn--mnchen-3ya.de.