Kodierung
HTML Entities Encode/Decode
Kodierung und Dekodierung von HTML-Entitäten — sichere Anzeige von Sonderzeichen auf der Seite.
HTML-Entities sind eine Möglichkeit, Zeichen, die sonst das Markup zerstören würden (<, >, &) oder keine Taste auf der Tastatur haben, als sichere Textsequenzen wie < oder & zu schreiben. Dieses Tool kodiert und dekodiert solche Entities direkt im Browser.
So verwendest du es
- Kodieren: Füge Text ein — Zeichen wie <, >, & und Anführungszeichen werden durch passende Entities ersetzt.
- Dekodieren: Füge HTML mit Entities ein (&, © usw.), um den reinen Text zu sehen.
- Sowohl benannte Entities (&) als auch numerische (& oder &) werden unterstützt.
Typische Anwendungsfälle
- Nutzertext (einen Kommentar, eine Nachricht) sicher auf einer Seite anzeigen, ohne das Markup zu zerstören oder ein Skript einzuschleusen.
- HTML-Codebeispiele in einem Artikel oder in Dokumentation einbetten, sodass der Browser sie als Text statt gerendert anzeigt.
- Von einer anderen Seite kopierten Inhalt dekodieren, dessen Zeichen bereits als Entities ankamen.
Was du wissen solltest
Das Escaping von HTML-Entities schützt nur vor XSS über den Textinhalt einer Seite — es schützt nicht den JavaScript-Kontext (innerHTML, eval) oder href/src-Attribute mit unvalidierten URLs.
Kodiere genau an der Stelle, an der Text in HTML eingefügt wird, nicht vorab beim Speichern in einer Datenbank — sonst werden die Daten bei Wiederverwendung außerhalb von HTML verfälscht.
Artikel zu diesem Tool: HTML Entities: Sonderzeichen sicher auf einer Seite ausgeben
Häufig gestellte Fragen
Was ist der Unterschied zwischen benannten und numerischen HTML-Entitäten?
Benannte Entitäten wie & sind leichter lesbar, aber nur für eine begrenzte Menge an Zeichen definiert. Numerische Entitäten wie & (dezimal) oder & (hexadezimal) decken jeden Unicode-Codepunkt ab und funktionieren immer.
Wann brauche ich HTML-Entities überhaupt?
Immer wenn Text, der von Nutzern stammt oder Sonderzeichen wie <, > oder & enthält, in HTML-Markup eingefügt wird, ohne dass er als Code interpretiert oder das Layout zerstört werden soll.
Wird der eingegebene Text an einen Server geschickt?
Nein, die Kodierung und Dekodierung läuft vollständig im Browser. Es werden keine Daten übertragen.
Muss Text in einem Attribut anders escaped werden als im Seiteninhalt?
Die Grundzeichen (<, >, &) werden gleich escaped, aber innerhalb eines Attributs in Anführungszeichen ist es zusätzlich entscheidend, genau die Art von Anführungszeichen zu escapen, die das Attribut begrenzt – sonst „reißt" der Wert früher ab als erwartet.
Schützt HTML-Escaping vor allen Arten von XSS?
Nein. Es schließt den häufigsten Angriffsvektor – das Einfügen von Text in HTML-Inhalt –, schützt aber nicht vor XSS über JavaScript-Kontext (etwa innerHTML mit anschließender Codeausführung) oder unvalidierte URLs in href/src.