Was ist URL-Codierung, und warum braucht man sie?
Eine URL darf laut Standard nur eine begrenzte Menge an Zeichen roh enthalten: Buchstaben, Ziffern und einige wenige Sonderzeichen. Alles andere — ein Leerzeichen, ein „ü”, ein Emoji oder ein „&”, das eigentlich zum Text gehört und nicht als Trennzeichen gemeint ist — muss zuerst in seine UTF-8-Bytes zerlegt und dann Byte für Byte als %XX geschrieben werden. Ein Leerzeichen wird so zu %20, ein „é” (zwei UTF-8-Bytes) wird zu %C3%A9.
encodeURIComponent() und encodeURI() diese Umwandlung automatisch, ohne dass du die Byte-Werte selbst berechnen musst.Praktisch begegnet dir das ständig: Ein Nutzer sucht auf einer Shop-Website nach „Laufschuhe Größe 42” und die Adressleiste zeigt danach ?suche=Laufschuhe%20Gr%C3%B6%C3%9Fe%2042. Das ist keine Fehlfunktion, sondern die korrekte, sichere Übertragung der Sucheingabe als Teil der URL.
encodeURIComponent vs. encodeURI — welchen Modus wann?
:, / und ? erhalten bleiben müssen.
Der häufigste Fehler beim manuellen Aufbau von Links: eine gesamte URL mit encodeURIComponent zu codieren. Dabei wird auch das :// und die / im Pfad in %XX umgewandelt, wodurch die Adresse als Ganzes unbrauchbar wird. encodeURI hingegen lässt genau die Zeichen unangetastet, die eine URL zum Funktionieren braucht, und codiert nur das, was wirklich problematisch ist — Leerzeichen, Umlaute, Emojis.
| Funktion | Codiert auch &, =, ?, / | Typischer Einsatz |
|---|---|---|
| encodeURIComponent | Ja | Einzelner Query-Wert, Parameter |
| encodeURI | Nein | Vollständige Adresse mit Pfad und Query |
Einen Query-String korrekt aufbauen
?farbe=rot&groesse=42). Jeder einzelne Wert muss dabei separat mit encodeURIComponent codiert werden, bevor er in den String eingefügt wird.Angenommen, ein Nutzer möchte nach der Stadt „Köln” und dem Namen „Max Müller” filtern (Beispielwerte). Fügt man diese Werte roh in den Query-String ein, entsteht ?stadt=Köln&name=Max Müller — ein String mit Leerzeichen und einem Umlaut, den manche Systeme falsch zerlegen. Codiert man dagegen jeden Wert einzeln, ergibt sich das robuste ?stadt=K%C3%B6ln&name=Max%20M%C3%BCller, das in jedem Browser und jeder Programmiersprache zuverlässig als dieselben zwei Parameter ankommt.
Beim Parsen läuft derselbe Vorgang rückwärts ab: Eine vollständige URL wird am „?” in Pfad und Query-Teil getrennt, der Query-Teil wird am „&” in einzelne Paare zerlegt, und jeder Wert wird anschließend decodiert, damit wieder lesbarer Text erscheint. Genau das übernimmt ein URL-Parser-Werkzeug automatisch, inklusive einer aufgeschlüsselten Ergebnistabelle je Parameter.
Tracking-Parameter aus einem Link entfernen
Wird ein Link über soziale Netzwerke oder Newsletter geteilt, hängen Marketing-Systeme oft automatisch Tracking-Parameter an — etwa ?utm_source=instagram&utm_medium=cpc&fbclid=IwAR123abc hinter der eigentlichen Adresse. Diese Parameter verändern nicht, welche Seite geladen wird, sondern nur, wie der Klick in Analyse-Tools zugeordnet wird. Wer einen Link privat weiterleitet, möchte diese Zusatzdaten meist nicht mitschicken.
Ein URL-Bereiniger erkennt bekannte Tracking-Präfixe (utm_*, gclid, fbclid, msclkid und ähnliche), entfernt genau diese Schlüssel aus dem Query-String und baut die restliche URL unverändert wieder zusammen — Basis-Domain, Pfad und die eigentlich relevanten Parameter wie farbe=rot bleiben dabei vollständig erhalten.
Text codieren/decodieren, Query-Strings parsen oder erstellen, URLs zerlegen und Tracking-Parameter entfernen — kostenlos, komplett im Browser.
URL Encoder / Decoder öffnen →