URL Encoder/Decoder
Text URL-kodieren und dekodieren.
Wie funktioniert URL-Kodierung?
Zeichen, die in URLs eine besondere Bedeutung haben oder nicht erlaubt sind (z. B. Leerzeichen, &, ?), werden durch ein Prozentzeichen gefolgt von ihrem Hex-Code ersetzt (Percent-Encoding).
Beispiel
"hallo welt" wird zu "hallo%20welt" kodiert – das Leerzeichen wird durch %20 ersetzt, damit die URL eindeutig bleibt.
Zweites Beispiel
Eine E-Mail-Adresse wie "user+test@example.com" soll als Query-Parameter an einen Redirect-Link angehängt werden. Kodiert wird daraus "user%2Btest%40example.com" – sowohl das Plus- als auch das At-Zeichen werden ersetzt. Ohne diese Kodierung würde ein Server das Plus in vielen Fällen als Leerzeichen interpretieren und die Adresse verfälschen.
Wann brauchst du den URL-Encoder?
- Einen dynamischen Query-Parameter (z. B. eine Freitextsuche oder E-Mail-Adresse) sicher an eine bestehende URL anhängen.
- Einen
redirect_uri- oderstate-Parameter für einen OAuth-Callback korrekt kodieren. - Eine kodierte URL aus einem Server-Log oder Access-Log zurückdekodieren, um den ursprünglichen Request nachzuvollziehen.
- Prüfen, wie ein bestimmtes Sonderzeichen (z. B. #, %, +) in einer URL kodiert werden muss, bevor du es hart in Code einbaust.
Gut zu wissen: Dieses Tool kodiert mit encodeURIComponent, also für einzelne Parameterwerte gedacht – dabei werden auch strukturell wichtige Zeichen wie /, : und & kodiert. Für eine komplette, bereits gültige URL wäre das falsch, da sonst z. B. aus "https://" ein kaputtes "https%3A%2F%2F" würde. Außerdem gilt: In klassischen Formular-Übertragungen (application/x-www-form-urlencoded) steht ein + für ein Leerzeichen, während Percent-Encoding dafür %20 verwendet – beide Schreibweisen begegnen dir in der Praxis, je nachdem woher die URL stammt.
Häufige Fragen
Wofür wird URL-Kodierung benötigt?
Um Sonderzeichen, Leerzeichen oder nicht-ASCII-Zeichen sicher in URLs oder Query-Parametern zu übertragen, ohne die URL-Struktur zu beschädigen.
Warum schlägt das Dekodieren manchmal fehl?
Wenn die Eingabe kein gültig kodierter Text ist – etwa durch ein unvollständiges Prozent-Escape – kann sie nicht dekodiert werden.
Werden auch komplette URLs korrekt kodiert?
Der Encoder kodiert den gesamten Eingabetext, auch Schrägstriche und Doppelpunkte. Für komplette URLs (bei denen diese Zeichen erhalten bleiben sollen) empfiehlt sich, nur einzelne Parameter zu kodieren.
Warum wird ein Leerzeichen manchmal als "+" und manchmal als "%20" dargestellt?
Beide sind gültig, folgen aber unterschiedlichen Konventionen: Klassische Formular-Übertragungen nutzen "+" für Leerzeichen, während allgemeines Percent-Encoding – wie es dieses Tool erzeugt – dafür "%20" verwendet.
Was ist der Unterschied zu "encodeURI" ohne "Component"?
"encodeURI" lässt URL-strukturelle Zeichen wie /, : und ? unverändert, weil es für ganze URLs gedacht ist. "encodeURIComponent", das dieses Tool verwendet, kodiert auch diese Zeichen und eignet sich damit für einzelne Parameterwerte innerhalb einer URL.