Skip to content
URL codieren / decodieren
Tools

URL codieren / decodieren

Neu

Text prozentcodieren oder decodieren und Query-Strings parsen — alles in deinem Browser.

Special characters reference
Character Encoded (%XX) Notes
space %20 Also encoded as + in HTML form query strings
& %26 Query param separator — encode in values
= %3D Key-value separator in query strings
? %3F Marks the start of a query string
# %23 Fragment identifier
/ %2F Path separator
: %3A Protocol / port separator
@ %40 Username delimiter in URLs
+ %2B Literal plus sign (+ in query string = space)
% %25 Percent itself — encode to avoid ambiguity
%E2%82%AC UTF-8 multi-byte (3 bytes)
© %C2%A9 UTF-8 multi-byte (2 bytes)
Per-language code snippets

Copy-ready snippets for JavaScript, Python, C#, PowerShell, Java and Go.

JavaScript / Node.js
// Encode a single query value (recommended)
const encoded = encodeURIComponent('hello world & co.');
// → 'hello%20world%20%26%20co.'

// Decode
const decoded = decodeURIComponent('hello%20world%20%26%20co.');
// → 'hello world & co.'

// Encode a full URL (leaves : / ? & # intact)
const safeUrl = encodeURI('https://example.com/search?q=hello world');
// → 'https://example.com/search?q=hello%20world'
Python
from urllib.parse import quote, unquote, urlencode

# Encode a single value (%20 for spaces)
encoded = quote('hello world & co.')
# → 'hello%20world%20%26%20co.'

# Decode
decoded = unquote('hello%20world%20%26%20co.')
# → 'hello world & co.'

# Encode a query dict (uses + for spaces — form encoding)
qs = urlencode({'q': 'hello world', 'page': '2'})
# → 'q=hello+world&page=2'

# quote_plus encodes spaces as + (match HTML form encoding)
plus = quote_plus('hello world')
# → 'hello+world'
C# / .NET
// Encode a single value (spaces → %20)
string encoded = Uri.EscapeDataString("hello world & co.");
// → "hello%20world%20%26%20co."

// Decode
string decoded = Uri.UnescapeDataString("hello%20world%20%26%20co.");
// → "hello world & co."

// Older System.Web API (spaces → +, form encoding):
// HttpUtility.UrlEncode("hello world") → "hello+world"
PowerShell
# .NET method — works in PS 5+ and PowerShell Core
$encoded = [Uri]::EscapeDataString('hello world & co.')
# → 'hello%20world%20%26%20co.'

$decoded = [Uri]::UnescapeDataString('hello%20world%20%26%20co.')
# → 'hello world & co.'

# Alternate via System.Web (Desktop PS only):
Add-Type -AssemblyName System.Web
$enc2 = [System.Web.HttpUtility]::UrlEncode('hello world')
# → 'hello+world'
Java
import java.net.URLEncoder;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;

// Encode (URLEncoder uses + for spaces — form encoding)
String encoded = URLEncoder.encode("hello world & co.", StandardCharsets.UTF_8);
// → "hello+world+%26+co."

// Decode
String decoded = URLDecoder.decode("hello+world+%26+co.", StandardCharsets.UTF_8);
// → "hello world & co."
Go
import "net/url"

// QueryEscape: spaces become +
encoded := url.QueryEscape("hello world & co.")
// → "hello+world+%26+co."

decoded, err := url.QueryUnescape("hello+world+%26+co.")
// → "hello world & co.", nil

// PathEscape: spaces become %20
pathSafe := url.PathEscape("hello world & co.")
// → "hello%20world%20&%20co."

Runs entirely in your browser. Nothing is uploaded.

Kostenloser Online-URL-Encoder und -Decoder

Dieser URL-Encoder und -Decoder wandelt Text in Prozent-kodiertes Format um — oder kehrt den Vorgang um — direkt in Ihrem Browser. Fügen Sie Ihren Text ein, wählen Sie Kodieren oder Dekodieren, wählen Sie die Regeln Komponente oder Vollständige URI, und das Ergebnis wird sofort aktualisiert. Es wird nichts hochgeladen; jede Operation läuft vollständig in Ihrem Browser mit denselben eingebauten JavaScript-Funktionen, die auch Ihr Code verwendet.

Prozent-Kodierung ist im Webentwicklung unvermeidbar. Leerzeichen, kaufmännische Und-Zeichen, Gleichheitszeichen und Nicht-ASCII-Zeichen müssen alle escaped werden, bevor sie sicher in einer URL existieren können. Ob Sie eine API-Anfrage erstellen, einen Tracking-Link debuggen oder ein Server-Log lesen — dieses Tool behandelt alle Sonderfälle, einschließlich mehrbytiger UTF-8-Zeichen, fehlerhafter Sequenzen und der Mehrdeutigkeit bei Leerzeichen zwischen + und %20.

encodeURIComponent vs encodeURI — welche Regel verwenden?

encodeURIComponent ist die richtige Wahl für einzelne Abfragewerte, Pfadsegmente oder jede Zeichenkette, die Sie in eine URL einfügen. Es kodiert fast alle Sonderzeichen — einschließlich ?, &, =, /, # und : — damit der Wert die URL-Struktur nicht beschädigen kann. Beispiel: 'hello world & page=2' wird zu 'hello%20world%20%26%20page%3D2'.

encodeURI ist dafür gedacht, eine vollständige URL zu kodieren, ohne sie zu beschädigen. Es lässt strukturelle Zeichen intakt (: / ? # &), damit die URL weiterhin funktioniert, während es trotzdem Leerzeichen und Nicht-ASCII-Zeichen kodiert. Im Zweifel bevorzugen Sie Komponenten-Regeln für alles, was Sie als Wert einfügen — das ist in fast jedem Web-Framework der sichere Standard.

Leerzeichen als %20 vs + — der Formular-Kodierungsunterschied

Es gibt zwei gültige Möglichkeiten, ein Leerzeichen in einer URL zu kodieren. In URL-Pfaden (dem Teil vor dem ?) schreibt RFC 3986 %20 vor. In HTML-Formular-Query-Strings kodiert das ältere Format application/x-www-form-urlencoded Leerzeichen als + aus historischen Kompaktheitsgründen — und das ist immer noch das, was Browser senden, wenn Sie ein Formular per GET absenden.

Beide bedeuten 'Leerzeichen', aber nur in ihrem eigenen Kontext. Ein + in einem URL-Pfad ist ein wörtliches Pluszeichen; ein + in einem Query-String ist ein Leerzeichen. Ein wörtliches Pluszeichen in einem Abfragewert muss als %2B kodiert werden, sonst wird es falsch interpretiert. Der Schalter + als Leerzeichen im Dekodierungsmodus behandelt formular-kodierte Eingaben, indem + durch ein Leerzeichen ersetzt wird, bevor decodeURIComponent ausgeführt wird.

Vergleich mit CyberChef und anderen URL-Kodierungstools

CyberChef (von GCHQ) ist leistungsstark, aber um ein 'Rezept'-Pipeline-Konzept herum konzipiert — Sie verknüpfen mehrere Operationen miteinander. Für reines URL-Kodieren oder -Dekodieren müssen Sie trotzdem nach der Operation suchen, sie in das Rezept ziehen und dann die Eingabe verarbeiten. Es ist hervorragend für komplexe Transformationen; für schnelles Kodieren/Dekodieren ist es langsamer als nötig.

Andere Online-Tools wie urldecoder.org sind einfach, zeigen aber Werbung, erfordern vollständige Seitenneuladungen bei jeder Operation und bieten keine sprachspezifischen Code-Snippets an. Dieses Tool aktualisiert das Ergebnis sofort bei jedem Tastendruck, verarbeitet sowohl Komponenten- als auch Vollständige-URI-Regeln, enthält eine Referenztabelle häufig kodierter Zeichen und zeigt kopierbereiten Code in JavaScript, Python, C#, PowerShell, Java und Go an.

Schnellreferenz für Sonderzeichen

Die am häufigsten kodierten Zeichen in der Webentwicklung: Leerzeichen → %20 (oder + in Query-Strings), & → %26, = → %3D, ? → %3F, # → %23, / → %2F, : → %3A, @ → %40, + → %2B, % → %25. Mehrbyte-UTF-8-Zeichen expandieren zu mehreren Sequenzen: € → %E2%82%AC, é → %C3%A9.

Die Zeichen, die niemals kodiert werden, sind die nicht reservierten Zeichen: Buchstaben A–Z und a–z, Ziffern 0–9 und die vier Symbole - _ . ~. Alles andere — einschließlich jedes Nicht-ASCII-Zeichens — muss in einer standardkonformen URL prozent-kodiert werden.

URL-Kodierung in JavaScript, Python, C#, PowerShell und Java

Jede wichtige Sprache hat eine eingebaute Funktion dafür. In JavaScript / Node.js: encodeURIComponent(str) und decodeURIComponent(str) — keine Imports nötig. In Python: urllib.parse.quote(str) und unquote(str); urlencode(dict) für einen vollständigen Query-String. In C#: Uri.EscapeDataString(str) und Uri.UnescapeDataString(str) aus dem System-Namespace. In PowerShell: [Uri]::EscapeDataString(str), verfügbar in PS 5+ und PowerShell Core. In Java: URLEncoder.encode(str, StandardCharsets.UTF_8).

Das Sprachspezifische-Snippets-Panel enthält kopierbereiten Code in JavaScript, Python, C#, PowerShell, Java und Go, damit Sie den richtigen Aufruf sofort in Ihr Projekt einfügen können — mit Hinweisen zum Verhalten von Leerzeichen als + vs %20 für die Standardbibliothek jeder Sprache.

100% privat — funktioniert auch offline

Jede Kodierungs- und Dekodierungsoperation verwendet ausschließlich die eingebauten Funktionen Ihres Browsers: encodeURIComponent, decodeURIComponent, encodeURI und decodeURI. Es wird kein Text an einen Server gesendet, gespeichert oder protokolliert — nicht einmal die Domainnamen in den URLs, die Sie einfügen. Sobald die Seite geladen ist, können Sie das Gerät offline nehmen, und es funktioniert weiterhin einwandfrei. Setzen Sie ein Lesezeichen und verwenden Sie es jederzeit, wenn Sie eine URL kodieren, dekodieren oder prüfen müssen.

Frequently asked questions

Was ist URL-Kodierung?

URL-Kodierung (auch Prozent-Kodierung genannt) wandelt Zeichen, die in einer URL nicht sicher sind, in ein %-Zeichen gefolgt von zwei Hexadezimalziffern um. Ein Leerzeichen wird beispielsweise zu %20, ein kaufmännisches Und zu %26 und eine Raute zu %23. Dadurch ist jede URL in jedem Browser, HTTP-Header oder Server gültig, unabhängig vom Zeichensatz.

Was bedeutet %20 bei der URL-Kodierung?

%20 ist die prozent-kodierte Darstellung eines Leerzeichens. Die 20 ist der Hexadezimalwert von ASCII 32 (dem Leerzeichen). Die URL 'hello%20world' wird also zu 'hello world' dekodiert. In HTML-Formular-Query-Strings sieht man manchmal + statt %20 für Leerzeichen — beide bedeuten dasselbe in Query-Strings, aber nicht in URL-Pfaden.

Was ist der Unterschied zwischen encodeURI und encodeURIComponent?

encodeURIComponent ist für einzelne Abfragewerte oder Pfadsegmente — es kodiert fast alles einschließlich : / ? # & = damit der Wert die URL-Struktur nicht beschädigen kann. encodeURI ist für eine vollständige URL — es lässt strukturelle Zeichen wie : / ? & # intakt damit die URL weiterhin funktioniert. Als Faustregel: Verwenden Sie immer encodeURIComponent für einzelne Werte, die Sie in einen Link einfügen.

Wie kodiere ich eine URL in JavaScript?

Verwenden Sie encodeURIComponent() für einzelne Werte: encodeURIComponent('hello world & co.') gibt 'hello%20world%20%26%20co.' zurück. Zum Umkehren verwenden Sie decodeURIComponent(). Für eine vollständige URL verwenden Sie encodeURI() / decodeURI() — sie überspringen strukturelle Zeichen. Beide sind in jedem Browser und Node.js ohne Imports eingebaut.

Warum ist ein Leerzeichen manchmal %20 und manchmal +?

In URL-Pfaden (vor dem ?) müssen Leerzeichen gemäß RFC 3986 als %20 kodiert werden. In Query-Strings kodiert das ältere application/x-www-form-urlencoded-Format, das von HTML-Formularen verwendet wird, Leerzeichen aus historischen Gründen als +. Beide bedeuten 'Leerzeichen', aber nur in ihrem eigenen Kontext — ein wörtliches + in einem Abfragewert muss als %2B kodiert werden, sonst wird es als Leerzeichen missverstanden.

Ist das Online-Kodieren sicher?

Ja — dieses Tool ist 100% lokal. Jede Operation läuft in Ihrem Browser mit eingebauten JavaScript-Funktionen. Ihr Text wird niemals an einen Server gesendet, gespeichert oder protokolliert. Sie können nach dem Laden der Seite sogar offline gehen, und es funktioniert weiterhin. Das ist besonders wichtig beim Kodieren von API-Schlüsseln, Zugangsdaten oder Tokens.

Welche Zeichen müssen in einer URL immer kodiert werden?

Jedes Zeichen außerhalb des nicht reservierten Satzes (A–Z, a–z, 0–9, Bindestrich, Unterstrich, Punkt, Tilde) muss in den meisten URL-Kontexten prozent-kodiert werden. Die häufigsten: Leerzeichen → %20, & → %26, = → %3D, ? → %3F, # → %23, / → %2F, : → %3A, @ → %40, + → %2B, % → %25. Nicht-ASCII-Zeichen wie Umlaute und Emojis werden als mehrere %XX-Sequenzen über UTF-8 kodiert.

Related tools

Alle Tools ansehen