Querystring-Werte zusammenbauen
Jede Nutzereingabe, die du in ?q=... einbaust, muss im Komponenten-Modus kodiert werden. Der URI-Modus würde = und & roh stehen lassen und deine URL zerstören, sobald der Wert sie enthält.
Wandle beliebigen Text in einen percent-encoded, URL-sicheren String um – oder dekodiere eine codierte URL zurück in Klartext. Live-Vorschau, UTF-8-sicher und vollständig im Browser.
Komponente (encodeURIComponent) escaped alles, was kein „unreserved"-Zeichen ist — am sichersten für Querystring-Werte, Pfadsegmente oder einzelne Felder. URI (encodeURI) bewahrt die Strukturzeichen einer URL (:/?#=&) — nimm das für eine ganze URL. Form (application/x-www-form-urlencoded) ist Komponente plus Leerzeichen werden zu '+' — so kodieren HTML-Formulare.
RFC 3986 definiert eine Menge „unreserved"-Zeichen, die nicht kodiert werden müssen: A-Z a-z 0-9 - _. ~. Alles andere wird percent-encoded. encodeURIComponent kodiert zusätzlich :/?#&=, die encodeURI unangetastet lässt. Der Unterschied ist entscheidend, wenn du einen Querystring-Wert gegenüber einer ganzen URL kodierst.
Textdatei hier ablegen oder zum Auswählen klicken
Beliebige UTF-8-Textdatei:.txt,.csv,.json,.url,.log
Schnell, präzise, ausschließlich im Browser — gemacht für Entwickler, Texter und alle, die eine URL debuggen.
Wähle Komponente, Voll-URI oder Form – je nachdem, was du kodierst: Querystring-Werte, eine ganze URL oder einen HTML-Formular-Payload.
Jedes Kodieren und Dekodieren passiert im Browser über natives JavaScript. Dein Text und deine URLs verlassen niemals dein Gerät.
Die Ausgabe aktualisiert sich bei jedem Tastendruck — kein „Kodieren"-Button, keine Server-Anfrage.
Emojis, CJK-Zeichen, akzentuiertes Latein und Kyrillisch laufen sauber durch encodeURIComponent und wieder zurück.
Beim Dekodieren kannst du '+' optional als Leerzeichen behandeln — die Konvention, die HTML-Formulare unter application/x-www-form-urlencoded nutzen.
Lege eine.txt-,.csv- oder.json-Datei ab, um sie in einem Schritt zu kodieren oder zu dekodieren. Die Ausgabe wird als saubere.txt heruntergeladen.
Drei native Browser-APIs, drei Modi — alle laufen in der Seite, die du gerade liest.
Bei jedem Tastendruck wird der Eingabestring an eine kleine JavaScript-Funktion übergeben. Kein Debounce, kein API-Call, kein fetch — die Funktion läuft synchron in deinem Browser-Tab.
Komponente ruft encodeURIComponent auf — escaped alles, was nicht A-Z a-z 0-9 - _. ~ ist. URI ruft encodeURI auf — bewahrt :/?#=&, sodass eine ganze URL gültig bleibt. Form nutzt encodeURIComponent und ersetzt Leerzeichen durch + gemäß application/x-www-form-urlencoded.
Sowohl encodeURIComponent als auch encodeURI wandeln den String intern in UTF-8-Bytes um, bevor jedes nicht-sichere Byte percent-encoded wird. So entsteht %E4%B8%AD für das chinesische 中 — exakt wie es RFC 3986 vorschreibt.
Das Ergebnis wird als Wert des schreibgeschützten Ausgabefelds gesetzt. Klicke „Kopieren", um es per navigator.clipboard.writeText in die Zwischenablage zu legen, oder „Herunterladen", um es als .txt über eine Blob-URL zu speichern — beides bleibt im Browser.
Reale Situationen, in denen der richtige Kodierungsmodus Bugs verhindert.
Jede Nutzereingabe, die du in ?q=... einbaust, muss im Komponenten-Modus kodiert werden. Der URI-Modus würde = und & roh stehen lassen und deine URL zerstören, sobald der Wert sie enthält.
Manche Chat-Apps und PDFs zerstören Links, wenn sie rohe Leerzeichen oder Nicht-ASCII-Zeichen enthalten. Schicke die URL durch den URI-Modus, um sie überall copy-paste-sicher zu machen.
Wenn deine API eine Anfrage ablehnt, füge die URL in den Dekodier-Modus ein, um zu sehen, was der Server tatsächlich gesehen hat. Doppelt kodierte Werte (bei denen % selbst als %25 kodiert wurde) fallen sofort auf.
Beim Debuggen von POST-Bodies in application/x-www-form-urlencoded dekodierst du mit aktivierter Option „+ als Leerzeichen". Das ist die Konvention, die Browser nutzen — sie zu vergessen ist die häufigste Ursache des Bugs „Warum erscheint mein Benutzername mit Pluszeichen?".
URLs, die du kodierst, enthalten oft echte Kunden-E-Mails, IDs oder Session-Tokens — genau die Art von Daten, die du nicht in das Server-Tool eines Fremden einfügen willst. iKit URL-Encoder läuft als JavaScript, das bereits in deinem Browser geladen ist, sodass die Eingabe deinen Tab niemals verlässt.
fetch, XHR oder beacon während Kodieren oder Dekodieren.
Ausführliche Tutorials und Tool-Vergleiche aus dem iKit-Blog.
The 30-year-old form-encoding quirk explained — when + means space, when it means literal +, and how to fix the email-with-plus bug.
When to reach for Base64 versus URL percent-encoding, and what each encoding actually solves.
Pretty-print, validate, and structurally diff messy JSON in any browser.
Komponente (encodeURIComponent) escaped alles, was kein „unreserved"-Zeichen ist — am sichersten für Querystring-Werte, Pfadsegmente oder einzelne Felder. URI (encodeURI) bewahrt die Strukturzeichen einer URL (:/?#=&) — nimm das für eine ganze URL. Form (application/x-www-form-urlencoded) ist Komponente plus Leerzeichen werden zu '+' — so kodieren HTML-Formulare.
RFC 3986 definiert eine Menge „unreserved"-Zeichen, die nicht kodiert werden müssen: A-Z a-z 0-9 - _. ~. Alles andere wird percent-encoded. encodeURIComponent kodiert zusätzlich :/?#&=, die encodeURI unangetastet lässt. Der Unterschied ist entscheidend, wenn du einen Querystring-Wert gegenüber einer ganzen URL kodierst.
Drei häufige Ursachen: (1) Das Original war Form-kodiert, also sollte '+' als Leerzeichen behandelt werden — aktiviere die Option. (2) Doppelt kodiert — die Eingabe wurde zweimal kodiert; dekodiere erneut. (3) Ungültige Percent-Sequenz — ein einzelnes %, dem keine zwei Hexziffern folgen. Die Fehlermeldung zeigt die exakte Byte-Position.
Ja im Komponenten-Modus — wir rufen encodeURIComponent direkt auf. Der Form-Modus ergänzt die üblichen Form-Encoding-Anpassungen (! ' * werden zu %21 %27 %28 %29 %2A) gemäß RFC 3986 + WHATWG. Der URI-Modus ruft encodeURI auf, was in den meisten Sprachen mit „eine URL percent-encoden" gemeint ist.
Nein. Das gesamte Tool ist JavaScript innerhalb dieser Seite — Kodieren und Dekodieren passieren in deinem Browser. Du kannst es prüfen, indem du DevTools → Network öffnest: Während Kodier- oder Dekodiervorgängen werden keine Anfragen gesendet.