Warum einen URL-Encoder verwenden?
Percent-Encoding (oder URL-Kodierung) ist unverzichtbar, sobald du mit Parametern in einer URL arbeitest. Sonderzeichen wie &, =, ? oder Leerzeichen müssen kodiert werden, damit sie die URL-Struktur nicht beschädigen.
Ohne korrekte Kodierung würde ein Parameter mit preis=10&20 als zwei getrennte Parameter interpretiert (preis=10 und 20). Der Browser kann deine Absicht nicht erraten: Die Kodierung beseitigt die Mehrdeutigkeit.
Drei Situationen, in denen URL-Kodierung unverzichtbar ist:
- Query-String-Parameter → Ein
&oder=in einem Wert schneidet den String an der falschen Stelle ab - UTM-Parameter → Leerzeichen oder Sonderzeichen in
utm_campaignstören das Analytics-Tracking - Weiterleitungen und Callbacks → Verschachtelte URLs (OAuth, SSO, Marketing-E-Mails) müssen vollständig kodiert werden
So verwendest du den URL-Encoder / -Decoder in 3 Schritten
Schritt 1: Inhalt einfügen
Füge in das Eingabefeld ein:
- Klartext, wenn du kodieren möchtest (z. B.
preis=10€ & kostenloser Versand) - Einen kodierten String, wenn du dekodieren möchtest (z. B.
preis%3D10%E2%82%AC+%26+kostenloser+Versand)
Schritt 2: Operation auswählen
Klicke auf URL kodieren, um Text in Percent-Encoding umzuwandeln, oder auf URL dekodieren, um den Originaltext aus einem kodierten String wiederherzustellen.
Schritt 3: Ergebnis kopieren
Das Ergebnis erscheint sofort. Klicke auf den Kopieren-Button, um den konvertierten String zu übernehmen, fertig zum Einfügen in deinen Code, deine URL oder Konfiguration.
Was ist Percent-Encoding?
Percent-Encoding ist der in RFC 3986 definierte Mechanismus zur Darstellung von Sonderzeichen in einer URI. Jedes nicht erlaubte Byte wird durch % gefolgt von zwei hexadezimalen Ziffern ersetzt, die seinen UTF-8-Wert repräsentieren.
Konkretes Beispiel:
Originaltext: Café & Thé = 15€
Kodiert: Caf%C3%A9+%26+Th%C3%A9+%3D+15%E2%82%AC
Das é (U+00E9) belegt zwei Bytes in UTF-8 (C3 A9), daher %C3%A9. Das Symbol € (U+20AC) belegt drei Bytes (E2 82 AC), daher %E2%82%AC.
Nicht-reservierte Zeichen (werden nie kodiert)
Diese Zeichen werden unverändert in einer URL übernommen:
A-Z a-z 0-9 - _ . ~
Reservierte Zeichen (werden in Werten kodiert)
| Zeichen | Rolle in der URL | Kodiert |
|---|---|---|
? | Beginn der Parameter | %3F |
& | Parameter-Trennzeichen | %26 |
= | Schlüssel/Wert-Zuweisung | %3D |
# | Fragment (Anker) | %23 |
/ | Pfad-Trennzeichen | %2F |
+ | Leerzeichen (Query String) | %2B |
@ | Benutzer-Identifikator | %40 |
Kodierungstabelle häufiger Zeichen
| Zeichen | Beschreibung | Kodiert (Query) | Kodiert (Pfad) |
|---|---|---|---|
| Leerzeichen | Leerraum | + | %20 |
& | Kaufmanns-Und | %26 | %26 |
= | Gleichheitszeichen | %3D | %3D |
? | Fragezeichen | %3F | %3F |
# | Rautezeichen | %23 | %23 |
é | E mit Akut | %C3%A9 | %C3%A9 |
ñ | N mit Tilde | %C3%B1 | %C3%B1 |
€ | Euro-Zeichen | %E2%82%AC | %E2%82%AC |
日 | CJK-Ideogramm | %E6%97%A5 | %E6%97%A5 |
Hinweis: Der Unterschied zwischen Query und Pfad betrifft nur das Leerzeichen. In Query Strings (application/x-www-form-urlencoded) wird das Leerzeichen zu +. In einem URL-Pfad wird es zu %20.
Praxisnahe Anwendungsfälle
Fall 1: UTM-Parameter mit Sonderzeichen
Problem: Du erstellst einen Tracking-Link für eine Kampagne namens „Sommerschlussverkauf 2025 - 50%".
Ohne Kodierung:
https://captaindns.com?utm_campaign=Sommerschlussverkauf 2025 - 50%
Leerzeichen, der Bindestrich und das % machen den Link kaputt. Google Analytics erfasst die Kampagne nicht.
Mit Kodierung:
https://captaindns.com?utm_campaign=Sommerschlussverkauf+2025+%2D+50%25
Das Tracking funktioniert korrekt, jedes Sonderzeichen bleibt erhalten.
Fall 2: OAuth-Callback-URL
Problem: Du konfigurierst einen OAuth-Flow und musst eine Rückgabe-URL als Parameter übergeben.
Ohne Kodierung:
https://auth.captaindns.com/authorize?redirect_uri=https://captaindns.com/callback?token=abc&scope=read
Der Server interpretiert scope=read als Parameter von /authorize, nicht von /callback.
Mit Kodierung der redirect_uri:
https://auth.captaindns.com/authorize?redirect_uri=https%3A%2F%2Fcaptaindns.com%2Fcallback%3Ftoken%3Dabc&scope=read
Die verschachtelte URL ist korrekt isoliert. Der OAuth-Flow funktioniert.
Fall 3: Debug eines fehlerhaften E-Mail-Links
Problem: Ein Kunde meldet, dass ein Link in deinem Newsletter nicht funktioniert. Der Roh-Link in der E-Mail sieht so aus:
https://captaindns.com/offre?nom=Caf%C3%A9+%26+Th%C3%A9&code=PROMO%2D20
Vorgehensweise: Füge den Teil nach ? in den Decoder ein, um die Parameter zu lesen:
nom=Café & Thécode=PROMO-20
So erkennst du sofort, ob die Werte korrekt sind oder ob eine doppelte Kodierung den Link beschädigt hat.
❓ FAQ - Häufig gestellte Fragen
F: Was ist der Unterschied zwischen URL-Kodierung und Base64?
A: URL-Kodierung (Percent-Encoding) ersetzt Sonderzeichen durch %XX, um sie URL-kompatibel zu machen. Base64 kodiert Binärdaten (Bilder, Dateien) in ASCII-Zeichen. Die beiden sind nicht austauschbar: Verwende URL-Kodierung für URL-Parameter, Base64 für die Übertragung von Binärdaten in Text.
F: Warum werden Leerzeichen zu + ?
A: Das ist eine Konvention des Formats application/x-www-form-urlencoded, das von HTML-Formularen und Query Strings verwendet wird. In URL-Pfaden (vor dem ?) wird das Leerzeichen als %20 kodiert. Beide Darstellungen sind in ihrem jeweiligen Kontext gültig.
F: Welche Zeichen werden nicht kodiert?
A: Die 66 nicht-reservierten Zeichen gemäß RFC 3986 werden nie verändert: Buchstaben A-Z, a-z, Ziffern 0-9 und vier Symbole: -, _, ., ~. Alle anderen Zeichen werden kodiert, wenn sie in einem Parameterwert vorkommen.
F: Kann ich eine vollständige URL kodieren?
A: Nein, kodiere nur die Werte der Parameter. Die strukturellen Trennzeichen (://, /, ?, &, =) müssen unverändert bleiben, damit die URL funktionsfähig bleibt. Kodiere zum Beispiel den Wert Café & Thé, aber nicht das ? oder &, die die URL strukturieren.
F: Was passiert bei doppelter Kodierung?
A: Eine doppelte Kodierung verwandelt %26 in %2526 (das % wird erneut kodiert). Der Server erhält dann den literalen String %26 statt &. Das ist eine häufige Falle bei verschachtelten Weiterleitungen. Wenn du eine doppelte Kodierung vermutest, dekodiere zweimal und vergleiche die Ergebnisse.
F: Was passiert bei ungültiger Kodierung?
A: Wenn du versuchst, eine ungültige Sequenz zu dekodieren (zum Beispiel %GG oder ein isoliertes %), zeigt das Tool eine erklärende Fehlermeldung statt eines fehlerhaften Ergebnisses an. Korrigiere die Quellsequenz, bevor du es erneut versuchst.
Ergänzende Tools
| Tool | Verwendung |
|---|---|
| Base64-Encoder | Binärdaten in ASCII kodieren für APIs und Webhooks |
| Slug-Generator | Einen Titel in eine saubere URL ohne Sonderzeichen umwandeln |
| Wortzähler | Die Länge deiner Parameter vor der Kodierung prüfen |
| Schreibweisen-Konverter | Text in camelCase, snake_case oder kebab-case für deine Variablen konvertieren |
| Passwort-Generator | Zufällige Passwörter für die Einbindung in sichere URLs erstellen |
| Hash-Generator | MD5, SHA-256 oder SHA-512 berechnen, um die Integrität deiner Daten zu prüfen |
Nützliche Ressourcen
- RFC 3986 – Uniform Resource Identifier (URI): Generic Syntax (offizielle Spezifikation des Percent-Encodings)
- RFC 3987 – Internationalized Resource Identifiers (IRIs) (Erweiterung der RFC 3986 für Unicode-Zeichen)
- MDN – encodeURIComponent() (JavaScript-Referenz zur URL-Kodierung)
- WHATWG URL Standard (Living Standard für das Parsen und die Serialisierung von URLs)