§

Text zum Dekodieren eingeben:

Geben Sie den URL-kodierten Text ein, den Sie dekodieren möchten. Das Tool wandelt prozentcodierte Zeichen zurück in ihre ursprüngliche Form um.
§

Output

decoded

Wer in Deutschland Logs analysiert oder Webhooks debuggt, dekodiert URL-Strings am laufenden Band: nginx-Access-Logs einer IONOS- oder Hetzner-Instanz nach DSGVO-konformer IP-Anonymisierung, Apache-Combined-Format auf einem Strato-vServer, UTM-Parameter aus Matomo-Auswertungen statt Google Analytics, Shopify-Webhooks für deutsche Händler nach Umsatzsteuerreform sowie OAuth-state-Parameter zwischen Bundes-ID und einem Fachverfahren. Auch das Open-Source-Portal Open-CoDE.de codiert Issue-Suchfilter mit Umlauten — „qualitätssicherung“ wird im Query-String zu „qualit%C3%A4tssicherung“. Dieser Decoder verarbeitet jeden String ausschließlich lokal: Aktenzeichen, Session-IDs und personenbezogene Tracking-Parameter bleiben im Browser, was nach Auftragsverarbeitungsverträgen und Art. 32 DSGVO der saubere Default ist.

Erweiterte Optionen

+ in Leerzeichen umwandeln

Wenn aktiviert, werden +-Zeichen in Leerzeichen umgewandelt. Dies ist nützlich beim Dekodieren von Abfrageparametern.

Live-Modus

Wenn aktiviert, wird der Text automatisch beim Tippen dekodiert.

Diese Optionen helfen Ihnen zu steuern, wie kodierte Zeichen in Ihren URLs dekodiert werden.

Was ist URL-Dekodierung?

URL-Dekodierung macht die Prozentkodierung rückgängig: Sie liest die %XX-Escape-Sequenzen in einer kodierten URL und wandelt sie zurück in die Zeichen, für die sie stehen. So gewinnt man einen lesbaren Query-String, einen Formularwert oder ein Pfadsegment aus einer URL zurück, die ein Browser, eine API oder eine Log-Zeile kodiert geliefert hat.

Wie funktioniert die URL-Dekodierung?

URL-Dekodierung folgt einem bestimmten Prozess, um prozentkodierte Sequenzen wieder in ihre ursprünglichen Zeichen umzuwandeln:

  1. Die Eingabezeichenkette wird nach prozentkodierten Escape-Sequenzen (%XX) durchsucht
  2. Jedes %XX wird von seinen zwei Hexadezimalziffern zurück in den ursprünglichen Byte-Wert umgewandelt
  3. Aufeinanderfolgende dekodierte Bytes werden zu UTF-8-Zeichen zusammengesetzt (eine Mehrbyte-Sequenz wird zu einem einzigen Zeichen)
  4. Im Kontext einer Abfragezeichenkette wird + zu einem Leerzeichen dekodiert (application/x-www-form-urlencoded), während %2B ein wörtliches + bleibt
  5. Nicht reservierte Zeichen und bereits dekodierter Text werden unverändert durchgereicht

Warum einen URL-Decoder verwenden?

  • Lesbare Ausgabe: wandelt %20, %40 und %3D zurück in Leerzeichen, @ und =, damit Sie sehen, was eine URL wirklich aussagt
  • Internationaler Text: rekonstruiert akzentuierte und nicht-ASCII-Zeichen aus ihren UTF-8-Bytefolgen, sodass %C3%A9 wieder als é lesbar wird
  • Debugging: prüfen Sie die echten Werte in einem Query-String, OAuth-Redirect oder Webhook-Payload, bevor Sie darauf reagieren
  • Standardkonform: dekodiert gemäß RFC 3986 — denselben Regeln, die Browser und Server verwenden — damit Sie genau das sehen, was sie sehen

Was sind häufige Anwendungen der URL-Dekodierung?

URL-Dekodierung ist in vielen Webentwicklungsszenarien unverzichtbar:

  • Formularübermittlungen: die ursprünglichen Feldwerte aus application/x-www-form-urlencoded-GET- und POST-Daten zurücklesen
  • API-Entwicklung: prozentkodierte Pfad- und Query-Parameter entpacken, die an einem API-Endpunkt ankommen
  • Dateisysteme: Dateipfade und -namen wiederherstellen, die zur Übertragung in einer URL prozentkodiert wurden
  • Link-Debugging: geteilte oder protokollierte URLs dekodieren, um die enthaltenen Sonderzeichen und internationalen Texte zu sehen

Wie sieht ein Beispiel für URL-Dekodierung aus?

Hier sind einige häufige Beispiele für URL-Dekodierung: %20 (oder +) wird zu einem Leerzeichen, %40 wird zu @, %23 wird zu #, %26 wird zu & und %3D wird zu =. Eine UTF-8-Sequenz wie %C3%A9 wird zum internationalen Zeichen é.

Was ist Prozentkodierung?

Die Prozentkodierung ist der in RFC 3986 §2.1 definierte Mechanismus zur Darstellung von Zeichen, die innerhalb eines URI unsicher oder reserviert sind. Die Regel ist mechanisch: Jedes Byte, das nicht wörtlich erscheinen darf, wird als Prozentzeichen gefolgt von zwei hexadezimalen Ziffern geschrieben — die Form %XX —, wobei XX der Wert des Bytes ist. Nicht-ASCII-Zeichen wie é werden zuerst als UTF-8-Bytesequenz kodiert und dann wird jedes Byte einzeln prozentkodiert. Entwickler begegnen diesem Thema fast täglich: in Query-Strings, Formularübertragungen, OAuth-Callback-URLs, REST-API-Pfadparametern und überall dort, wo eine URL Satzzeichen, Leerzeichen oder Zeichen außerhalb der nicht reservierten Menge A–Z a–z 0–9 - _ . ~ transportieren muss.

Wie funktioniert das Dekodieren von %C3%A9 zu é tatsächlich?

Nimm den kodierten Query-String ?q=caf%C3%A9&lang=fr. Die Dekodierung ergibt ?q=café&lang=fr. Hier ist der Byte-für-Byte-Durchgang:

  • Eingabe: ?q=caf%C3%A9&lang=fr
  • Ausgabe: ?q=café&lang=fr
  1. %C3 → Byte 0xC3 (binär 11000011) — das führende Byte einer 2-Byte-UTF-8-Sequenz.
  2. %A9 → Byte 0xA9 (binär 10101001) — das Fortsetzungsbyte. Zusammen ist C3 A9 die UTF-8-Kodierung von U+00E9, also é.
  3. Die Zeichen ?, = und & bleiben unverändert, weil sie strukturell sind — sie trennen den Query-String und seine Schlüssel/Wert-Paare. Das Literal caf wird ebenfalls unverändert übernommen, da kleingeschriebene ASCII-Buchstaben zur nicht reservierten Menge gehören.

Was ist der Unterschied zwischen decodeURIComponent und decodeURI?

JavaScript stellt zwei eingebaute Dekodierer bereit, und sie zu verwechseln ist einer der häufigsten Fehler bei der URL-Verarbeitung:

  • decodeURIComponent(str) dekodiert jede prozentkodierte Sequenz, einschließlich reservierter Zeichen wie &, =, ?, / und #. Verwende es für einzelne Query-String-Werte oder Pfadsegmente — niemals für eine ganze URL.
  • decodeURI(str) ist absichtlich konservativ: Es überspringt reservierte Zeichen. Wenn du %26 übergibst, erhältst du die wörtliche Zeichenkette %26 zurück, nicht &. Es ist für vollständige URIs gedacht, bei denen die Struktur einen Hin- und Rückweg überstehen soll.

Faustregel: Wenn die Zeichenkette ein Teilstück einer URL ist (ein einzelner Parameter, ein Fragment, ein kodierter Dateiname), greife zu decodeURIComponent. Dieses Tool verhält sich wie decodeURIComponent — jede %XX-Sequenz in deiner Eingabe wird dekodiert, einschließlich reservierter Zeichen.

Eine URL zu dekodieren bedeutet, zu lesen, was sie wirklich enthält. Fügen Sie oben eine kodierte Zeichenkette ein, und jede %XX-Sequenz verwandelt sich direkt im Browser zurück in ihr Zeichen — so können Sie einen Query-Parameter debuggen, einen OAuth-Redirect prüfen oder einen akzentuierten Dateinamen wiederherstellen, ohne etwas an einen Server zu senden.