URL-Kodierer und -Dekodierer
Kodieren Sie eine URL prozentual oder dekodieren Sie sie, damit sie in Queries und Formularen funktioniert.
Ihr Text bleibt auf dem Gerät
Nichts, was später zu löschen wäre
Sicher für URLs mit Token
Läuft in jedem modernen Browser
So funktioniert es
- 1
Text oder URL einfügen
Ein Parameterwert zum Kodieren oder eine prozentkodierte Zeichenkette zum Zurücklesen.
- 2
Ziel wählen
Eine ganze URL oder eine einzelne Komponente, die in einer URL sitzt — die Regeln unterscheiden sich.
- 3
Ergebnis kopieren
Nehmen Sie es in einen Link, eine Anfrage, ein Weiterleitungsziel oder einen Konfigurationswert.
Warum dieses Tool
Komponenten- und Ganz-URL-Modus
Kodieren Sie einen einzelnen Parameterwert oder eine ganze Adresse — sie brauchen verschiedene Regeln, und die Verwechslung ist der übliche Fehler.
Leerzeichen ausdrücklich behandelt
Wählen Sie `%20` oder `+`, denn Abfragezeichenfolge und Pfadsegment sind sich uneins, welches ein Leerzeichen bedeutet.
Doppelkodierung vermieden
Bereits kodierte Eingabe wird erkannt, sodass `%20` nicht stillschweigend zu `%2520` wird.
UTF-8 sauber gemacht
Arabische, türkische und umlautbehaftete Zeichen werden zu den richtigen Bytefolgen statt zu entstellter Ausgabe.
Nichts wird hochgeladen
Die Umwandlung geschieht in Ihrem Browser — eine URL mit einem Sitzungstoken erreicht nie einen Server.
Kostenlos, ohne Konto
Keine Anmeldung, kein Wasserzeichen, keine Obergrenze für die Menge.
Es gibt keine einzelne „URL-Kodierung“ — es gibt zwei, und sie widersprechen einander
Das ist die Tatsache, die den größten Teil der Verwirrung um diese Aufgabe auflöst. Eine ganze URL zu kodieren und ein Stück zu kodieren, das in eine URL hineingeht, sind verschiedene Vorgänge mit verschiedenen Regeln, und die falsche zu wählen ist der häufigste Weg, einen Link zu zerstören. Eine vollständige Adresse braucht ihre `/`, `?`, `&`, `#` und `:` unangetastet, denn das ist die Zeichensetzung, die der Adresse ihre Gestalt gibt. Ein einzelner Wert — ein Suchbegriff, ein Weiterleitungsziel, ein Dateiname in einem Parameter — braucht genau diese Zeichen maskiert, denn innerhalb eines Werts sind sie Daten und keine Struktur. Kodieren Sie eine ganze URL mit Komponentenregeln, und Sie bekommen eine unbrauchbare Kette aus `%2F` und `%3A`. Kodieren Sie eine Komponente mit Ganz-URL-Regeln, und ein Schrägstrich in Ihrem Wert wird stillschweigend zum Pfadtrenner. Entscheiden Sie vorher, welches von beidem Sie tun.
Wo in der Adresse Sie sind, entscheidet, was maskiert werden muss
Das folgt aus dem Vorigen und verdient es, direkt gesagt zu werden, weil es die scheinbar widersprüchlichen Fälle erklärt. Ein Schrägstrich in einem Pfad ist ein Trenner und muss ein Schrägstrich bleiben; ein Schrägstrich im Wert eines Abfrageparameters ist bloß ein Zeichen und darf bleiben, obwohl Maskieren sicherer ist. Ein Fragezeichen im Pfad eröffnet die Abfragezeichenfolge; dasselbe Zeichen innerhalb eines Parameterwerts muss `%3F` sein, sonst wird alles danach als weitere Parameter gelesen. Das Kaufmanns-Und in einem Wert ist der schärfste Fall: Lassen Sie es roh, und der Wert zerfällt in zwei — eine Suche nach „R&D“ kommt als Parameter namens `D` an. Die mitzunehmende Regel: Reservierte Zeichen sind nur dort reserviert, wo sie ihre Aufgabe erfüllen können, und in einem Wert können sie das nicht — genau deshalb müssen sie dort maskiert werden.
Das Pluszeichen bedeutet zweierlei, und beides ist richtig
Das Leerzeichen ist das Zeichen, dem alle zuerst begegnen, und das mit der unordentlichsten Geschichte. Die Prozentkodierung sagt, ein Leerzeichen sei `%20`, und in einem Pfadsegment ist das die einzig richtige Antwort — ein wörtliches `+` in einem Pfad ist ein Pluszeichen und sonst nichts. Doch das Absenden von HTML-Formularen definierte eine eigene Kodierung für Abfragezeichenfolgen, in der ein Leerzeichen `+` ist und ein wörtliches Plus als `%2B` geschrieben werden muss. Beide Konventionen leben, beide sind in ihrem Kontext richtig, und Dekoder behandeln sie unterschiedlich: Im Abfragemodus wird `+` zum Leerzeichen, im Pfadmodus bleibt es stehen. Deshalb kommt ein Wert mit einem Plus — eine Telefonnummer im internationalen Format, eine markierte Adresse wie `name+arbeit@example.com` — so oft mit einem Leerzeichen statt des Plus an. Kann Ihr Wert ein wörtliches Plus enthalten, maskieren Sie es als `%2B` und hängen Sie nicht länger davon ab, welche Konvention der Empfänger gewählt hat.
Doppelkodierung ist der Fehler, den Sie tatsächlich treffen werden
Weil `%` eine Escape-Sequenz eröffnet, muss das Prozentzeichen selbst kodiert werden, als `%25`. Diese eine Regel erzeugt den häufigsten Ausfall in diesem ganzen Gebiet. Kodieren Sie eine Zeichenkette zweimal, wird aus `%20` ein `%2520`, denn das `%` des ersten Ergebnisses wird beim zweiten Durchgang maskiert. Das Ergebnis dekodiert einmal zu `%20` — sichtbar, wörtlich, mitten in Ihrem Wert — statt zu einem Leerzeichen. Das geschieht ständig: Eine URL wird von einer Anwendung kodiert und dann erneut von einem Framework, einem Weiterleitungsdienst oder einem Link-Tracker, der annimmt, er habe Rohtext bekommen. Das Symptom ist ein Link, der an einer Stelle funktioniert und anderswo `%2520` oder `%253A` zeigt. Sehen Sie eine `25` vor einer weiteren Escape-Sequenz sitzen, blicken Sie auf eine Doppelkodierung — und die Lösung ist, einen Schritt zu entfernen, nicht zweimal zu dekodieren.
Zeichen außerhalb von ASCII werden als Bytes kodiert, nicht als Zeichen
Die Prozentkodierung kennt keine Buchstaben. Sie maskiert Bytes, das heißt, jedes Zeichen außerhalb von ASCII muss zuerst zu Bytes werden, und die Norm dafür ist UTF-8. Deshalb wird ein einzelner arabischer Buchstabe zu drei Escape-Sequenzen und ein Emoji zu vieren — Sie sehen seine UTF-8-Bytes einzeln ausgeschrieben. Die wissenswerte Folge: Ein Kodierer mit einem anderen Zeichensatz erzeugt für dieselbe Eingabe eine andere Ausgabe, und so kommt es, dass eine URL mit einem Namen darin auf einem System funktioniert und auf einem anderen einen 404 liefert. Es gibt zudem einen zweiten Mechanismus, den man damit verwechselt: Ein Domainname außerhalb von ASCII wird gar nicht prozentkodiert, sondern in Punycode überführt — ein völlig eigenes Verfahren, das die gelegentlich sichtbaren `xn--`-Präfixe erzeugt. Pfad und Abfrage nutzen Prozentkodierung; der Host nicht.
Warum lokales Kodieren bei dieser Art Text zählt
Denken Sie an die URLs, die Menschen in einen Kodierer einfügen. Es ist eine Rückrufadresse mit einem Sitzungstoken in der Abfragezeichenfolge. Es ist ein signierter Link mit einem ablaufenden Signaturparameter. Es ist eine URL zum Zurücksetzen eines Passworts, an der jemand gerade debuggt, ein Webhook-Endpunkt mit einem gemeinsamen Geheimnis, eine interne Verwaltungsadresse, die einen Hostnamen preisgibt. URLs tragen Zugangsdaten in ihren Abfragezeichenfolgen weit häufiger, als bemerkt wird — gerade weil eine Abfragezeichenfolge nach Konfiguration aussieht und nicht nach einem Geheimnis. Eine davon in einen gehosteten Kodierer einzufügen schickt alles an Dritte, und enthält jene URL ein funktionierendes Token, haben Sie soeben ein aktives Zugangsdatum geteilt. Dieses Werkzeug wandelt auf der Seite um und überträgt nichts, nachprüfbar im Netzwerk-Tab der Entwicklerwerkzeuge.
Häufige Fehler, die Sie vermeiden sollten
- Eine ganze URL mit Komponentenregeln kodieren. `/` und `:` werden zu `%2F` und `%3A`, und die Adresse hört auf, eine Adresse zu sein — ganze URLs und Werte darin brauchen verschiedene Regeln.
- Ein Kaufmanns-Und roh im Wert eines Parameters lassen. Es zerteilt den Wert, sodass eine Suche nach „R&D“ als zusätzlicher Parameter `D` ankommt; maskieren Sie es als `%26`.
- Annehmen, `+` bedeute immer ein Leerzeichen. In einer Abfragezeichenfolge ja, in einem Pfad nein — ein wörtliches Plus in einer Telefonnummer oder markierten Adresse gehört unabhängig vom Kontext als `%2B` geschrieben.
- Etwas kodieren, das bereits kodiert war. Das `%` wird als `%25` maskiert, also wird aus `%20` ein `%2520`, das als sichtbarer Text statt als Leerzeichen dekodiert — entfernen Sie einen Schritt, statt zweimal zu dekodieren.
- Eine Rückruf- oder Zurücksetzungs-URL in einen gehosteten Kodierer einfügen. Abfragezeichenfolgen tragen Sitzungstoken und Signaturen weit häufiger als bemerkt; kodieren Sie lokal.
Im Vergleich
| Kriterium | Dieses Werkzeug | Online-Kodierer | Die Browserkonsole |
|---|---|---|---|
| Inhalt an einen Server gesendet | Nie | Meistens ja | Nein |
| Komponenten- und Ganz-URL-Modus | Beide, ausdrücklich | Oft nur einer | Zwei getrennte Funktionen |
| Leerzeichen-Konvention wählbar | Ja | Selten | Nein |
| Doppelkodierung erkannt | Ja | Selten | Nein |
| Konto oder Anmeldung | Nicht nötig | Oft verlangt | Nicht nötig |
| Preis | Kostenlos | Kostenlos / Bezahltarife | Kostenlos |
Funktionen
Kodieren und dekodieren
Beide Richtungen an einem Ort, Eingabe und Ausgabe nebeneinander.
Ganze URL gegen Komponente
Erstere bewahrt `/`, `?` und `&`; letztere maskiert sie, denn in einem Wert sind sie Daten.
Leerzeichen als `%20` oder `+`
Passen Sie sich der Konvention des Kontexts an, durch den der Wert reist.
Korrekte UTF-8-Bytefolgen
Zeichen außerhalb von ASCII werden Byte für Byte kodiert, wie die Norm es verlangt.
Verträgt lange Eingaben
Ganze Abfragezeichenfolgen und lange Weiterleitungsketten werden ohne Größenobergrenze umgewandelt.
Fehlerhafte Eingabe gemeldet
Ein einzelnes `%` oder eine unvollständige Escape-Sequenz wird gemeldet statt still verworfen.
Nichts zu installieren
Keine Konsole, keine Laufzeitumgebung, keine Abhängigkeiten — es läuft auf der Webseite.
Bereit für Arabisch und RTL
Vollständige Oberfläche in acht Sprachen, darunter Arabisch von rechts nach links.
Standardmäßig sicher
Über HTTPS ausgeliefert, ohne Inhaltsverfolgung und ohne Upload an Dritte.
Wer es nutzt
Entwicklerinnen und Entwickler
Einen Abfrageparameter bauen, der übersteht, was das empfangende System mit ihm anstellt.
API-Integratoren
Ein Weiterleitungsziel oder eine Rückrufadresse kodieren, ohne die umgebende URL zu zerstören.
Marketing-Teams
Kampagnenparameter absichern, wenn der Wert Leerzeichen, Kaufmanns-Und oder nichtlateinischen Text enthält.
Support-Engineering
Einen von Kundenseite gelieferten Link zurücklesen, um zu sehen, was die Parameter wirklich sagen.
Häufig Gestellte Fragen
Nein. Alles läuft lokal im Browser — Ihr Text wird nie hochgeladen, gespeichert oder geteilt.
Ja — komplett kostenlos, ohne Konto und ohne Limits.