Was es tut
Wandelt Text in percent-kodierte Form um und zurück. Zwei Entscheidungen steuern das Ergebnis: eine Richtung (Kodieren oder Dekodieren) und ein Geltungsbereich (Komponente oder volle URI). Der Komponenten-Modus wendet encodeURIComponent an, das jedes reservierte Zeichen escapet und für Query-Werte richtig ist. Der Voll-URI-Modus wendet encodeURI an, das ; / ? : @ & = + $ , # intakt lässt, damit eine ganze URL eine URL bleibt. Fehlgeformte Eingaben, etwa ein einzelnes % beim Dekodieren, zeigen einen klaren Fehler statt eines falschen Ergebnisses.
So benutzt du es
- Wähle eine Richtung: Kodieren oder Dekodieren.
- Wähle einen Geltungsbereich: Komponente für einen einzelnen Query-Wert, volle URI für eine ganze URL.
- Tippe oder füge in das Eingabefeld ein. Das Ausgabefeld aktualisiert sich beim Tippen.
- Kopiere die Ausgabe, oder kopiere einen Share-Link, der Richtung, Geltungsbereich und deinen Text kodiert.
Der Swap-Button kehrt die Richtung um und übernimmt die aktuelle Ausgabe in die Eingabe. Kodiere etwas, klicke auf Swap, und das Tool dekodiert es in einem Klick zurück - ohne Neueingabe.
Beispiele
| Eingabe | Einstellung | Ausgabe |
|---|---|---|
hello world |
Kodieren, Komponente | hello%20world |
https://dev.cosmolabs.org/tools/url-encode |
Kodieren, volle URI | unverändert - jedes Zeichen ist URL-sicher |
https://example.com/search?q=hello world&page=2 |
Kodieren, volle URI | https://example.com/search?q=hello%20world&page=2 |
path=/users/42 |
Kodieren, Komponente | path%3D%2Fusers%2F42 |
hello%20world |
Dekodieren, Komponente | hello world |
Wie Prozent-Kodierung funktioniert
Eine URI ist ASCII. Diese Regel überlebt seit den frühesten URL-Spezifikationen: Eine URL reist als ASCII-Bytes, und alles andere muss in einem Escape reiten. Das Escape besteht immer aus drei Zeichen: % plus zwei Hex-Ziffern, die das Byte benennen. Ein Leerzeichen ist Byte 0x20, also reist es als %20. Ein é ist in UTF-8 zwei Bytes (0xC3 0xA9), also reist es als %C3%A9.
JavaScript liefert zwei Encoder, und der Geltungsbereichs-Schalter wählt zwischen ihnen:
encodeURIComponent (Komponente) |
encodeURI (volle URI) |
|
|---|---|---|
| Escapet | alles außer A-Z a-z 0-9 - _ . ! ~ * ' ( ) |
gleich, behält aber zusätzlich ; / ? : @ & = + $ , # |
| Gemacht für | einen Query-Wert | eine ganze URL |
a/b?c=d |
a%2Fb%3Fc%3Dd |
a/b?c=d |
Die reservierten Zeichen sind die eigene Zeichensetzung der URL, und genau deshalb existieren die beiden Funktionen. Ein Query-Wert wie path=/users/42 muss seine Slashes escapen, sonst kann der Empfänger Daten nicht von Struktur unterscheiden: path=%2Fusers%2F42. Eine ganze URL muss sie behalten, sonst kollabiert https:// zu https%3A%2F%2F. Faustregel: Kodiere mit dem engsten Geltungsbereich, der zu dem Stück passt, das du in der Hand hast, und du escapst nie die Struktur, die du eigentlich brauchst.
Dekodieren läuft umgekehrt: Jedes %XX wird zu dem Byte, das es benennt, und die Bytes setzen sich wieder zu UTF-8-Text zusammen. Ein %, dem keine zwei Hex-Ziffern folgen, ist fehlgeformt, und das Tool meldet das, statt zu raten.
Gut zu wissen
- Dekodiere einmal, nicht zweimal. Ein Wert, der legitimerweise
%20enthält, dekodiert zu einem Leerzeichen; ein nochmaliges Dekodieren dieses Ergebnisses macht aus jedem einzelnen%einen Fehler. - Der Share-Link trägt Modus, Geltungsbereich und Text, damit das Öffnen deine exakte Konvertierung wiederherstellt.
- Privat: Die gesamte Kodierung läuft lokal in deinem Browser. Nichts wird irgendwohin gesendet.
- Verwandte Tools: URL Inspector, HTML Entity Encoder,
Base64Base64An encoding representing binary data as 64 safe ASCII characters, so it survives transport through text-only channels. It encodes — it does not encrypt.
Encode / Decode.