URL-Encoding kodieren und dekodieren

Kodiere oder dekodiere URL-Parameter und Pfadsegmente per Prozentkodierung. Mit Beispielen, Base64-Abgrenzung und Browser-Verarbeitung.

Ergebnis
  • Das Werkzeug verarbeitet einzelne URL-Bestandteile, keine kompletten URLs.
  • Im Formular-/Query-Kontext steht + fuer ein Leerzeichen; in Pfadsegmenten bleibt + ein normales Pluszeichen.
  • Technische Grundlage ist JavaScript-Komponentenkodierung per encodeURIComponent/decodeURIComponent.
  • Die Verarbeitung passiert vollstaendig im Browser - deine Eingaben verlassen die Seite nicht.

URL-Encoding im Browser

Dieses Werkzeug kodiert einzelne URL-Bestandteile per Prozentkodierung und dekodiert prozentkodierte Werte wieder zu lesbarem Text. Es ist für Werte gedacht, die in einen Query-Parameter, eine formularnahe Query-Schreibweise oder ein einzelnes Pfadsegment sollen.

Die Eingabe steht im Tool zuerst. Füge den Text oder die Prozentkodierung ein, wähle Modus und Kontext, und prüfe dann die Ausgabe. Die Verarbeitung läuft im Browser; deine Eingaben werden für diese Umwandlung nicht an einen Server gesendet. Das ist ein Datenschutzvorteil, ersetzt aber keine eigene Prüfung, ob sensible Werte überhaupt in URLs, Logs oder Tickets gehören.

Eingabe und Modi

Im Modus Kodieren wird Text in eine URL-taugliche Schreibweise umgewandelt. Umlaute und andere Unicode-Zeichen werden UTF-8-basiert kodiert, zum Beispiel ü als %C3%BC. Reservierte Zeichen wie &, ?, #, / oder = werden geschützt, wenn sie als Daten innerhalb eines URL-Bestandteils gemeint sind. Technisch nutzt das Werkzeug JavaScript-Komponentenkodierung per encodeURIComponent, ohne zusätzliche RFC3986-Nachkodierung von Zeichen wie !, ', (, ) oder *.

Im Modus Dekodieren macht das Werkzeug Prozentkodierung wieder lesbar. Bei ungültigen Prozentsequenzen wie %, %2 oder %GG erscheint eine Fehlermeldung, statt die Eingabe still zu verändern.

Der Kontext ist wichtig. Query-Parameter-Wert passt für einzelne Werte in ?q=... und kodiert Leerzeichen als %20. Formular-/Query-Wert behandelt Leerzeichen wie URLSearchParams bzw. application/x-www-form-urlencoded als +. Pfadsegment ist für genau ein Segment zwischen zwei Slashes gedacht; ein Slash im Eingabetext wird dann als Datenzeichen kodiert.

Ergebnisse und Beispiele

Ein Query-Parameter-Wert wie strom & gas wird im Standardkontext zu strom%20%26%20gas. Das & bleibt dadurch Teil des Suchwerts und trennt nicht versehentlich den nächsten Parameter ab.

In der formularnahen Query-Schreibweise wird derselbe Wert zu strom+%26+gas. Dieser Kontext ist sinnvoll, wenn du bewusst mit Formular- oder URLSearchParams-naher Serialisierung arbeitest. Ein rohes + im Decoder wird dort als Leerzeichen gelesen; ein echtes Pluszeichen muss als %2B vorliegen.

Für ein Pfadsegment wie ordner/name mit leerzeichen lautet die Ausgabe ordner%2Fname%20mit%20leerzeichen. Der kodierte Slash ist hier Absicht: Er steht für ein Datenzeichen im Segment. Wenn du mehrere Pfadsegmente bauen willst, kodiere jedes Segment einzeln und setze die Slashes danach als Strukturzeichen dazwischen.

Wann URL-Encoding passt

URL-Encoding passt, wenn Zeichen innerhalb einer Adresse nicht als URL-Syntax wirken sollen. Das betrifft vor allem einzelne Bestandteile: Query-Werte, Pfadsegmente, Fragmentwerte oder Formularwerte. Für komplette URLs ist das Werkzeug nicht gedacht. Eine ganze Adresse wie https://example.com/?q=strom & gas braucht eine gezielte Behandlung ihrer Bestandteile, keine blinde Kodierung des gesamten Strings.

Wenn du erst entscheiden musst, ob Base64, Base64url, Hex oder URL-Encoding gemeint ist, hilft der Ratgeber Daten kodieren: Base64, Hex und URL. Zurück zur Werkzeugübersicht geht es über den DevToolkit-Tool-Hub.

Unterschied zu Base64, Base64url und Hex

URL-Encoding schützt Zeichen in URL-Bestandteilen. Base64 und das Base64-Werkzeug transportieren Bytes als Text; die URL-sichere Base64-Variante ersetzt dabei Zeichen wie + und /, löst aber nicht automatisch das Problem reservierter URL-Zeichen in normalen Query-Werten. Hexadezimal ist wieder etwas anderes: Es macht Byte- oder Zahlenwerte kompakt lesbar, ist aber kein Ersatz für Prozentkodierung in URLs.

Typische Fehler

Doppelte Kodierung erkennst du oft an Mustern wie %2520. Einmal dekodiert wird daraus %20; der Wert ist dann vermutlich noch nicht vollständig lesbar oder wurde vor dem Speichern schon einmal kodiert.

Ein zweiter Fehler ist der falsche Kontext für +. In normalen Pfadsegmenten und im Standard-Query-Kontext bleibt + ein Pluszeichen. In formularnahen Query-Werten steht ein rohes + dagegen für ein Leerzeichen.

Prüfe außerdem, ob du wirklich einen einzelnen URL-Bestandteil eingibst. Reservierte Zeichen sind nicht generell “verboten”; sie haben nur je nach Position eine Strukturrolle. Genau deshalb ist der Kontext wichtiger als ein pauschales “URL sicher machen”.

Quellen

  • RFC 3986 — Uniform Resource Identifier (URI): Generic Syntax

    IETFNorm§2.1 definiert die Prozentkodierung (% plus zwei Hexziffern), §2.3 die reservierungsfreien Zeichen A–Z a–z 0–9 - . _ ~, die nicht kodiert werden. Das ist der Zeichenvorrat, den encodeURIComponent unangetastet lässt.Abruf: 29.08.2026

  • URL Standard — application/x-www-form-urlencoded

    WHATWGNormBelegt die Sonderrolle des Pluszeichens: nur im Formular-/Query-Kontext steht + für ein Leerzeichen. In Pfadsegmenten gilt RFC 3986, dort ist + ein gewöhnliches Zeichen. Genau diese Unterscheidung bilden die drei Kontexte des Werkzeugs ab.Abruf: 29.08.2026