Zum Inhalt springen
Case Converter Online
de

URL kodieren und dekodieren

Prozentkodiere Text, damit er sicher in einem Link stehen kann, oder dekodiere eine kodierte URL zurück in normalen Text. Wähl zwischen einem einzelnen Wert, einer ganzen URL und Formulardaten.

Funktioniert in beide Richtungen. Kaputte %-Folgen bleiben beim Dekodieren, wie sie sind.

Was URL-Kodierung ist

Eine Webadresse darf nur eine kleine Menge von Zeichen enthalten: Buchstaben, Ziffern und ein paar Symbole wie -, ., _ und ~. Andere Zeichen haben besondere Aufgaben. ? beginnt den Query-String, & trennt Parameter, = verbindet einen Namen mit einem Wert und # beginnt ein Fragment. Leerzeichen und Buchstaben außerhalb des englischen Alphabets, also auch ä, ö, ü und ß, sind gar nicht erlaubt.

Die URL-Kodierung, auch Prozentkodierung genannt, löst das. Jedes unsichere Zeichen wird in UTF-8-Bytes umgewandelt, und jedes Byte wird als % plus zwei Hex-Ziffern geschrieben. Ein Leerzeichen wird zu %20, & zu %26, é zu %C3%A9 und ü zu %C3%BC.

So nutzt du den URL Encoder

Kodieren. Tippe Text in Normaler Text oder füge ihn ein. Die kodierte Version erscheint in URL-kodiert. Klicke auf Kopieren, um sie zu übernehmen.

Dekodieren. Füge kodierten Text in URL-kodiert ein. Der lesbare Text erscheint links.

Unter Was kodierst du? wählst du im Menü unter den Feldern den Modus:

  • Ein Wert oder Teil einer URL (encodeURIComponent) ist meistens die richtige Wahl. Kodiert alles außer Buchstaben, Ziffern und - _ . ~. Nimm das für Suchbegriffe, Parameterwerte und Pfadabschnitte.
  • Eine ganze URL, : / ? & = bleiben (encodeURI) lässt die Struktur der Adresse in Ruhe und kodiert nur Leerzeichen, Umlaute und ähnliche Zeichen.
  • Formulardaten, Leerzeichen als + (x-www-form-urlencoded) entspricht dem, was ein Browser beim Absenden eines HTML-Formulars schickt. Leerzeichen werden zu +, und beim Dekodieren wird + wieder zu einem Leerzeichen.

Leeren leert beide Felder.

So funktioniert es

Der Text wird zuerst in UTF-8-Bytes umgewandelt. Jedes Byte, das nicht erlaubt ist, wird durch % und seinen Wert in Hexadezimal ersetzt. Der Buchstabe é besteht in UTF-8 aus zwei Bytes und wird deshalb zu zwei Escapes: %C3%A9. Dasselbe gilt für jeden Umlaut und für ß. Ein Emoji besteht aus vier Bytes und wird zu vier Escapes.

Im Komponentenmodus geht dieses Tool einen Schritt weiter als die einfache Browserfunktion. Es kodiert auch ! ' ( ) *, nach RFC 3986. Diese Zeichen sind technisch erlaubt, haben aber in manchen Servern und E-Mail-Programmen Probleme gemacht.

Dekodieren funktioniert umgekehrt. Folgen von %XX werden zu Bytes gesammelt und als UTF-8 gelesen.

Beispiele

Eingabe Komponente Ganze URL Formulardaten
hello world hello%20world hello%20world hello+world
Tom & Jerry Tom%20%26%20Jerry Tom%20&%20Jerry Tom+%26+Jerry
a+b=c a%2Bb%3Dc a+b=c a%2Bb%3Dc
50% off 50%25%20off 50%25%20off 50%25+off
café caf%C3%A9 caf%C3%A9 caf%C3%A9
it's (ok)*! it%27s%20%28ok%29%2A%21 it's%20(ok)*! it%27s+%28ok%29%2A%21
Grüße aus Köln Gr%C3%BC%C3%9Fe%20aus%20K%C3%B6ln Gr%C3%BC%C3%9Fe%20aus%20K%C3%B6ln Gr%C3%BC%C3%9Fe+aus+K%C3%B6ln

Eine ganze Adresse zeigt den Unterschied am besten. https://example.com/a b?q=1&r=é wird im Modus für ganze URLs zu https://example.com/a%20b?q=1&r=%C3%A9, was weiterhin als Link funktioniert. Im Komponentenmodus wird derselbe Text zu https%3A%2F%2Fexample.com%2Fa%20b%3Fq%3D1%26r%3D%C3%A9. Das ist nur richtig, wenn die ganze Adresse selbst ein Parameterwert ist, etwa ein Weiterleitungsziel.

Alte Kodierungen mit Umlauten

Manchmal begegnet dir ein Umlaut als einzelnes Byte, etwa M%FCnchen statt M%C3%BCnchen. Das stammt aus alten Systemen, die Latin-1 statt UTF-8 nutzten. Dieses Tool liest nur UTF-8. Aus M%C3%BCnchen wird korrekt „München“, aus M%FCnchen dagegen „M�nchen“ mit einem Ersatzzeichen. Wenn du solche Links siehst, ist die Quelle veraltet, und die richtige UTF-8-Form ist %C3%BC.

Tipps und Grenzen

  • Kodiere Werte, nicht ganze Links. Bau zuerst den Link und kodiere dann nur die Teile, die du einfügst.
  • Achte auf doppelte Kodierung. Siehst du %2520, wurde der Text zweimal kodiert. Dekodiere ihn einmal.
  • + ist nicht immer ein Leerzeichen. Es bedeutet nur in Formulardaten ein Leerzeichen. In einem Pfad ist + ein normales Pluszeichen. Wähl vor dem Dekodieren den passenden Modus.
  • Kodieren ist kein Verstecken. Jeder kann kodierten Text lesen. Pack keine Passwörter in Links.
  • Groß- und Kleinschreibung spielt in Escapes keine Rolle. %c3%bc und %C3%BC bedeuten dasselbe. Großbuchstaben sind der übliche Stil.

Andere Wege

JavaScript. encodeURIComponent('Tom & Jerry') liefert Tom%20%26%20Jerry. Mit decodeURIComponent machst du es rückgängig. Beachte, dass es bei einer kaputten Folge wie %zz einen Fehler wirft, während dieses Tool sie stehen lässt.

Python. urllib.parse.quote('Tom & Jerry', safe='') liefert Tom%20%26%20Jerry, und urllib.parse.quote_plus liefert Tom+%26+Jerry.

Excel. =URLCODIEREN(A1) prozentkodiert den Text in Zelle A1 (in der englischen Version =ENCODEURL(A1), ab Excel 2013 unter Windows).

Kommandozeile. curl --data-urlencode "q=Tom & Jerry" kodiert einen Formularwert beim Senden.

Ähnliche Tools

Du baust Kampagnenlinks? Der UTM Parameter Generator kodiert jedes Tag für dich. Um einen Titel in einen sauberen Pfad zu verwandeln, nimm den URL Slug Generator. Für Binärdaten in einer URL ist Base64 mit der URL-sicheren Option oft besser geeignet.

URL Encoder: Fragen und Antworten

Was bedeutet %20 in einer URL?

%20 ist ein kodiertes Leerzeichen. Ein Leerzeichen ist in einer Webadresse nicht erlaubt, deshalb wird es als Prozentzeichen mit seinem Bytewert in Hex geschrieben, und das ist 20. In Formulardaten wird ein Leerzeichen oft stattdessen als + geschrieben.

Soll ich eine ganze URL kodieren oder nur einen Teil?

Meist nur den Teil, den du einfügst, etwa einen Suchbegriff oder einen Parameterwert. Wenn du eine ganze URL als Komponente kodierst, werden auch : und / kodiert, und der Link funktioniert nicht mehr. Nimm den Modus für ganze URLs nur, wenn du eine vollständige Adresse mit Leerzeichen oder Umlauten hast.

Warum zeigt mein Text nach dem Kodieren %25?

%25 ist ein kodiertes Prozentzeichen. Kodierst du Text, der schon kodiert ist, wird jedes % zu %25. Aus a%20b wird bei erneutem Kodieren a%2520b. Dekodiere zuerst und kodiere dann nur einmal.

Kann das Tool eine kaputte oder halb kodierte URL dekodieren?

Ja. Gültige Folgen wie %C3%BC werden dekodiert, und alles, was keine gültige Folge ist, etwa ein einzelnes %-Zeichen, bleibt, wie es ist. Der ganze Text scheitert nie wegen eines einzigen falschen Zeichens.

Mehr Tools für Code und Daten

Alle Tools ansehen