URL-Encoder/Decoder
Kodieren Sie Sonderzeichen für URLs oder dekodieren Sie prozentcodierte URL-Strings. Unverzichtbar für Webentwicklung und API-Arbeit.
Anleitung
- Geben Sie Ihren Text oder Ihre URL in den Eingabebereich ein oder fügen Sie sie ein
- Klicken Sie auf Kodieren, um Sonderzeichen prozentual zu kodieren, oder auf Dekodieren, um zurückzukonvertieren
- Kopieren Sie das Ergebnis zur Verwendung in Ihrer Anwendung
Häufig gestellte Fragen
-
Was ist URL-Kodierung?
URL-Kodierung (auch Prozentkodierung genannt) ersetzt Sonderzeichen durch ein Prozentzeichen gefolgt von ihrem Hexadezimalwert. Zum Beispiel wird ein Leerzeichen zu %20.
-
Wann sollte ich URL-Kodierung verwenden?
Kodieren Sie URLs, wenn Sie Sonderzeichen in URL-Parametern, Abfragezeichenfolgen oder Formulardaten einfügen, die per HTTP gesendet werden.
-
Was ist der Unterschied zwischen encodeURI und encodeURIComponent?
encodeURI kodiert einen vollständigen URI und bewahrt Zeichen wie :, / und ?. encodeURIComponent kodiert alles außer Buchstaben, Ziffern und einigen Sonderzeichen und eignet sich daher zum Kodieren einzelner Parameterwerte.
-
Werden Unicode-Zeichen unterstützt?
Ja, Unicode-Zeichen werden zunächst in UTF-8-Bytes kodiert, dann wird jedes Byte prozentual kodiert.
URL-Kodierung: Warum URLs so aussehen
Wer schon einmal eine URL mit %20 oder %C3%BC gesehen hat, ist der URL-Kodierung begegnet. Diese Prozentcodierung (Percent-Encoding) ist kein Fehler, sondern ein notwendiger Standard, der das Web funktionsfähig macht.
Das Problem: Sonderzeichen in URLs
URLs dürfen nach dem RFC 3986-Standard nur einen bestimmten Zeichensatz verwenden: die 26 lateinischen Buchstaben (groß und klein), die Ziffern 0–9 sowie einige Sonderzeichen wie -, _, . und ~. Alle anderen Zeichen müssen kodiert werden.
Besonders kritisch sind Zeichen, die in URLs eine strukturelle Bedeutung haben:
?leitet die Query-String-Parameter ein&trennt Parameter voneinander=verbindet Schlüssel und Wert#markiert den Anker (Fragment)/trennt URL-Pfadsegmente
Wenn ein Parameter selbst eines dieser Zeichen enthält — z.B. eine URL als Wert — muss es kodiert werden, damit die URL korrekt geparst wird.
Wie Prozentcodierung funktioniert
Jedes kodierungspflichtige Zeichen wird durch % gefolgt von seinem zweistelligen Hexadezimalwert ersetzt. Ein Leerzeichen hat den ASCII-Code 32, hexadezimal 20 — daher %20. Ein ü (U+00FC) wird in UTF-8 als zwei Bytes 0xC3 0xBC kodiert, was zu %C3%BC wird.
encodeURI vs. encodeURIComponent: Der wichtige Unterschied
JavaScript bietet zwei eingebaute Funktionen zur URL-Kodierung, die unterschiedliche Zwecke haben:
encodeURI()
Kodiert eine vollständige URL und lässt Zeichen unberührt, die in einer URL strukturelle Bedeutung haben: :, /, ?, &, =, #, @. Beispiel:
encodeURI("https://example.com/suche?q=hallo welt")
→ "https://example.com/suche?q=hallo%20welt"
encodeURIComponent()
Kodiert einen einzelnen URL-Parameter-Wert und kodiert dabei auch strukturelle Zeichen wie ?, &, = und /. Sollte immer für einzelne Query-String-Werte verwendet werden:
encodeURIComponent("Preis: 5€ & mehr")
→ "Preis%3A%205%E2%82%AC%20%26%20mehr"
Die goldene Regel
- Ganze URL kodieren:
encodeURI() - Einzelnen Parameter-Wert kodieren:
encodeURIComponent()
Formulardaten und application/x-www-form-urlencoded
HTML-Formulare mit method="POST" übertragen Daten standardmäßig im Format application/x-www-form-urlencoded. Dabei gelten ähnliche Regeln wie bei URL-Kodierung, mit einem Unterschied: Leerzeichen werden als + kodiert, nicht als %20. Das kann bei manueller Verarbeitung von Formulardaten zu Verwirrung führen.
Warum Unicode in URLs immer UTF-8 bedeutet
Moderne Browser und Server kodieren nicht-ASCII-Zeichen in URLs immer als UTF-8-Bytes, dann prozentcodiert. Das bedeutet, dass ein Umlaut wie ä stets als %C3%A4 erscheint — unabhängig von der Zeichenkodierung der HTML-Seite. Diese Konvention ist im WHATWG URL-Standard festgelegt und sorgt für konsistentes Verhalten weltweit.