Zum Inhalt springen
UtiliaTools

Was ist URL-Encoding? Ein Leitfaden zur Prozentkodierung in Webadressen

URL-Encoding (Prozentkodierung) ist der Mechanismus, der sicherstellt, dass Webadressen sicher durch das Internet reisen, indem Sonderzeichen in ein universell übertragbares Format umgewandelt werden. Jeder Webentwickler begegnet ihm täglich.

Warum URL-Encoding existiert

URLs wurden ursprünglich für einen begrenzten Zeichensatz aus dem ASCII-Repertoire konzipiert. Das moderne Web muss jedoch Daten übertragen, die Leerzeichen, akzentuierte Zeichen, Emojis und Symbole enthalten — all das hat in einer rohen URL nichts zu suchen. URL-Encoding löst dieses Problem, indem unsichere Zeichen durch ein % gefolgt von zwei hexadezimalen Ziffern ersetzt werden.

Wie Prozentkodierung funktioniert

Jedes zu kodierende Zeichen wird in seinen Byte-Wert (in UTF-8 bei den meisten modernen Systemen) umgewandelt und als %XX dargestellt, wobei XX der Hexadezimalwert ist. Zum Beispiel:

  • Ein Leerzeichen wird zu %20
  • Ein Und-Zeichen & wird zu %26
  • Das Euro-Zeichen € wird zu %E2%82%AC (drei Bytes in UTF-8)
  • Ein Schrägstrich / wird zu %2F

Manche Zeichen sind immer sicher und brauchen nie kodiert zu werden: Buchstaben (A-Z, a-z), Ziffern (0-9) und einige Sonderzeichen wie -, _, . und ~.

Reservierte und nicht reservierte Zeichen

RFC 3986 definiert zwei Kategorien:

  • Nicht reservierte Zeichen: Buchstaben, Ziffern, -, _, ., ~ — diese brauchen nie Kodierung.
  • Reservierte Zeichen: :, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;, = — diese haben eine strukturelle Bedeutung in URLs und müssen kodiert werden, wenn sie als Daten statt als Trennzeichen verwendet werden.

Wann URLs kodiert werden müssen

Häufige Szenarien, die URL-Encoding erfordern:

  • Query-Parameter: Werte in ?key=value-Paaren müssen kodiert werden, um Leerzeichen und Sonderzeichen zu verarbeiten.
  • Pfadsegmente: Dateinamen oder Slugs mit Nicht-ASCII-Zeichen benötigen Kodierung.
  • Formularübermittlungen: HTML-Formulare mit application/x-www-form-urlencoded verwenden eine leicht andere Kodierung, bei der Leerzeichen zu + werden.
  • Weiterleitungen: Serverseitige Redirects mit benutzergenerierten Inhalten in der URL.

Häufige Fallstricke

  • Doppelte Kodierung: Eine bereits kodierte URL erneut zu kodieren, erzeugt %25-Sequenzen, die die ursprünglichen Daten beschädigen.
  • Die gesamte URL kodieren: Einzelne Komponenten (Pfad, Query-Werte) sollten kodiert werden, nicht die gesamte URL mit :// und ?.
  • Pluszeichen-Verwirrung: In Query-Strings steht + in application/x-www-form-urlencoded für ein Leerzeichen, im URL-Pfad jedoch für ein echtes +.

Häufig gestellte Fragen

Was ist der Unterschied zwischen URL-Encoding und HTML-Encoding?

URL-Encoding konvertiert Zeichen für die sichere Übertragung in Webadressen mit Prozent-Notation (%XX). HTML-Encoding konvertiert Zeichen für die sichere Anzeige in HTML mit Entities wie & und <.

Sollte ich die gesamte URL oder nur Teile davon kodieren?

Kodieren Sie einzelne Komponenten — die Pfadsegmente und Query-Parameterwerte — nicht die gesamte URL. Protokoll, Host und strukturelle Zeichen wie ? und & sollten unkodiert bleiben.

Warum wird ein Leerzeichen manchmal zu %20 und manchmal zu +?

Bei der Prozentkodierung (RFC 3986) ist ein Leerzeichen %20. Bei der Formular-Kodierung (application/x-www-form-urlencoded) wird ein Leerzeichen als + dargestellt. Beides ist gültig, wird aber in unterschiedlichen Kontexten verwendet.

Verwandte Leitfäden

Tool ausprobieren

Nutzen Sie unser kostenloses Tool, um sofort loszulegen.

URL Kodieren & Dekodieren →

Zuletzt aktualisiert am 2026-09-27