HTML-Entities-Encoder und -Decoder
Wandle Sonderzeichen in HTML-Entities und zurück, alles clientseitig. Drei Kodierungsmodi — nur Sonder, alle Nicht-ASCII oder nur numerisch — mit idempotenter Kodierung.
Was sind HTML-Entities?
HTML-Entities sind Escape-Sequenzen für reservierte oder Nicht-ASCII-Zeichen im HTML-Quelltext. Die fünf häufigsten — & < > " ' — müssen entitisiert werden, damit der Browser sie nicht als Markup deutet. Mit Entities lässt sich jeder Unicode-Codepoint einbetten.
Named vs numerische Entities
Named-Entities wie & oder © sind besser lesbar, aber auf ~250 vordefinierte Zeichen beschränkt. Numerische wie & (dezimal) oder & (hex) funktionieren für jeden Unicode-Codepoint und sind überall unterstützt. Im Zweifel — und in XML — numerisch verwenden.
Wann HTML maskieren?
Maskiere immer Nutzertext, bevor du ihn in HTML einfügst — Kommentare, Suchen, Profile, Fehlermeldungen. Diesen Schritt zu überspringen ist der häufigste XSS-Bug. Moderne Template-Engines und Frameworks tun dies automatisch; rohe String-Verkettung nicht.
Brauchst du URL-Kodierung? Probiere unseren URL-Encoder / -Decoder.
Häufige Anwendungen
- XSS verhindern: Maskiere Nutzerkommentare, Profilfelder und Suchanfragen vor dem HTML-Rendering, um Skript-Injektion zu blockieren.
- E-Mail-Template-Sicherheit: Kodiere dynamische Felder in Transaktions-E-Mails, damit HTML-fähige Clients sie als Text rendern.
- Static-Site-Generatoren: Vor-kodiere Markdown-Inhalte beim Build für XSS-freies HTML.
- JSON-zu-HTML-Migration: Wandle API-Felder mit HTML-Metazeichen in Entities, bevor du sie in Server-Templates einfügst.
- Logging und Debugging: Kodiere rohe Payloads, bevor du sie in HTML-Log-Viewer schreibst.
- Dokumentations-Snippets: Zeige literales HTML-Markup in <code>-Blöcken durch Entitisierung der Klammern.
- Legacy-CMS-Migration: Dekodiere entitisierten Inhalt aus alten CMS zurück in Klartext.
FAQ
Was sind HTML-Entities und wofür brauche ich sie?
Es sind Escape-Sequenzen für reservierte Zeichen (& < > " ') und alle Nicht-ASCII-Zeichen, ohne das HTML-Parsing zu stören.
Named vs numerische — welche nehmen?
Numerische (&, &) für Nicht-HTML-Kontexte (XML, RSS, SGML). Named (&, ©) für handgeschriebenes HTML, wo Lesbarkeit zählt.
Wann muss ich HTML in nutzergenerierten Inhalten escapen?
Immer — außer du benutzt explizit einen Sanitizer mit Whitelist (z. B. DOMPurify). Direktes Verketten ohne Escaping ist die klassische XSS-Lücke.
Wie dekodiere ich ' und '?
Beide dekodieren zum Apostroph ('). Dieser Decoder akzeptiert named ', dezimal ' und hex '.
Sendet dieses Tool meine Daten irgendwohin?
Nein. Die gesamte Kodierung und Dekodierung läuft vollständig in deinem Browser. Dein Text verlässt dein Gerät nie.
In Zahlen
- Der HTML Living Standard definiert ~250 benannte Zeichenreferenzen — die meisten Browser akzeptieren auch das ältere HTML-4.01-Set
- OWASP empfiehlt das Maskieren von fünf Zeichen (
&,<,>,",') beim Einfügen ungeprüften Texts in HTML-Body - Numerische Zeichenreferenzen (z. B.
&) funktionieren für jeden Unicode-Codepoint — praktisch, wenn keine benannte Entity verfügbar ist - XML unterstützt nur fünf benannte Entities (
amp lt gt quot apos) — strenge XML-Parser lehnen HTML-Entities wie©ab