Zum Hauptinhalt springen
Tooletto

URL-Encoder und -Decoder

Kodieren Sie Text zur sicheren Verwendung in einer URL, oder dekodieren Sie prozentkodierte URLs zurück zu lesbarem Text. Behandelt Unicode korrekt und bietet Komponenten- und Vollständige-URL-Modi.

  • Dateien verlassen niemals Ihr Gerät
  • Kostenlos, keine Anmeldung
  • Keine Wasserzeichen
  • Funktioniert nach dem Laden auch offline
Loading tool…

So verwenden Sie URL-Encoder und -Decoder

  1. 1

    Richtung wählen

    Text für eine URL kodieren, oder eine kodierte URL zurück zu Text dekodieren.

  2. 2

    Modus wählen

    Der Komponentenmodus escapt alles; der Vollständige-URL-Modus bewahrt die Struktur.

  3. 3

    Ergebnis kopieren

    Die Ergebnisse aktualisieren beim Tippen.

Warum eine URL nicht einfach beliebige Zeichen enthalten kann

Die Struktur einer URL hängt davon ab, dass bestimmte Zeichen — `/` zur Trennung von Pfadsegmenten, `?` zur Einleitung der Query-Zeichenkette, `&` zur Trennung von Parametern, `#` für ein Fragment — überall, wo sie erscheinen, eine feste strukturelle Bedeutung tragen. Enthält ein in eine URL gesetzter Wert, wie ein Suchbegriff oder der Name eines Nutzers, zufällig eines dieser gleichen Zeichen, muss es einen Weg geben, „dieses Et-Zeichen ist Teil des echten Werts" von „dieses Et-Zeichen trennt zwei Query-Parameter" zu unterscheiden. Prozent-Kodierung ist dieser Mechanismus: Jedes Zeichen mit struktureller Bedeutung wird, wenn es als literales Datum statt als Struktur erscheinen muss, durch ein `%` gefolgt von seinem hexadezimalen Byte-Wert ersetzt, daher wird `&` zu `%26` und liest sich eindeutig als Daten statt als Parametertrennzeichen.

Der Fehler, der mehr URLs bricht als jeder andere

Der bei weitem häufigste URL-Kodierungsfehler ist, eine zusammengesetzte vollständige URL mit der falschen Funktion zu kodieren — `encodeURIComponent` zu verwenden, das jedes reservierte Zeichen einschließlich `/`, `:`, `&` und `?` escapt, auf einer ganzen Adresse statt auf einem einzelnen Wert. Das `://` nach dem Protokoll wird zu `%3A%2F%2F`, jedes `&`, das Query-Parameter trennt, wird zu `%26`, und die URL hört auf, überhaupt eine URL zu sein — sie wird zu einer langen kodierten Zeichenkette ohne jede Struktur, die ein Server analysieren könnte. Der richtige Ansatz ist die umgekehrte Reihenfolge: Kodieren Sie zuerst jeden einzelnen Wert — den Suchbegriff, das Weiterleitungsziel, was auch immer die echten Daten sind — und fügen Sie diese bereits kodierten Werte erst dann in die umgebende URL-Struktur ein, ohne je das zusammengesetzte Ganze danach erneut zu kodieren.

Genau deshalb bietet dieses Tool zwei separate Modi statt eines generischen „Kodieren"-Buttons: den Komponentenmodus, um einen einzelnen Wert zu kodieren, der Teil einer URL werden soll, und den Vollständige-URL-Modus für den selteneren Fall, eine ganze Adresse zu kodieren, während ihre strukturellen Zeichen bewusst bewahrt werden.

Warum ein Leerzeichen manchmal zu %20 und manchmal zu einem Pluszeichen wird

Zwei separate Kodierungskonventionen für Leerzeichen sind heute noch in aktivem Gebrauch, und sie sind nicht austauschbar. Prozent-Kodierung, der allgemeine Standard, stellt ein Leerzeichen als `%20` dar und ist überall in einer URL gültig — im Pfad, in der Query-Zeichenkette, überall. Die `+`-Konvention für ein Leerzeichen kommt von einem älteren, speziell für HTML-Formularübermittlungen mit dem Content-Type `application/x-www-form-urlencoded` begrenzten Standard und ist nur innerhalb der Query-Zeichenkette gültig; ein literales `+`, das in einem URL-Pfad erscheint, wird überhaupt nicht als Leerzeichen interpretiert, es ist einfach das Pluszeichen. Dieses Tool erzeugt immer `%20`, das in jedem Kontext gültig ist, und dekodiert beide Formen korrekt beim Zurücklesen einer kodierten URL.

Wo das über Browser hinaus wichtig ist

Die Regeln der Prozent-Kodierung gelten für jede URL, unabhängig davon, was sie erstellt oder konsumiert — eine von einem Backend-Dienst gebaute Webhook-Nutzlast, ein von einer mobilen App geöffneter Deep Link, eine von einem Skript zusammengesetzte API-Anfrage. Überall, wo ein Wert, der Leerzeichen, Et-Zeichen, oder Nicht-ASCII-Zeichen enthalten könnte, in eine URL-Zeichenkette interpoliert wird, gilt dieselbe Regel des Wert-vor-dem-Einfügen-Kodierens, weshalb das ebenso sehr ein Backend- und Skripting-Anliegen wie ein Browser-Anliegen ist.

Häufig gestellte Fragen

Was ist der Unterschied zwischen Komponenten- und Vollständige-URL-Modus?

Der Komponentenmodus (`encodeURIComponent`) escapt alles einschließlich / ? & = #, was Sie für den Wert eines einzelnen Query-Parameters wollen. Der Vollständige-URL-Modus (`encodeURI`) lässt diese strukturellen Zeichen unangetastet, damit eine ganze Adresse nutzbar bleibt. Den falschen zu nutzen ist der häufigste URL-Kodierungsfehler.

Warum ist meine URL kaputtgegangen, als ich alles kodiert habe?

Sie haben fast sicher den Komponentenmodus auf einer vollständigen URL verwendet, der das `://` und die `&`-Trennzeichen escapt hat. Kodieren Sie jeden *Wert* eines Parameters einzeln, dann setzen Sie die URL zusammen — kodieren Sie nie das bereits zusammengesetzte Ergebnis erneut.

Warum wird ein Leerzeichen manchmal zu %20 und manchmal zu +?

Prozent-Kodierung nutzt %20. Die `+`-Form kommt von der älteren HTML-Formular-Kodierung (`application/x-www-form-urlencoded`) und ist nur in einer Query-Zeichenkette gültig, nie in einem Pfad. Dieses Tool erzeugt %20 und dekodiert beide.

Wie werden Emojis und Zeichen anderer Sprachen behandelt?

Sie werden als UTF-8-Bytes kodiert, daher wird é zu %C3%A9 und ein Emoji zu vier Prozent-Escapes. Das ist das korrekte Verhalten und konvertiert exakt in beide Richtungen.

Häufige Aufgaben für URL-Encoder und -Decoder