HTML Encoder/Decoder
HTML-Sonderzeichen kodieren und dekodieren.
Wie funktioniert HTML-Kodierung?
Beim Kodieren werden HTML-Sonderzeichen wie <, > und & in ihre Entity-Schreibweise (<, >, &) umgewandelt, damit sie nicht als HTML-Markup interpretiert werden. Beim Dekodieren läuft der Vorgang umgekehrt.
Beispiel
<div> wird zu <div> kodiert – so lässt sich HTML-Code als reiner Text anzeigen, ohne dass der Browser ihn ausführt.
Zweites Beispiel
Ein Kommentarfeld erhält die Eingabe <script>alert(1)</script>. Wird dieser Text vor der Anzeige kodiert, entsteht <script>alert(1)</script> – der Browser zeigt den Text als sichtbare Zeichenkette an, statt das enthaltene Skript auszuführen. Genau dieser Schritt ist einer der Bausteine, um Cross-Site-Scripting (XSS) bei nutzergenerierten Inhalten zu verhindern.
Wann brauchst du den HTML-Encoder?
- Code-Beispiele oder Markup-Schnipsel in einem Blogartikel oder einer Doku so einbetten, dass sie als Text sichtbar bleiben statt gerendert zu werden.
- Nutzereingaben (Kommentare, Formulardaten) vor der Anzeige in HTML kodieren, um XSS-Lücken zu vermeiden.
- Eine bereits kodierte Zeichenkette aus einer API-Antwort oder einem CMS-Export zurückdekodieren, um den ursprünglichen Text zu lesen.
- Sonderzeichen wie Anführungszeichen in einem HTML-Attributwert korrekt darstellen, ohne das Attribut vorzeitig zu beenden.
Gut zu wissen: HTML-Kodierung allein macht Nutzereingaben nicht automatisch vollständig sicher – wer HTML-Markup (z. B. für Formatierungen) zulassen will, braucht zusätzlich eine echte Sanitizer-Bibliothek, die erlaubte Tags und Attribute gezielt filtert. Reines Kodieren eignet sich vor allem, um Text sicher als Text darzustellen, nicht um kontrolliert eingeschränktes HTML zuzulassen.
Häufige Fragen
Wofür wird HTML-Kodierung benötigt?
Um HTML-Code als sichtbaren Text darzustellen (z. B. in Code-Beispielen) oder um Nutzereingaben sicher in HTML einzubetten und Cross-Site-Scripting (XSS) zu vermeiden.
Welche Zeichen werden kodiert?
Vor allem <, >, & sowie Anführungszeichen – die Zeichen, die in HTML eine besondere Bedeutung haben.
Reicht HTML-Kodierung allein aus, um eine Anwendung gegen XSS abzusichern?
Sie ist ein wichtiger Baustein, aber kein Komplettschutz. Wer eingeschränktes HTML von Nutzern zulassen will, braucht zusätzlich eine echte Sanitizer-Bibliothek statt reiner Kodierung.
Muss ich Anführungszeichen auch innerhalb von normalem Text kodieren?
Im reinen Textinhalt sind Anführungszeichen unkritisch, innerhalb eines HTML-Attributwerts sollten sie aber kodiert werden, damit sie das Attribut nicht vorzeitig beenden – dieses Tool kodiert sie vorsorglich in beiden Fällen mit.
Ist das dasselbe wie URL-Kodierung?
Nein, HTML-Kodierung betrifft Sonderzeichen innerhalb von HTML-Dokumenten, URL-Kodierung dagegen Zeichen innerhalb von URLs. Beide folgen unterschiedlichen Regeln.