URL Encoder/Decoder
URL Encoder/Decoder
URLs nach RFC 3986 kodieren und dekodieren. Mit Komponenten-Modus, Query-String-Parser und Zeichen-Analyse. 100% lokal im Browser.
Hinweis: Dieses Tool kodiert und dekodiert URLs nach RFC 3986 (Uniform Resource Identifier). Alle Berechnungen erfolgen lokal im Browser – deine URLs werden niemals hochgeladen.
Inhaltsverzeichnis
Schnellübersicht
- URL Encoder/Decoder: URLs nach RFC 3986 kodieren und dekodieren
- Komponenten-Modus: Einzelne URL-Teile (Host, Pfad, Query, Fragment)
- Query-String-Parser: Parameter extrahieren und analysieren
- Batch-Modus: Mehrere Zeilen gleichzeitig verarbeiten
- Zeichen-Analyse: Zeichen-für-Zeichen-Anzeige
- Theorie: Über URL-Kodierung und RFC 3986
- Geschichte: Von URLs zu IRIs
- FAQ: Häufige Fragen zu URL-Kodierung
1. URL Encoder/Decoder
Wähle einen Modus und kodiere oder dekodiere deine URL.
| Zeichen | Name | Kodiert | Bedeutung |
|---|---|---|---|
| Space | Leerzeichen | %20 oder + | Muss kodiert werden |
| / | Slash | %2F | Trennt Pfad-Segmente |
| ? | Fragezeichen | %3F | Beginnt Query-String |
| # | Raute | %23 | Beginnt Fragment |
| & | Ampersand | %26 | Trennt Parameter |
| = | Gleich | %3D | Trennt Key/Value |
| % | Prozent | %25 | Beginnt Escape-Sequenz |
| + | Plus | %2B | Alternative für Leerzeichen |
| ä | Umlaut a | %C3%A4 | UTF-8, 2 Bytes |
| € | Euro-Zeichen | %E2%82%AC | UTF-8, 3 Bytes |
2. Theorie – URL-Kodierung
Verstehe, warum URLs kodiert werden müssen und welche Zeichen erlaubt sind.
Was ist URL-Kodierung?
URL-Kodierung (Percent-Encoding) ersetzt Sonderzeichen durch Prozent-Sequenzen:
- Format: %XX (Hexadezimal)
- Beispiel: Leerzeichen → %20
- Grund: URLs dürfen nur ASCII-Zeichen enthalten
- RFC 3986: Definiert erlaubte Zeichen
Warum URL-Kodierung?
Sonderzeichen haben in URLs eine besondere Bedeutung:
- Leerzeichen: Nicht erlaubt in URLs
- &: Trennt Parameter
- =: Trennt Key/Value
- #: Beginnt Fragment
- ?: Beginnt Query-String
Problem: Wie unterscheidet man Daten von Steuerzeichen?
Reserved vs. Unreserved
RFC 3986 teilt Zeichen in zwei Klassen:
- Unreserved: A-Z, a-z, 0-9, -, _, ., ~
- Reserved: :, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;, =
- Unreserved: Bleiben unverändert
- Reserved: Müssen kodiert werden (wenn Daten)
Best Practices
- encodeURIComponent: Für Parameter-Werte
- encodeURI: Für vollständige URLs
- UTF-8: Standard-Kodierung für Unicode
- Doppelte Kodierung: Vermeiden!
- URLSearchParams: In JS für Query-Strings
- Nicht kodieren: Hostname (meist)
Wussten Sie schon?
Die URL-Kodierung wurde ursprünglich für das World Wide Web 1994 von Tim Berners-Lee am CERN eingeführt. Der Standard RFC 3986 (2005) definiert heute genau, welche Zeichen erlaubt sind. Besonders wichtig: Leerzeichen sind in URLs nicht erlaubt und müssen als %20 kodiert werden. Ältere Systeme akzeptieren auch +, aber moderne URLs sollten %20 verwenden.
3. Geschichte der URLs
Von der ersten URL zu IRIs und Unicode-Domains.
Erste URL
Tim Berners-Lee definiert die erste URL am CERN: http://info.cern.ch/. Das World Wide Web beginnt. URLs sind noch sehr einfach strukturiert.
RFC 1738
RFC 1738 standardisiert URLs. Definiert Syntax, erlaubte Zeichen und Kodierung. Grundlage für alle modernen URL-Standards.
RFC 2396
RFC 2396 erweitert URLs zu URIs. Trennt zwischen Reserved und Unreserved Zeichen. Definiert die Grundlagen der modernen URL-Kodierung.
Internationalisierung (IRI)
IRIs (Internationalized Resource Identifiers) erlauben Unicode in URLs. Erste Browser unterstützen Unicode-Domains (z.B. münchen.de).
RFC 3986
RFC 3986 ersetzt RFC 2396. Aktueller Standard für URI-Syntax. Definiert exakt, welche Zeichen wann kodiert werden müssen.
URLSearchParams
URLSearchParams in JavaScript vereinfacht Query-String-Handling. Moderne Browser stellen die API nativ bereit.
HTTPS & SEO
HTTPS wird Ranking-Faktor bei Google. URLs werden zunehmend kürzer und "sprechender". Encoding bleibt technisch relevant.
URLs im Alltag
URL-Kodierung bleibt essentiell für Web, APIs und mobile Apps. Moderne Frameworks übernehmen Encoding oft automatisch.
4. FAQ – Häufige Fragen
Häufige Fragen zu URL-Kodierung
URL-Kodierung (Percent-Encoding) wandelt Sonderzeichen in URLs in sichere Formate um:
- Format:
%XX(Hexadezimal) - Beispiel:
Hallo Welt→Hallo%20Welt - Grund: URLs erlauben nur ASCII-Zeichen
Wann brauchst du URL-Kodierung?
- Suchbegriffe mit Leerzeichen oder Umlauten
- Query-Parameter mit Sonderzeichen
- Dateinamen mit Leerzeichen
- API-Requests mit speziellen Werten
Beide können Leerzeichen darstellen, aber mit Unterschieden:
| Format | Verwendung | Standard |
|---|---|---|
%20 | Überall in URLs | RFC 3986 |
+ | Nur in Query-Strings | HTML-Forms (application/x-www-form-urlencoded) |
Beispiele:
- Pfad:
/mein%20ordner/(nur %20) - Query:
?q=hallo+welt(beide möglich)
Empfehlung: Verwende %20 für maximale Kompatibilität.
| Funktion | Verwendung | Kodiert |
|---|---|---|
encodeURI() | Vollständige URLs | Nur ungültige Zeichen |
encodeURIComponent() | Einzelne Parameter | Alle Sonderzeichen |
Beispiel:
encodeURI('https://example.com/path?q=hello world')- →
https://example.com/path?q=hello%20world
encodeURIComponent('hello world&test=1')- →
hello%20world%26test%3D1
Faustregel:
- Ganze URL: encodeURI()
- Parameter-Wert: encodeURIComponent()
RFC 3986 teilt Zeichen in drei Klassen:
| Klasse | Zeichen | Kodierung |
|---|---|---|
| Unreserved | A-Z, a-z, 0-9, -, _, ., ~ | Nicht kodieren |
| Reserved (Steuerzeichen) | : / ? # [ ] @ ! $ & ' ( ) * + , ; = | Je nach Kontext |
| Sonstige | Leerzeichen, Umlaute, Sonderzeichen | Immer kodieren |
Beispiele:
Leerzeichen→%20&→%26(wenn Daten, nicht Trenner)=→%3D(wenn Daten, nicht Trenner)ä→%C3%A4(UTF-8)€→%E2%82%AC(UTF-8)
Häufige Fehler:
- Doppelte Kodierung:
%2520statt%20 - Falsche Funktion: encodeURI für Parameter
- Leerzeichen nicht kodiert: Führt zu Fehlern
- Umlaute nicht kodiert: Browser-abhängig
- Sonderzeichen in Query: & und = als Daten
Beispiel Fehler:
- Falsch:
?q=Hello%20World%2520Test - Richtig:
?q=Hello%20World%20Test
Lösung: Nur einmal kodieren, richtige Funktion wählen.
UTF-8 ist die Standard-Kodierung für Unicode in URLs:
- ASCII: 1 Byte (0-127)
- Lateinisch: 2 Bytes (128-2047)
- Asiatisch: 3 Bytes (2048-65535)
- Emoji: 4 Bytes (ab 65536)
Beispiele:
ä→ UTF-8:C3 A4→ URL:%C3%A4€→ UTF-8:E2 82 AC→ URL:%E2%82%AC😀→ UTF-8:F0 9F 98 80→ URL:%F0%9F%98%80
Wichtig: Jedes Byte wird einzeln mit % kodiert.
Data-URLs kodieren Daten direkt in die URL:
- Format:
data:[<MIME>][;base64],<data> - Verwendung: Bilder, kleine Dateien einbetten
- Vorteil: Kein extra HTTP-Request
- Nachteil: Größe, kein Caching
Beispiel:
data:image/png;base64,iVBORw0KGgoAAAANS...data:text/plain,Hallo%20Welt
Achtung: Base64-Codierung ist etwas anderes als URL-Encoding!
URL-Länge ist begrenzt:
- IE: 2.083 Zeichen
- Chrome: 32.779 Zeichen (praktisch unbegrenzt)
- Firefox: ~65.000 Zeichen
- Safari: ~80.000 Zeichen
Bei langen URLs:
- POST statt GET: Daten im Body
- URL-Shortener: bit.ly, TinyURL
- Session: Daten in Session speichern
- Token: Kurz-ID statt langer Daten
Best Practice: URLs unter 2.000 Zeichen halten.
Zusammenfassung
Die wichtigsten Punkte
- URL-Kodierung: Sonderzeichen als %XX (Hexadezimal)
- RFC 3986: Aktueller Standard für URI-Syntax
- Leerzeichen: %20 (oder + in Query-Strings)
- UTF-8: Standard für Unicode (ä → %C3%A4)
- encodeURI vs. encodeURIComponent: URL vs. Parameter
- Reserved: : / ? # [ ] @ ! $ & ' ( ) * + , ; =
- Unreserved: A-Z, a-z, 0-9, -, _, ., ~
- Doppelte Kodierung: Vermeiden!
- URLSearchParams: JS-API für Query-Strings
- Unser Tool: Encode/Decode mit Query-Parser und Batch
Weitere Kodierungs-Tools
Text und Dateien in Base64 umwandeln und zurück.
Zum ToolHTML-Entities kodieren und dekodieren für sichere Ausgabe.
Zum ToolMD5, SHA-1, SHA-256 und SHA-512 für Text und Dateien.
Zum ToolText in Binärcode umwandeln und zurück.
Zum Tool