Sonderzeichen in der URL? So codieren Sie sie richtig
Diese Funktion codiert Text nach dem URL-Encoding-Standard oder decodiert eine bereits codierte URL wieder in lesbare Zeichen zurück. Gedacht für alle, die einen Parameter mit Leerzeichen, Umlauten oder Sonderzeichen sicher in einer URL übergeben oder eine unleserliche codierte URL entschlüsseln müssen.
Im Browser ausführen – kostenlos
Läuft direkt in Ihrem Browser – kostenlos. Ihre Datei verlässt Ihren Browser nicht und wird an keinen Server übertragen.
Warum manche Zeichen in einer URL codiert werden müssen
Eine URL darf nur einen begrenzten Zeichensatz direkt enthalten; Leerzeichen, Umlaute, das Und-Zeichen oder ein Fragezeichen innerhalb eines Parameters müssen als Prozent-codierte Bytes dargestellt werden, damit die URL nicht falsch interpretiert wird. Ein Leerzeichen wird so zu „%20“, ein „ä“ zu einer mehrbytigen Prozent-Folge nach UTF-8.
Codieren oder decodieren
Sie fügen einen Text oder Parameter ein und erhalten die codierte Version zurück, bereit für den Einbau in eine URL. Umgekehrt fügen Sie eine codierte URL oder einen codierten Parameter ein und erhalten die lesbare Klartextversion, etwa um zu prüfen, welcher Suchbegriff sich hinter einer langen Prozent-codierten Zeichenfolge in einem Server-Log verbirgt.
Ganze URL oder nur ein Parameter
Für einen einzelnen Wert innerhalb einer Query-Zeichenfolge codieren Sie nach „encodeURIComponent“-Logik, die auch Zeichen wie „&“ und „=“ umwandelt, damit sie den Parameter nicht versehentlich abschneiden. Für eine komplette URL, in der Schrägstriche und Doppelpunkte erhalten bleiben sollen, steht die schonendere Variante zur Verfügung.
Kostenlos, lokal, per API automatisierbar
Die Umwandlung läuft direkt in Ihrem Browser. Für die automatisierte Nutzung, etwa beim Zusammenbauen von URLs in einer Pipeline, steht derselbe Aufruf über die API zur Verfügung, für $0.002 pro Anfrage; im Browser bleibt die Funktion kostenlos.
Anwendungsfälle
Einen Suchbegriff mit Umlauten in eine URL einbauen
Anna Hoffmann baut einen Link zu einer Produktsuche mit dem Begriff „Größe ändern“ und codiert ihn zuerst, damit die Umlaute in der fertigen URL nicht zu einem fehlerhaften Link führen.
Eine Prozent-codierte URL aus einem Server-Log lesen
Ein Administrator bei der Weber Metallbau GmbH prüft ein Server-Log mit prozent-codierten Anfragen und decodiert eine auffällige Zeile, um den ursprünglichen Suchbegriff zu erkennen.
Einen Parameter mit Sonderzeichen für einen API-Aufruf vorbereiten
Ein Entwickler übergibt einen Firmennamen mit einem Und-Zeichen als Query-Parameter und codiert ihn vorab, damit die API-Anfrage nicht am falschen Zeichen abgeschnitten wird.
Häufige Fragen
Was ist der Unterschied zwischen der Codierung eines Parameters und einer ganzen URL?
Bei einem einzelnen Parameter werden auch Zeichen wie „&“ und „=“ codiert, damit sie den Wert nicht versehentlich abschneiden. Bei einer ganzen URL bleiben Schrägstriche und Doppelpunkte dagegen erhalten, damit die URL gültig bleibt.
Wie wird ein Leerzeichen codiert?
Als „%20“ innerhalb eines URL-Pfads oder Parameters; in manchen älteren Kontexten auch als „+“ innerhalb einer Query-Zeichenfolge.
Funktioniert das auch mit Umlauten?
Ja. Umlaute und andere Sonderzeichen werden nach UTF-8 in ihre Prozent-codierte Bytefolge umgewandelt.
Werden meine eingegebenen Werte übertragen?
Nein. Die Umwandlung erfolgt direkt in Ihrem Browser.
Muss ich mich anmelden?
Nein. Es gibt derzeit keine Konten – die Nutzung im Browser ist kostenlos und ohne Limit.
Was kostet die Nutzung über die API?
$0.002 pro Anfrage. Im Browser bleibt die Funktion unabhängig davon kostenlos.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/dev/url-encode \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/dev/url-encode", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/url-encode",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/url-encode", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/url-encode", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"items": [
"valor-1",
"valor-2"
]
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.url_encode",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |