URL Encoder / Decoder
Online URL encoder and decoder for query strings, paths, and HTTP request values - percent-encodes characters with encodeURIComponent.
Geprüft von Aygul Dovletova · Zuletzt geprüft
So nutzt du den URL-Encoder/Decoder
- Richtung wählen - "Kodieren" wählen, um rohen Text in einen prozentkodiert-URL-sicheren String zu verwandeln, oder "Dekodieren", um einen prozentkodiert-String in lesbare Zeichen zurückzuwandeln.
- Eingabe einfugen in das Textfeld. Ergebnisse werden live aktualisiert, daher gibt es keine separate Senden-Schaltflache.
- Umfang wählen: Component-Modus für die Kodierung eines einzelnen Query-Werts oder Pfadsegments lassen, oder Full-URL-Modus aktivieren, wenn die Eingabe eine vollständige Adresse ist, deren Struktur beibehalten werden soll.
- Ergebnis kopieren mit der Kopierschaltfläche, oder Tauschen drücken, um die Ausgabe zurück in die Eingabe für die umgekehrte Konvertierung zu leiten.
Uber URL-Kodierung
URL-Kodierung, auch Prozentkodierung genannt, ist in RFC 3986 definiert und existiert, weil URLs auf eine kleine ASCII-Teilmenge beschrankt sind. Viele Zeichen sind entweder reserviert (sie haben eine strukturelle Bedeutung in einer URL, wie /, ?, # und &) oder unsicher (wie Leerzeichen, Anführungszeichen und Steuerbytes). Um diese Zeichen innerhalb einer URL zu transportieren, ersetzt der Encoder jedes Byte durch ein Prozentzeichen gefolgt von zwei hexadezimalen Ziffern, sodass ein Leerzeichen zu %20 und ein Ampersand zu %26 wird.
Wenn die Eingabe Zeichen außerhalb des ASCII-Bereichs enthält, konvertiert der Encoder sie zunächst in UTF-8-Bytes und kodiert dann jedes Byte einzeln prozentig. Ein einzelnes Emoji kann daher auf zwölf oder mehr Zeichen in der Ausgabe expandieren. Die Dekodierung kehrt diesen Prozess byte-für-byte um und setzt die UTF-8-Sequenz zusammen.
JavaScript stellt zwei Encoder mit absichtlich unterschiedlichen Regeln bereit: encodeURI bewahrt die Zeichen, die einer URL ihre Form geben, während encodeURIComponent sie alle kodiert. Die falsche zu wählen ist eine häufige Ursache für kaputte Query-Strings und Doppelkodierungsfehler.
URL kodieren
Um eine URL online zu kodieren, den rohen String einfugen und den Encoder jeden unsicheren Zeichen in seine prozentkodierte Form umwandeln lassen. Dieser Online-URL-Encoder nimmt jede Eingabe - einen Query-Wert, ein Pfadsegment, ein Redirect-Ziel - und erzeugt ein URL-sicheres Aquivalent im Browser.
- Einen Query-Wert kodieren:
Katzen & Hundewird zuKatzen%20%26%20Hunde, damit das Ampersand den Parameter nicht aufteilt. - Ein Redirect-Ziel kodieren:
https://app.example.com/cb?u=1innerhalb einer anderen URL muss prozentkodiert werden, damit sein?und=nicht vom außeren Query-String verbraucht werden. - Einen Dateinamen kodieren: Ein vom Benutzer bereitgestellter Titel mit Leerzeichen oder Anführungszeichen wird sauber kodiert, sodass er als CDN-Schlüssel oder Download-Dateiname verwendet werden kann.
URL dekodieren
Um eine URL online zu dekodieren, einen String mit Prozentkodierungen (%XX) einfügen und in den Decode-Modus wechseln. Das Tool kehrt jede Escape-Sequenz zurück in ihr ursprüngliches Byte um und setzt UTF-8-Sequenzen für Nicht-ASCII-Zeichen zusammen. Decode zweimal ausführen, wenn die Eingabe doppelt kodiert wurde - du siehst eine Schicht % pro Durchgang abgezogen.
- Einen kyrillischen Wert dekodieren:
%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82rekonstruiert das russische Wort privet, weil jedes Hex-Ziffernspar ein UTF-8-Byte ist. - Eine Tracking-URL dekodieren: Ein langer String mit
%2F,%3Aund%3Fverwandelt sich zurück in das lesbare Original, sodass du prüfen kannst, wohin der Redirect zeigt. - Formulardaten dekodieren: Als
application/x-www-form-urlencodedkodierte Eingabe kann hier dekodiert werden, aber Leerzeichen erscheinen als+statt%20und benotigen einen manuellen+-zu-Leerzeichen-Pass.
HTTP-Encoder
Die Begriffe HTTP-Kodieren und HTTP-Encoder werden häufig verwendet, um URL/Prozentkodierung innerhalb von HTTP-Anfragen zu meinen, da URLs und Query-Strings über HTTP reisen. Dieses Tool fungiert als kostenloser HTTP-Encoder für jeden Teil einer HTTP-Nachricht, der URL-sichere Kodierung benötigt: die Anforderungszeile, Query-Parameter, Location-Header-Werte und Formularkörper.
Beachte, dass "HTTP-Kodierung" manchmal auch auf Transfer-Encoding (gzip, deflate, br) oder Content-Encoding verweist. Das sind separate Konzepte, die automatisch vom Server und Browser behandelt werden. Diese Seite behandelt nur die Zeichen-Ebene URL/Prozentkodierung.
URI-Kodierung vs. URL-Kodierung
"URI-Kodierung" und "URL-Kodierung" werden normalerweise als Synonyme behandelt. URI ist die breitere Spezifikation (RFC 3986) und URL ist eine bestimmte Art von URI - die Kodierungsregeln sind exakt dieselben Prozentkodierungsregeln. Für Webentwickler in der Praxis ist der Unterschied rein akademisch. Die einzige bedeutungsvolle und praktische Unterscheidung ist, welche JavaScript-Hilfsfunktion aufzurufen ist:
encodeURIComponentist der richtige Aufruf für einen einzelnen Wert (einen Query-Parameter, ein Pfadsegment, ein Fragment-Stück), weil es jedes reservierte Zeichen kodiert.encodeURIist der richtige Aufruf für eine vollständige Adresse (bereits geformte URL), weil es die strukturellen Begrenzungszeichen: / ? # & =bewahrt.- Beide erzeugen korrekte Großbuchstaben-Hexziffern und vollständige Prozentkodierungen, die byte-identisch zu einem serverseitigen URL/URI-Encoder sind - die Ausgabe ist also in allen modernen Systemen vollständig interoperabel.
Beispiele
- Der Satz
hallo weltkodiert zuhallo%20welt, weil das Leerzeichen kein legal-URL-Zeichen ist. - Die Suchanfrage
Katzen & Hundewird zuKatzen%20%26%20Hundeim Component-Modus, wobei das Ampersand, das sonst einen Query-String aufteilen wurde, sicher kodiert wird. - Das kyrillische Wort
приветwird zu%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82- jedes Hex-Ziffernspar reprasentiert ein UTF-8-Byte.
Wann URL-Kodierung verwendet werden sollte
- Erstellen eines Query-String-Parameters, der Leerzeichen, Ampersands oder Gleichheitszeichen enthalten kann.
- Einbetten eines Redirect-Ziel-URLs innerhalb einer anderen URL (für OAuth
redirect_urioder Tracking-Links). - Erstellen von REST-API-Pfaden, bei denen ein Pfadsegment einen Schrägstrich, Doppelpunkt oder Benutzereingabe enthält.
- Kodieren eines Fragment-Bezeichners (der Teil nach
#), der reservierte Zeichen enthält. - Vorbereiten von Formulardaten vor einer manuellen
fetch-Anfrage mitapplication/x-www-form-urlencoded. - Erzeugen sicherer Dateinamen aus vom Benutzer bereitgestellten Titeln oder URLs.
Häufig gestellte Fragen
Was ist URL-Kodierung und warum wird sie benötigt?
URL-Kodierung, auch Prozentkodierung genannt, ist ein in RFC 3986 definiertes Schema, das Zeichen, die in einer URL nicht erlaubt sind, durch ein Prozentzeichen und zwei hexadezimale Ziffern ersetzt, die ein Byte darstellen. URLs durfen nur eine kleine ASCII-Teilmenge enthalten, weil reservierte Zeichen wie <code>?</code>, <code>&</code> und <code>#</code> eine strukturelle Bedeutung tragen. Ohne Kodierung wurde ein Leerzeichen oder Fragezeichen innerhalb eines Query-Werts die URL unterbrechen oder als Teil ihrer Struktur interpretiert werden.
Was ist der Unterschied zwischen encodeURI und encodeURIComponent?
<code>encodeURI</code> ist für eine vollständige URL gedacht. Es bewahrt strukturelle Zeichen wie <code>:</code>, <code>/</code>, <code>?</code>, <code>#</code>, <code>&</code> und <code>=</code>, damit die Adresse parsbar bleibt. <code>encodeURIComponent</code> ist für einen einzelnen Wert gedacht, der in eine URL eingefügt wird, also kodiert es jedes reservierte Zeichen. Component-Modus für einen Query-Parameter-Wert verwenden, Full-URL-Modus nur wenn die Eingabe bereits eine wohlgeformte Adresse ist.
Warum sehe ich manchmal + statt %20 für Leerzeichen?
Das <code>+</code>-Zeichen für Leerzeichen kommt vom MIME-Typ <code>application/x-www-form-urlencoded</code>, den HTML-Formulare verwenden, wenn sie Daten <code>POST</code>en oder in einen Query-String serialisieren. Es unterscheidet sich subtil von der RFC-3986- Prozentkodierung, die immer <code>%20</code> für ein Leerzeichen verwendet. Dieses Tool erzeugt <code>%20</code>, damit die Ausgabe sicher innerhalb von URL-Pfaden, Fragmenten und Headern ist.
Wird meine Eingabe an einen Server hochgeladen?
Nein. Kodierung und Dekodierung finden vollständig im Browser mit den eingebauten JavaScript-Funktionen <code>encodeURI</code>, <code>encodeURIComponent</code>, <code>decodeURI</code> und <code>decodeURIComponent</code> statt. Nichts wird an unsere Server gesendet, nichts protokolliert und nichts außerhalb des aktuellen Tabs gecacht. Du kannst sicher URLs verarbeiten, die Tokens, Session-IDs oder andere vertrauliche Fragmente enthalten.
Kann ich Emoji, Chinesisch oder andere Nicht-ASCII-Zeichen kodieren?
Ja. Nicht-ASCII-Zeichen werden zunachst in ihre UTF-8-Byte-Sequenz konvertiert und dann jedes Byte einzeln prozentkodiert. Ein einzelnes Emoji wie 🎉 wird zu einer Kette von vier Prozentkodierungen, weil seine UTF-8-Darstellung vier Bytes lang ist. Die Dekodierung kehrt den Prozess um und rekonstruiert die ursprunglichen Zeichen exakt. Doppelkodierung (Kodierung zweimal ausfuhren) ist ein haufiger Bug - das Ergebnis sollte mit einem einzigen <code>%</code> pro Byte beginnen.
Warum erzeugt die Kodierung derselben URL in verschiedenen Tools unterschiedliche Ausgaben?
Verschiedene Tools verwenden verschiedene Funktionen. Ein URL-Builder, der <code>encodeURI</code> verwendet, behalt Schragnstriche und Query-Begrenzer intakt, während einer, der <code>encodeURIComponent</code> aufruft, sie als <code>%2F</code>, <code>%3F</code> usw. kodiert. Manche Tools verwenden auch Formularkodierung, bei der <code>+</code> Leerzeichen ersetzt. Keine der Ausgaben ist falsch, aber sie dienen verschiedenen Schichten: eine vollstandige URL versus ein einzelner Wert innerhalb einer URL.
Was sind reservierte versus nicht-reservierte Zeichen in einer URL?
RFC 3986 teilt URL-Zeichen in zwei Gruppen. <em>Nicht-reservierte</em> Zeichen - Buchstaben, Ziffern und <code>- _ . ~</code> - müssen nie kodiert werden. <em>Reservierte</em> Zeichen haben eine strukturelle Rolle: <code>: / ? # [ ] @</code> sind allgemeine Begrenzungszeichen und <code>! $ & ' ( ) * + , ; =</code> sind Teilkomponenten-Begrenzungszeichen. Ob sie kodiert werden müssen, hängt vom Kontext ab.
Gibt es Längenbegrenzungen für eine URL oder für dieses Tool?
Dieses Tool selbst hat keine künstliche Obergrenze; es kodiert Strings viele Megabytes lang im Browser. Echte URLs sind jedoch durch Server und Browser begrenzt. Die meisten Webserver lehnen Anfragen mit URLs länger als etwa 8 bis 16 Kilobytes ab, und einige ältere Browser begrenzen einzelne URLs auf 2 Kilobytes. Für Payloads darüber Daten in einem <code>POST</code>-Body senden statt in einen Query-String zu pressen.
Ist "URI-Kodierung" dasselbe wie "URL-Kodierung"?
Im taglichen Gebrauch ja. URI ist durch RFC 3986 definiert und URL ist eine Art URI, daher sind die Prozentkodierungsregeln identisch. Die JavaScript-Hilfsfunktionen tragen das URI-Label (<code>encodeURI</code>, <code>encodeURIComponent</code>), implementieren aber genau das URL/ Prozentkodierungsschema, das Webserver, Query-Strings und HTTP-Header erwarten.
Wie kodiere ich einen String für die Verwendung in einer URL?
Den rohen String in das Eingabefeld einfugen, den Modus auf Component lassen (der <code>encodeURIComponent</code> aufruft) und die Ausgabe kopieren. Das Ergebnis ist sicher, um es in einen Query-Parameter-Wert, ein Pfadsegment oder ein Fragment-Stuck einzufugen, ohne die umgebende URL zu unterbrechen.
Wie dekodiere ich eine kodierte URL zurück in lesbaren Text?
In den Decode-Modus wechseln und die URL oder das Fragment einfügen. Das Tool ersetzt jede <code>%XX</code>-Escape-Sequenz durch das ursprüngliche Byte und setzt UTF-8-Sequenzen für Nicht-ASCII-Zeichen zusammen. Wenn die Eingabe zweifach kodiert wurde (du siehst <code>%25</code> statt <code>%</code>), Decode erneut ausführen, um die zweite Schicht abzuschälen.
Was ist ein HTTP-Encoder und wie unterscheidet er sich von einem URL-Encoder?
In der Praxis ist "HTTP-Encoder" nur ein anderer Name für einen URL/Prozentkodier-Encoder. URLs und Query-Strings reisen über HTTP, also ist die Kodierung von Bytes für eine HTTP-Anfrage dieselbe Operation wie die Kodierung für eine URL. Der unverwandte Sinn von "HTTP-Kodierung" - <em>Transfer-Encoding</em> wie gzip oder br - wird automatisch von Client und Server behandelt und ist nicht das, was dieses Tool erzeugt.
Online URL-Encoder vs. Offline-Tool: Was ist sicherer?
Ein vertrauenswürdiger Online-URL-Encoder läuft vollständig clientseitig, genauso wie ein Offline-Tool. Diese Seite ist eines davon - die Kodier- und Dekodierfunktionen werden in der JavaScript-Engine deines Browsers ausgeführt, deine Eingabe verlässt nie dein Gerät, und es gibt kein Analyse-Event, das den Eingabetext erfasst.
Mehr Developer Tools
AI Token Counter
Count tokens for GPT-4o, Claude, and Gemini models instantly.
Open toolBase64 Encoder & Decoder
Encode UTF-8 text to Base64 online or decode Base64 back to UTF-8 and plain text. Runs in your browser with no upload.
Open toolBulk URL Encode / Decode
Encode or decode many URLs at once. Paste a newline-separated list and the tool processes each line in parallel, preserving order and blank lines.
Open toolchmod Calculator
Calculate and convert Unix file permission modes between octal and symbolic.
Open toolCode Screenshot
Create beautiful code snippet images with customizable themes.
Open toolColor Converter
Convert colors between HEX, RGB, HSL and CMYK formats.
Open tool