Tools / Entwickler / URL Kodieren/Dekodieren
Clientseitig

URL Kodieren/Dekodieren

URL-Zeichenketten im Browser percent-kodieren oder dekodieren, mit getrennten Modi für vollständige URLs und Komponenten für korrekte Query-String-Behandlung.

Funktionen

  • Percent-Kodierung und Dekodierung in beiden Richtungen
  • Modus vollständige URL: Schrägstriche, ? und & bleiben funktionsfähig
  • Komponenten-Modus: alles außer Buchstaben, Ziffern und - . _ ~ wird kodiert
  • Umlaute, nichtlateinische Schriften und Emoji als UTF-8
  • Verarbeitung clientseitig, keine Daten an Server gesendet

Leerzeichen, kaufmännisches Und oder Umlaute, die unkodiert in einem Query-String stehen, zerlegen Parameter. Dieses Tool wandelt Text in Percent-Encoding um und wieder zurück. Geben Sie Größe & Maß ein, wählen Sie den Modus Component, und Sie erhalten Gr%C3%B6%C3%9Fe%20%26%20Ma%C3%9F, bereit für einen URL-Parameter. Fügen Sie eine kodierte Zeichenkette ein und dekodieren Sie sie, um den echten Wert zu lesen. Beide Richtungen laufen in einem Rust-Modul, das zu WebAssembly kompiliert ist, in Ihrem Browser.

Was URL-Kodierung (Percent-Encoding) ist

Eine URL darf nur einen begrenzten Satz an ASCII-Zeichen enthalten. Alles andere muss kodiert werden: Jedes Byte wird durch ein Prozentzeichen und zwei Hexadezimalziffern ersetzt. Ein Leerzeichen wird zu %20, ein kaufmännisches Und zu %26. Zeichen außerhalb von ASCII werden zuerst in UTF-8-Bytes umgewandelt, daher wird ü zu %C3%BC und ß zu %C3%9F. Das Verfahren ist in RFC 3986 festgelegt.

URL kodieren oder dekodieren: Schritt für Schritt

  1. Wählen Sie den Modus: Full URL (Standard) oder Component. Der Unterschied wird unten erklärt.
  2. Zum Kodieren tippen oder fügen Sie Klartext in das Feld Decoded ein und klicken auf Encode. Das Ergebnis erscheint im Feld Encoded.
  3. Zum Dekodieren fügen Sie eine kodierte Zeichenkette in das Feld Encoded ein und klicken auf Decode. Der lesbare Text erscheint im Feld Decoded.
  4. Mit der Kopier-Schaltfläche neben jedem Feld übernehmen Sie dessen Inhalt.

Vollständige URL oder einzelne Komponente

Manche Zeichen sind reserviert, weil sie die Struktur einer URL bilden: / ? # [ ] @ ! $ & ' ( ) * + , ; =. Das kaufmännische Und trennt Parameter, das Fragezeichen leitet den Query-String ein, die Raute markiert ein Fragment. Ob diese Zeichen kodiert werden müssen, hängt davon ab, ob sie Struktur oder Daten sind.

  • Modus Full URL: für eine komplette Adresse. Reservierte Zeichen und vorhandene %-Sequenzen bleiben erhalten, aus https://example.com/a b?q=x&y=1 wird https://example.com/a%20b?q=x&y=1. Kodiert werden Leerzeichen, Steuerzeichen, Nicht-ASCII-Zeichen und die unsicheren Zeichen " < > ` { } ^ | \.
  • Modus Component: für einen einzelnen Teil einer URL, etwa einen Parameterwert oder ein Pfadsegment. Alles außer Buchstaben, Ziffern und - . _ ~ wird kodiert, auch &, =, /, ? und %. Verwenden Sie ihn für Benutzereingaben, Suchbegriffe, Dateinamen oder eine URL, die als Parameter übergeben wird (zum Beispiel eine redirect_uri).

Schnelltest: Kann der Text ein & enthalten, das zum Wert gehört, nehmen Sie den Komponenten-Modus. Einen einzelnen Wert im Full-URL-Modus zu kodieren, ist die klassische Ursache für abgeschnittene Parameter.

Details und Sonderfälle

  • Leerzeichen wird %20, nicht +: Der Encoder folgt RFC 3986. HTML-Formulare (application/x-www-form-urlencoded) kodieren Leerzeichen als +, und der Decoder lässt + unverändert. Ersetzen Sie + durch Leerzeichen, bevor Sie Formulardaten dekodieren.
  • Strenger als JavaScript: encodeURIComponent lässt ! ' ( ) * unkodiert. Der Komponenten-Modus kodiert auch diese, was immer gültig und sicherer für strikte Parser ist, etwa bei OAuth-Signaturen.
  • Doppelte Kodierung: Ein zweimal kodierter Wert zeigt %2520 statt %20, weil das % selbst zu %25 wurde. Klicken Sie wiederholt auf Decode, bis sich der Text nicht mehr ändert. Der Full-URL-Modus kodiert ein vorhandenes % nicht erneut und kodiert eine bereits kodierte URL daher nicht doppelt.
  • Ungültige Eingaben: Ergibt die Dekodierung Bytes, die kein gültiges UTF-8 sind, zeigt das Tool einen Fehler statt verstümmelten Text. Ein einzelnes % ohne zwei folgende Hexziffern bleibt unverändert.
  • Gleicher Decoder in beiden Modi: Beim Dekodieren wird jede %XX-Sequenz in ihr Zeichen zurückverwandelt, unabhängig vom gewählten Modus.

Anwendungsfälle

  • Sichere Links bauen: Benutzereingaben, Suchbegriffe oder Dateinamen kodieren, bevor sie in einen Query-String kommen.
  • APIs debuggen: eine geloggte Request-URL dekodieren, um die echten Parameterwerte zu lesen, oder einen Wert kodieren, um einen fehlerhaften Aufruf mit curl nachzustellen.
  • OAuth und Weiterleitungen: eine vollständige Callback-URL im Komponenten-Modus als redirect_uri-Parameter kodieren.
  • Tracking-Links prüfen: UTM-Parameter und verschachtelte URLs in Marketing-Links dekodieren, um zu sehen, wohin sie wirklich führen.

Im Vergleich zu Code und Kommandozeile

In JavaScript rufen Sie encodeURIComponent() oder encodeURI() auf, in Python urllib.parse.quote(), in der Shell curl --data-urlencode oder jq -rR @uri. Jede Variante hat eigene Standardregeln für sichere Zeichen, und genau dort entstehen Fehler. Diese Seite zeigt das Ergebnis neben dem Original, mit zwei klar definierten Modi und ohne eine Zeile Code.

Kodierung lokal, ohne Upload

URLs enthalten oft Session-Tokens, API-Schlüssel im Query-String, interne Hostnamen oder personenbezogene Daten wie E-Mail-Adressen. Kodierung und Dekodierung laufen vollständig clientseitig in WebAssembly: Der eingefügte Text wird weder hochgeladen noch protokolliert oder auf einem Server gespeichert. Die Daten überschreiten keine Netzwerkgrenze, eine Übermittlung an Dritte im Sinne der DSGVO findet nicht statt. Nach dem Laden funktioniert das Tool offline.

Häufige Fragen

Was ist der Unterschied zwischen URL-Kodierung und Percent-Encoding?
Es gibt keinen. Percent-Encoding ist der technische Begriff aus RFC 3986, URL-Kodierung oder „URL encode“ der gängige Name.
Wird ein Leerzeichen zu %20 oder +?
%20 ist überall in einer URL korrekt. + steht nur in formularkodierten Query-Strings für ein Leerzeichen. Das Tool erzeugt immer %20.
Welchen Modus nehme ich für einen Parameterwert?
Den Komponenten-Modus. Er kodiert &, = und ?, damit sie Teil des Werts bleiben, statt ihn zu zerteilen.
Warum enthält meine URL %2520?
Sie wurde zweimal kodiert: %20 wurde erneut kodiert, und aus dem % wurde %25. Dekodieren Sie zweimal, um den Ausgangstext zu erhalten.
Werden Umlaute und Emoji unterstützt?
Ja. Zeichen werden als UTF-8-Bytes kodiert: ä wird zu %C3%A4, ein Emoji zu vier kodierten Bytes, und die Dekodierung stellt das Originalzeichen wieder her.
Werden meine Daten an einen Server gesendet?
Nein. Kodieren und Dekodieren laufen in Ihrem Browser über WebAssembly.

Verwandte Tools: Um Zeichen in HTML statt in URLs zu maskieren, nutzen Sie den HTML-Entity-Encoder und -Decoder. Für beliebige Daten als Text ist der Base64-Encoder und -Decoder die richtige Wahl, und der JWT-Decoder hilft, wenn ein Token in einem Query-String auftaucht. Einen kodierten Link für Papier oder Bildschirm verwandelt der QR-Code-Generator in einen scanbaren Code.