Pack Camo

URL kodieren & dekodieren

URLs und Query-Strings per Prozentkodierung kodieren und dekodieren und eine URL in ihre Teile zerlegen. Alles läuft lokal — nichts wird hochgeladen.

Eingang
Text · URL
Ausgang
Encoded · decoded · parsed parameters

Für einen Wert oder ein Pfadsegment: & = ? / # werden kodiert.

Text

40 Zeichen

Kodiert

76 Zeichen

Caf%C3%A9%20%26%20cr%C3%A8me%3F%2050%25%20off%20%2F%20today%20only%20%23deal

URLs kodieren und dekodieren – und die ganze URL zerlegen

Dieser URL Encoder und Decoder wandelt Text beim Tippen in Prozentkodierung um und zurück, in den drei Varianten, die das Web tatsächlich verwendet. Der Decoder kommt mit der fehlerhaften Eingabe zurecht, von der echte Logs voll sind – ein verirrtes % oder eine abgeschnittene UTF-8-Sequenz – und sagt Ihnen genau, wo sie steckt. Ein URL-Parser zerlegt jede Adresse in ihre Bestandteile und lässt Sie den Query-String als Tabelle bearbeiten. Alles läuft lokal in Ihrem Browser.

So kodieren oder dekodieren Sie URLs

  1. Wählen Sie Kodieren, Dekodieren oder URL zerlegen.
  2. Wählen Sie beim Kodieren die Methode: Komponente für einen einzelnen Query-Wert oder ein Pfadsegment, Ganze URL, um eine Adresse zu bereinigen, ohne sie zu zerstören, oder Formular, um zu kodieren wie ein HTML-Formular.
  3. Entscheiden Sie beim Dekodieren, ob + ein Leerzeichen bedeutet. In Query-Strings und Formulardaten ja, in Pfaden nicht.
  4. Kopieren Sie das Ergebnis oder übernehmen Sie es als Eingabe, um den Hin- und Rückweg zu prüfen. Unter URL zerlegen bearbeiten, ergänzen oder entfernen Sie Query-Parameter, und die URL wird für Sie neu zusammengesetzt.

Was Prozentkodierung macht

Eine URL darf nur eine begrenzte Menge an ASCII-Zeichen enthalten, und mehrere davon haben eine Aufgabe: / trennt Pfadsegmente, ? leitet die Query ein, & und = trennen Parameter, und # leitet das Fragment ein. Jedes andere Zeichen, oder ein reserviertes, das als Daten dient, wird als % gefolgt von zwei Hexziffern für jedes seiner UTF-8-Bytes geschrieben. Ein Leerzeichen wird zu %20, & zu %26, und é, in UTF-8 zwei Bytes, zu %C3%A9.

Hier Fehler zu machen ist ein Klassiker: Eine Suche nach „Salz & Pfeffer“ kommt nur als „Salz “ an, weil das unkodierte & einen neuen Parameter begonnen hat.

encodeURIComponent, encodeURI oder Formularkodierung?

Komponente (encodeURIComponent)
Kodiert alles außer Buchstaben, Ziffern und - _ . ! ~ * ' ( ). Verwenden Sie sie für ein einzelnes Stück einer URL: einen Query-Wert, ein Pfadsegment, eine als Parameter übergebene Weiterleitungs-URL. In neun von zehn Fällen die richtige Wahl.
Ganze URL (encodeURI)
Lässt die Zeichen, die einer URL ihre Struktur geben (: / ? # & = und so weiter), in Ruhe und kodiert den Rest, etwa Leerzeichen und Nicht-ASCII-Buchstaben. Verwenden Sie sie für eine vollständige Adresse, die gültig werden soll, nie für einen einzelnen Wert – & oder = darin werden nicht kodiert.
Formular (application/x-www-form-urlencoded)
Was Browser beim Absenden eines Formulars senden und was URLSearchParams erzeugt: Leerzeichen werden zu +, und nur Buchstaben, Ziffern und * - . _ bleiben unverändert.

Dekodieren, Pluszeichen und fehlerhafte Sequenzen

Das Zeichen + bedeutet nur im Query-String und in Formulardaten ein Leerzeichen; in einem Pfad ist es ein echtes Plus. Deshalb hat das Dekodieren einen Schalter + als Leerzeichen, statt zu raten. Zeigt ein dekodierter Wert Pluszeichen, wo Leerzeichen sein sollten, schalten Sie ihn ein.

JavaScripts decodeURIComponent wirft „URI malformed“ beim ersten %, auf das keine zwei Hexziffern folgen – „100%“ genügt –, oder bei einer Bytefolge, die kein gültiges UTF-8 ist, etwa Text, der als Latin-1 prozentkodiert wurde (%E9 für é). Dieser Decoder macht stattdessen weiter: Er dekodiert alles Gültige, lässt die fehlerhaften Stellen unverändert und listet jede mit Zeile und Spalte auf, damit Sie sie in einer langen Logzeile finden.

Eine URL lesen und bearbeiten

Der Parser zeigt Protokoll, Zugangsdaten, Host, Port, Pfad, Query und Fragment jeder absoluten URL an, dekodiert und damit lesbar. Query-Parameter erscheinen als Tabelle aus Name und Wert: Ändern Sie einen Wert, fügen Sie einen Parameter hinzu oder löschen Sie einen, und die vollständige URL wird mit korrekter Kodierung neu aufgebaut. So entfernen Sie schnell Tracking-Parameter wie utm_source oder sehen, wohin ein langer Weiterleitungslink wirklich führt.

Für andere Kodierungen gibt es den Base64 Encoder und den HTML-Entity Encoder, der Text für HTML maskiert statt für URLs.

Häufige Fragen

Was ist URL-Kodierung?
URL-Kodierung oder Prozentkodierung ersetzt Zeichen, die in einer URL nicht erlaubt sind oder eine besondere Bedeutung haben, durch % gefolgt vom Hexwert jedes ihrer UTF-8-Bytes. Ein Leerzeichen wird zu %20 und & zu %26.
Wird ein Leerzeichen als %20 oder als + kodiert?
Beides ist richtig, an unterschiedlichen Stellen. %20 funktioniert überall. + bedeutet nur in Query-Strings und Formularübermittlungen ein Leerzeichen, und genau das erzeugt die Formularkodierung; in einem Pfad ist + ein echtes Pluszeichen.
Was ist der Unterschied zwischen encodeURI und encodeURIComponent?
encodeURIComponent kodiert reservierte Zeichen wie / ? & = und #, ist also für einen einzelnen Wert innerhalb einer URL gedacht. encodeURI lässt sie in Ruhe und ist für eine vollständige URL gedacht, deren Struktur erhalten bleiben muss.
Warum erhalte ich den Fehler „URI malformed“?
Die Eingabe enthält ein %, auf das keine zwei Hexziffern folgen, oder prozentkodierte Bytes, die kein gültiges UTF-8 sind. Dieses Tool dekodiert den Rest trotzdem und zeigt, wo jedes Problem liegt.
Wie dekodiere ich URL-Parameter?
Fügen Sie die URL unter URL zerlegen ein, um jeden Query-Parameter dekodiert in einer Tabelle zu sehen, oder fügen Sie nur den Query-String unter Dekodieren mit eingeschaltetem + als Leerzeichen ein.
Welche Zeichen müssen in einer URL nicht kodiert werden?
Die Buchstaben A bis Z und a bis z, Ziffern sowie - . _ ~ sind immer sicher. Alles andere sollte kodiert werden, wenn es Daten sind und nicht Teil der URL-Struktur.
Wird meine URL irgendwohin gesendet?
Nein. Kodieren, Dekodieren und Zerlegen laufen in Ihrem Browser, URLs mit Tokens oder personenbezogenen Daten verlassen Ihr Gerät also nie.