Zum Hauptinhalt springen

URL kodieren / dekodieren

URL-Parameter mit encodeURIComponent kodieren und dekodieren.

Ein Suchbegriff, sicher für den Query-String

Ein einzelner Wert, kodiert, damit er hinter <code>?q=</code> passt, ohne die URL zu zerstören.

Eingabe
台北 101 & friends?
Ausgabe
%E5%8F%B0%E5%8C%97%20101%20%26%20friends%3F

Aus & wurde %26, aus ? wurde %3F. Genau darum geht es: Unkodiert hätte der Server sie als neuen Parameter und als Ende des Pfads gelesen.

URL-Encoder / -Decoder

URLs dürfen nur bestimmte Zeichen enthalten — Leerzeichen, Nicht-ASCII-Text, & oder ? zerstören sie. URL-Kodierung wandelt diese in die %XX-Form um, damit die URL korrekt übertragen und geparst wird. Dieses Tool wechselt mit einem Klick zwischen Kodieren und Dekodieren.

So funktioniert es

  1. Zum Kodieren: Text oder Parameter mit Sonderzeichen einfügen und auf Kodieren klicken.
  2. Zum Dekodieren: einen %XX-String einfügen und auf Dekodieren klicken.
  3. Um eine ganze URL statt eines Parameters zu kodieren, die Option für encodeURI aktivieren.

Typische Anwendungsfälle

  • Query-Strings mit Nicht-ASCII- oder Sonderzeichen erstellen.
  • Eine aus der Adresszeile kopierte kodierte URL lesen.
  • Parameterkodierung in API-Anfragen debuggen.

Nur den Wert kodieren, nicht die ganze URL

Zwei typische Aufgaben: Du packst einen Query-Parameter mit Leerzeichen, Umlauten, & oder ? in eine URL — etwa einen Suchbegriff oder ein API-Argument — oder du dekodierst eine lange %E4%B8%AD…-Kette aus einem Log zurück in lesbaren Text. Die klassische Falle ist der Umfang: Du solltest nur den Wert eines Parameters kodieren, nicht die komplette URL.

  • Wirfst du die ganze Adresse hinein, werden auch ://, ? und = kodiert — der Link ist kaputt.
  • Kodierst du etwas bereits Kodiertes erneut, entsteht doppelte Kodierung: aus % wird %25, und am anderen Ende kommt Kauderwelsch an.

Kodiere jeden Parameterwert einzeln und setze die URL danach mit & und = wieder zusammen.

Welche Zeichen werden ersetzt und welche nicht?

Die tatsächliche Ausgabe dieser Seite zieht die Grenze am besten. hello worldhello%20world, a+b=ca%2Bb%3Dc, 100%100%25, ?q=x&r=y%3Fq%3Dx%26r%3Dy. Aber ~_.- kommt unverändert zurück: Diese vier sind unreserved, ein korrekter Encoder muss sie in Ruhe lassen. Beachte, dass das Plus selbst zu %2B wird — bliebe es stehen, würde jeder Decoder, der + als Leerzeichen liest, den Wert stillschweigend zerstören.

Häufig gestellte Fragen

Was ist der Unterschied zwischen encodeURIComponent und encodeURI?

encodeURIComponent kodiert auch Strukturzeichen wie / ? & = und eignet sich für einen einzelnen Parameterwert; encodeURI behält diese Zeichen und eignet sich für eine ganze URL.

Warum wird ein Leerzeichen zu %20?

Leerzeichen müssen in URLs kodiert werden; der Standard ist %20. Manche Formularkodierungen nutzen stattdessen +; dieses Tool verwendet das Standard-%20.

Müssen Nicht-ASCII-URLs kodiert werden?

Ja. Im Code übergeben oder in HTML-Attributen platziert, brauchen sie meist eine Prozentkodierung (z. B. %C3%A4), um korrekt geparst zu werden.

Werden meine Daten hochgeladen?

Nein. Kodieren und Dekodieren geschehen lokal im Browser, nichts wird an einen Server gesendet.

Weiterlesen

URL-Kodierung erklärt: Prozentkodierung, Leerzeichen (%20) & online kodieren →

Dieses Tool einbetten

Binde dieses Tool kostenlos auf deiner Website oder deinem Blog ein — kopiere einfach den Code unten (er enthält einen Link zurück zu dieser Seite).