Zum Inhalt springen
Kostenloses Tool

URL Encoder & Decoder – URL online kodieren und dekodieren

URL kodieren und dekodieren, direkt im Browser: Der URL Encoder wandelt Text und URLs in die Prozent-Kodierung um, aus einem Leerzeichen wird %20, aus „ä“ wird %C3%A4. Als URL Decoder macht er aus %-Folgen wieder lesbaren Text. Du vergleichst encodeURIComponent, encodeURI und das Formular-Format mit +, siehst die Query-Parameter einer URL dekodiert und baust Query-Strings und UTM-Links. Kostenlos, ohne Anmeldung, dein Text bleibt in deinem Browser.

Gebaut von Dimitri Heissler

Du baust gerade etwas Eigenes? Hoste es auf einem vServer mit voller Kontrolle.

Kodiert alles außer Buchstaben, Ziffern und die Zeichen -_.~!*'(). Richtig für einzelne Parameterwerte, Pfadsegmente und alles, was in eine URL eingebettet wird.

Dein Text bleibt in deinem Browser: Er wird weder hochgeladen noch gespeichert.

Zeichen in der Eingabe
0
Zeichen im Ergebnis
0
Zeichen kodiert
0
Bytes der Eingabe
0

Query-String und UTM-Link bauen

Trage Name und Wert je Parameter ein, oder füge mit „UTM-Parameter“ die drei Felder für einen Kampagnen-Link ein. Jeder Wert wird einzeln kodiert, ein & oder = im Wert kann die URL also nicht zerreißen.

0 Parameter in der URL

Beispiel-Ergebnis

Was dieser URL Encoder und Decoder dir zeigt

Du fügst einen Text oder eine URL ein und bekommst sofort das kodierte oder dekodierte Ergebnis, dazu beim Kodieren eine Liste der ersetzten Zeichen mit ihren Bytes und beim Dekodieren einer URL die Query-Parameter einzeln und lesbar. Drei Beispiele:

Beispiel 1: Einen Wert kodieren

Eingabe (Variante Komponente, encodeURIComponent):

Müller & Söhne: 50 % Rabatt?

Ausgabe:

M%C3%BCller%20%26%20S%C3%B6hne%3A%2050%20%25%20Rabatt%3F
Ersetzte Zeichen des ersten Beispiels
ZeichenBytesErgebnis
üC3 BC%C3%BC
Leerzeichen20%20
&26%26
öC3 B6%C3%B6
:3A%3A
%25%25
?3F%3F

Ergebnis in Worten: Aus 28 Zeichen werden 56 Zeichen. 11 Zeichen wurden ersetzt. Das ü besteht aus zwei Bytes und wird zu %C3%BC, das & wird zu %26 und das % selbst zu %25. Buchstaben und Ziffern bleiben stehen.

Beispiel 2: Eine URL dekodieren und zerlegen

Eingabe (Variante Formular, + wird als Leerzeichen gelesen):

https://example.com/search?q=gr%C3%BCne%20Tomaten&sort=price_asc&category=Obst%2BGem%C3%BCse

Ausgabe:

https://example.com/search?q=grüne Tomaten&sort=price_asc&category=Obst+Gemüse
Query-Parameter des zweiten Beispiels
NameWert (dekodiert)Roh
qgrüne Tomatengr%C3%BCne%20Tomaten
sortprice_ascprice_asc
categoryObst+GemüseObst%2BGem%C3%BCse

Ergebnis in Worten: Die URL hat 3 Query-Parameter. Der Wert von „q“ ist „grüne Tomaten“, „sort“ ist „price_asc“ und „category“ ist „Obst+Gemüse“. Das Plus in „Obst+Gemüse“ ist als %2B kodiert und bleibt deshalb ein Pluszeichen.

Beispiel 3: Dieselbe URL, vier Varianten

Eingabe:

https://example.com/straße/über uns?q=Käse#kontakt
Ergebnis der vier Varianten für dieselbe URL
VarianteErgebnis
Komponente (encodeURIComponent)https%3A%2F%2Fexample.com%2Fstra%C3%9Fe%2F%C3%BCber%20uns%3Fq%3DK%C3%A4se%23kontakt
Ganze URL (encodeURI)https://example.com/stra%C3%9Fe/%C3%BCber%20uns?q=K%C3%A4se#kontakt
Streng (RFC 3986)https%3A%2F%2Fexample.com%2Fstra%C3%9Fe%2F%C3%BCber%20uns%3Fq%3DK%C3%A4se%23kontakt
Formular (+ für Leerzeichen)https%3A%2F%2Fexample.com%2Fstra%C3%9Fe%2F%C3%BCber+uns%3Fq%3DK%C3%A4se%23kontakt

Ergebnis in Worten: Nur „Ganze URL (encodeURI)“ lässt https://, / ? und # stehen, die Adresse bleibt aufrufbar. Die anderen drei Varianten kodieren auch diese Trennzeichen und machen aus der Adresse einen einzigen langen Wert. Das ist richtig, wenn du die ganze URL als Wert in eine andere URL einbetten willst.

So funktioniert es

So kodierst und dekodierst du eine URL

Vier Schritte vom Text bis zur fertigen URL – ohne Account, ohne Download.

Schritt 1

Text oder URL einfügen

Füge den Text ein, den du kodieren willst, oder die kodierte URL, die du lesen möchtest. Mit „Beispiel“ lädst du einen Beispieltext. Das Ergebnis erscheint schon beim Tippen, ohne Knopfdruck.

Schritt 2

Richtung, Variante und Zeichensatz wählen

Wähle „Kodieren“ oder „Dekodieren“. Für einen einzelnen Wert nimmst du encodeURIComponent, für eine ganze URL encodeURI und für Daten aus einem HTML-Formular das Formular-Format mit +. Beim Kodieren gibt es zusätzlich die strenge Variante nach RFC 3986 und die Option „Jede Zeile einzeln kodieren“. Als Zeichensatz wählst du UTF-8 oder ISO-8859-1.

Schritt 3

Ergebnis prüfen und kopieren

Das Tool zeigt, wie viele Zeichen ersetzt wurden, listet beim Kodieren die ersetzten Zeichen mit Unicode-Nummer und Bytes auf und warnt bei doppelter Kodierung, ungültigen %-Folgen oder einer ganzen URL mit der falschen Variante. Mit „Kopieren“ übernimmst du das Ergebnis.

Schritt 4

Parameter lesen oder bauen

Beim Dekodieren einer URL zeigt das Tool ihre Bestandteile und die Query-Parameter dekodiert in einer Tabelle. Im Bereich „Query-String und UTM-Link bauen“ trägst du Name und Wert ein oder fügst mit „UTM-Parameter“ die Felder für einen Kampagnen-Link ein und kopierst die fertig kodierte URL.

Varianten

encodeURIComponent, encodeURI oder Formular: welche Variante wann?

Alle vier Varianten kodieren nach demselben Prinzip, ersetzen aber unterschiedlich viele Zeichen. Wähle nach dem, was du kodierst, nicht nach Gefühl.

Komponente (encodeURIComponent)
Für einen einzelnen Wert: Parameterwert, Pfadsegment, Dateiname, eine URL, die als Parameter in einer anderen URL steckt. Kodiert alles außer Buchstaben, Ziffern und die Zeichen -_.~!*'(). Im Zweifel ist das die richtige Wahl.
Entspricht ungefähr: encodeURIComponent / decodeURIComponent
Ganze URL (encodeURI)
Für eine ganze URL, die noch Leerzeichen oder Umlaute enthält. Lässt ; , / ? : @ & = + $ # unangetastet, damit die Adresse funktioniert. Kodiert dabei kein & oder = innerhalb eines Wertes: Dafür taugt sie nicht.
Entspricht ungefähr: encodeURI / decodeURI
Streng (RFC 3986)
Wie Komponente, kodiert aber zusätzlich ! ' ( ) *. Nötig, wenn ein anderes System diese Zeichen als Trennzeichen liest, zum Beispiel beim Signieren von OAuth-Anfragen.
Entspricht ungefähr: PHP rawurlencode, Python urllib.parse.quote(wert, safe='')
Formular (+ für Leerzeichen)
Das Format eines HTML-Formulars (application/x-www-form-urlencoded). Leerzeichen werden zu +, nur Buchstaben, Ziffern und *-._ bleiben stehen, ~ wird zu %7E. Gilt für Query-Strings aus Formularen und für POST-Bodies dieses Typs. PHP urlencode und Python quote_plus weichen bei * und ~ leicht ab.
Entspricht ungefähr: Java URLEncoder, JavaScript URLSearchParams

Zeichentabelle

Sonderzeichen in URLs und ihre Kodierung

So werden die häufigsten Sonderzeichen kodiert, je nach Variante. Ein Strich bedeutet: Das Zeichen bleibt unverändert stehen.

Kodierung von Sonderzeichen in den Varianten Komponente, Ganze URL und Formular
ZeichenKomponenteGanze URLFormular
LeerzeichenLeerzeichen, in Query-Strings oft als + geschrieben%20%20+
!Unterdelimiter, ohne feste Bedeutung––%21
"in URLs nicht erlaubt%22%22%22
#Beginn des Fragments (Anker)%23–%23
$Unterdelimiter, ohne feste Bedeutung%24–%24
%leitet eine %XX-Kodierung ein%25%25%25
&trennt Query-Parameter%26–%26
'Unterdelimiter, ohne feste Bedeutung––%27
(Unterdelimiter, ohne feste Bedeutung––%28
)Unterdelimiter, ohne feste Bedeutung––%29
*Unterdelimiter, bleibt bei encodeURIComponent stehen–––
+Pluszeichen, im Formular-Format ein Leerzeichen%2B–%2B
,trennt Listenwerte%2C–%2C
/trennt Pfadsegmente%2F–%2F
:trennt Schema, Host und Port%3A–%3A
;Unterdelimiter, ohne feste Bedeutung%3B–%3B
=trennt Parametername und Wert%3D–%3D
?Beginn der Query%3F–%3F
@trennt Benutzerangabe und Host%40–%40
[nur für IPv6-Adressen im Host%5B%5B%5B
]nur für IPv6-Adressen im Host%5D%5D%5D
~ungeschützt; nur das Formular-Format kodiert es (%7E)––%7E
ä%C3%A4%C3%A4%C3%A4
€%E2%82%AC%E2%82%AC%E2%82%AC
😀%F0%9F%98%80%F0%9F%98%80%F0%9F%98%80

UTM-Parameter

UTM-Link erstellen: UTM-Parameter richtig schreiben

UTM-Parameter hängen an einem Link, damit Google Analytics sieht, woher die Besucher kommen. Der Query-String-Builder im Tool fügt mit „UTM-Parameter“ die drei üblichen Felder utm_source, utm_medium und utm_campaign ein und kodiert jeden Wert einzeln, damit Leerzeichen und Sonderzeichen den Link nicht zerreißen.

Die fünf UTM-Parameter und ihre Bedeutung
ParameterBedeutungAngabe
utm_sourceWoher der Besucher kommt, zum Beispiel newsletter, google oder instagram.üblich
utm_mediumÜber welchen Kanal, zum Beispiel e-mail, cpc oder social.üblich
utm_campaignWie die Kampagne heißt, zum Beispiel sommer-aktion.üblich
utm_termDas Suchwort bei bezahlter Suche.optional
utm_contentWelche Variante angeklickt wurde, zum Beispiel banner oder textlink.optional

Beispiel: ein Newsletter-Link

Basis-URL und drei Parameter:

https://example.com/aktion
utm_source = newsletter
utm_medium = e-mail
utm_campaign = Sommer Aktion

Ergebnis:

https://example.com/aktion?utm_source=newsletter&utm_medium=e-mail&utm_campaign=Sommer%20Aktion

Schreibe die Werte klein und ohne Leerzeichen, zum Beispiel sommer-aktion. Analytics unterscheidet „Newsletter“ und „newsletter“ und wertet sie getrennt aus.

Mehr entdecken

Weitere Tools

FAQ

Häufig gestellte Fragen zum URL Encoder & Decoder

Kurze Antworten rund um URL-Kodierung, Prozent-Zeichen und dieses Tool.

In einer URL sind nur wenige Zeichen erlaubt. Alle anderen werden als % mit zwei Hexadezimalziffern geschrieben, und zwar für jedes Byte des Zeichens in UTF-8. Ein Leerzeichen wird zu %20, ein „ä“ zu %C3%A4 (zwei Bytes), ein „€“ zu %E2%82%AC (drei Bytes) und ein Emoji wie 😀 zu %F0%9F%98%80 (vier Bytes). Das Verfahren heißt auch Prozent-Kodierung oder URL Encoding, unter Entwicklern kurz URL Encode, der Rückweg URL Decode.

%20 ist ein kodiertes Leerzeichen: 20 ist der Hexadezimalwert des Leerzeichens. Genauso steht %3D für =, %26 für &, %2F für / und %2C für ein Komma. %20 gilt überall in einer URL. Das + für ein Leerzeichen gibt es nur im Formular-Format (application/x-www-form-urlencoded), also in Query-Strings, die ein HTML-Formular erzeugt. Im Pfad ist ein + ein echtes Pluszeichen. „Käse & Brot“ wird als Formularwert zu „K%C3%A4se+%26+Brot“ und mit encodeURIComponent zu „K%C3%A4se%20%26%20Brot“. Beim Dekodieren wählst du deshalb die passende Variante, für Daten aus Formularen und Suchen „Formular“.

encodeURI lässt die Trennzeichen einer URL stehen: ; , / ? : @ & = + $ #. encodeURIComponent kodiert sie mit. Aus „a/b?c=d“ wird mit encodeURI „a/b?c=d“ und mit encodeURIComponent „a%2Fb%3Fc%3Dd“. Für eine ganze Adresse nimmst du encodeURI. Für einen einzelnen Wert, der in eine URL eingesetzt wird, nimmst du encodeURIComponent, sonst kann ein & oder = im Wert die Parameter zerreißen.

Wähle „Dekodieren“ und füge die kodierte URL oder den kodierten Text oben ein. Aus „M%C3%BCller%20%26%20S%C3%B6hne“ wird „Müller & Söhne“. Bei einer URL zerlegt das Tool die Adresse zusätzlich in ihre Bestandteile wie Schema, Host, Pfad, Query und Fragment und zeigt die Query-Parameter in einer Tabelle mit Name, dekodiertem Wert und Rohwert, zum Beispiel q = grüne Tomaten statt gr%C3%BCne%20Tomaten. Parameter stehen hinter dem ?, Name und Wert sind durch = verbunden, mehrere Parameter durch &. Für Daten aus einem Formular oder einer Suche wählst du die Variante „Formular“, damit ein + auch im Ergebnis als Leerzeichen gelesen wird.

Unverändert bleiben die Buchstaben A bis Z und a bis z, die Ziffern 0 bis 9 und die Zeichen -_.~, nur das Formular-Format kodiert die Tilde als %7E. Die Trennzeichen : / ? # [ ] @ ! $ & ' ( ) * + , ; = sind nur in ihrer Rolle erlaubt, etwa & zwischen zwei Parametern. Kodiert werden müssen unter anderem Leerzeichen, Anführungszeichen, %, < > ^ { | } und alle Zeichen außerhalb von ASCII wie Umlaute oder Emojis. encodeURIComponent lässt zusätzlich ! * ' ( ) stehen, die strenge Variante nach RFC 3986 kodiert auch diese. Die Zeichentabelle weiter oben zeigt die häufigsten Sonderzeichen mit ihrem Ergebnis.

Gar nicht direkt: Sie werden kodiert. Buchstaben wie „ä“, „ß“, „é“, „ñ“ oder „å“ belegen in UTF-8 je zwei Bytes, aus „ä“ wird %C3%A4, aus „ß“ %C3%9F, aus „é“ %C3%A9, aus „ñ“ %C3%B1 und aus „å“ %C3%A5. Ein Leerzeichen wird zu %20, in Formularen zu +. Browser zeigen die Adresse oft lesbar an und kodieren erst beim Senden. In Links, die du selbst schreibst, kodierst du den Wert mit encodeURIComponent oder mit diesem Tool; die Tabelle „Was mit deinen Zeichen passiert“ zeigt dabei Unicode-Nummer und Bytes der ersetzten Zeichen. Umlaute im Domainnamen werden nicht prozentkodiert, sondern per Punycode umgewandelt (aus müller.de wird xn--mller-kva.de), das übernimmt dieses Tool nicht.

Wird ein schon kodierter Text noch einmal kodiert, wird das % zu %25: Aus „%20“ wird „%2520“. Erkennbar ist das an %25, gefolgt von zwei Ziffern, und daran, dass nach dem Dekodieren noch %XX-Folgen im Ergebnis stehen. Das Tool weist darauf hin und bietet „Noch einmal dekodieren“ an. Vermeiden kannst du es, indem du jeden Wert genau einmal kodierst, und zwar erst beim Zusammenbauen der URL.

Heute ist UTF-8 der Standard, dort ist „ä“ = %C3%A4. Ältere Seiten und Systeme kodieren aber in ISO-8859-1 (Latin-1), dort ist „ä“ = %E4 und „é“ = %E9. Ein einzelnes %E4 ist in UTF-8 ungültig: Das Tool nennt die Position und bietet „ISO-8859-1 verwenden“ an. Mit diesem Zeichensatz wird aus „K%E4se“ wieder „Käse“. Zeichen, die es in ISO-8859-1 nicht gibt, etwa „€“, lassen sich damit nicht kodieren, dafür wechselst du zurück zu UTF-8.

Nein. Kodieren und Dekodieren laufen in deinem Browser, dein Text wird weder hochgeladen noch gespeichert. Das gilt auch für URLs mit Token oder Zugangsdaten. Das Tool ist kostenlos und funktioniert ohne Anmeldung.

Noch weitere Fragen?

Support kontaktieren
Baust du gerade etwas Eigenes?

Deine Anwendung braucht einen Server, der ihre URLs zuverlässig ausliefert

Ein ZAP-Hosting vServer bringt deine Anwendung oder dein Projekt zuverlässig online.

4,4/5 Trustpilot32.000+ Aktive ServerSeit 2010

Kein Setup. Kein Risiko. In Sekunden online.

Flexible LaufzeitJederzeit kündbarIn 60 Sekunden online

Auf der Suche nach weiteren Tools? Alle Entwickler-Tools ansehen