Alle Tools laufen in deinem Browser — deine Dateien verlassen nie dein Gerät.
All tools154

Entwicklung

URL-Encoder und -Decoder

URLs und Abfrageparameter prozentkodieren und dekodieren.

Was es macht. URL-Kodierung ersetzt Zeichen, die in einer Adresse nicht vorkommen dürfen, durch ein Prozentzeichen und ihren Hexadezimalwert. Ein Leerzeichen wird zu %20, ein ä zu %C3%A4. Dieses Werkzeug kodiert und dekodiert in beide Richtungen und zerlegt eine URL in ihre Parameter.
Läuft im BrowserKein UploadKeine AnmeldungFunktioniert offline

So benutzt du URL-Encoder und -Decoder

  1. Füg eine URL oder einen Wert zum Kodieren ein, oder eine kodierte Zeichenfolge zum Dekodieren.
  2. Wähl Komponenten-Kodierung für einen einzelnen Parameterwert oder vollständige Kodierung für eine ganze Adresse.
  3. Nutz die Parameter-Ansicht, um eine URL zu zerlegen, Werte zu ändern und sie neu zusammenzusetzen.

Umlaute in URLs

URLs dürfen nach der Norm nur ASCII enthalten. Umlaute müssen deshalb kodiert werden — als UTF-8-Bytes in Prozentschreibweise.

Aus „ä" werden zwei Bytes und damit %C3%A4, aus „ß" wird %C3%9F. Eine Adresse wie /für-anfänger/ steht technisch als /f%C3%BCr-anf%C3%A4nger/ in der Anfrage; moderne Browser zeigen sie in der Adresszeile lesbar an und senden die kodierte Form.

Funktionieren tut das zuverlässig. Trotzdem ist es für Adressen selten eine gute Idee: Die kodierte Form taucht in Protokollen, Analysewerkzeugen und beim Kopieren in E-Mails auf und ist dort unleserlich. Für Slugs empfiehlt sich die Umschrift — „fuer-anfaenger" statt „für-anfänger".

Anders bei Suchbegriffen und Parameterwerten: Dort sind Umlaute normal und richtig kodiert völlig unproblematisch.

Punycode für Domains

Im Domainnamen selbst gelten andere Regeln als im Pfad. Prozentkodierung ist dort nicht zulässig — stattdessen kommt Punycode zum Einsatz.

Punycode bildet Unicode-Domains auf ASCII ab, erkennbar am Präfix xn--. Aus „müller.de" wird „xn--mller-kva.de", aus „köln.de" wird „xn--kln-sna.de". Beide Schreibweisen führen zum selben Ziel.

Für .de-Domains sind Umlaute seit 2004 zugelassen und verbreitet. Zu beachten ist, dass manche ältere Systeme — insbesondere E-Mail-Adressvalidierungen und Zertifikatsprüfungen — mit der Unicode-Form nicht umgehen können und die Punycode-Schreibweise brauchen.

Ein Sicherheitsaspekt kommt dazu: Zeichen aus anderen Schriften können lateinischen täuschend ähnlich sehen. Browser zeigen deshalb bei gemischten Schriften die Punycode-Form an, um Täuschungen sichtbar zu machen.

Wann kodiert man was?

Die häufigste Fehlerquelle ist die Wahl zwischen vollständiger und Komponenten-Kodierung.

Die vollständige Kodierung ist für eine ganze Adresse gedacht und lässt Zeichen mit Struktur­bedeutung — Doppelpunkt, Schrägstrich, Fragezeichen, kaufmännisches Und — unangetastet. Die Komponenten-Kodierung ist für einen einzelnen Wert und kodiert genau diese Zeichen mit.

Der klassische Fehler: eine ganze URL als Parameterwert übergeben, ohne sie als Komponente zu kodieren. Der erste Schrägstrich beendet dann scheinbar den Wert und der Rest wird als eigener Parameter gelesen — bei Weiterleitungen nach dem Anmelden ein häufiger Defekt.

Und das Pluszeichen: In Abfrageparametern steht + historisch für ein Leerzeichen. Ein echtes Plus — etwa in einer Telefonnummer — muss als %2B geschrieben werden, sonst wird daraus beim Auslesen ein Leerzeichen.

Häufige Fragen

Wie schreibe ich Umlaute in einer URL?

Als UTF-8 prozentkodiert: ä wird %C3%A4. Im Domainnamen dagegen als Punycode mit dem Präfix xn--.

Was ist Punycode?

Eine Abbildung von Unicode-Domains auf ASCII. „köln.de" ist technisch „xn--kln-sna.de".

Warum wird mein Plus zu einem Leerzeichen?

Weil + in Abfrageparametern für ein Leerzeichen steht. Ein echtes Plus muss %2B lauten.

Sollte ich Umlaute in Adressen verwenden?

Technisch geht es. Für Slugs ist die Umschrift praktischer, weil die kodierte Form in Protokollen unleserlich wird.

Was ist doppelte Kodierung?

Zweimaliges Kodieren, sodass %20 zu %2520 wird. Beim Dekodieren bleibt dann %20 als sichtbarer Text übrig.

Werden meine Daten gesendet?

Nein, alles läuft in diesem Tab.

Ratgeber zu URL-Encoder und -Decoder