onlinetools.dev

HTML-Entities kodieren / dekodieren

Text für HTML escapen oder &-Entities zurück in Zeichen wandeln

Läuft lokal
loading…
Über dieses Tool

Escape Text für die sichere Einbettung in HTML — aus & wird &amp;amp;, aus < wird &amp;lt; — oder dekodiere entity-gespickten Text zurück in lesbare Zeichen, inklusive benannter Entities (&amp;rarr;), dezimaler (&amp;#169;) und hexadezimaler (&amp;#xA9;) numerischer Referenzen.

Beim Kodieren gibt es zwei Stufen: die fünf essenziellen Zeichen, die die HTML-Struktur brechen (&amp; &lt; &gt; " ') — mehr braucht es für Korrektheit nicht — oder alles Nicht-ASCII, nützlich, wenn irgendwo zwischen dir und der Seite eine Toolchain UTF-8 verstümmelt. Ein Nur-numerisch-Modus lässt benannte Entities weg, für maximale Kompatibilität mit strikten XML-Parsern, die nur die fünf vordefinierten garantieren.

Der Decoder ist die Alltagsseite: Füge ein gescraptes Snippet oder eine API-Antwort voller &amp;#x27; ein und erhalte sauberen Text. Unbekannte Entity-Namen werden unverändert durchgereicht statt geraten.

Häufige Fragen

Welche Zeichen müssen in HTML escaped werden?
In Textinhalten: & und <. In Attributwerten: zusätzlich das Anführungszeichen, das das Attribut begrenzt (" oder '). > zu escapen ist üblich, aber nicht zwingend nötig. Alles andere darf in einem UTF-8-Dokument wörtlich stehen.
Ist Entity-Kodierung ein Schutz gegen XSS?
Das Escapen der fünf Strukturzeichen ist der Kern des Output-Encodings im HTML-Kontext, ja — aber nur für HTML-Text- und Attribut-Kontexte. URLs, JavaScript-Strings und CSS brauchen ihre eigenen kontextspezifischen Kodierungen; Entity-Escaping allein macht beliebige Injection dort nicht sicher.
Benannte oder numerische Entities — welche sollte ich ausgeben?
Numerische Referenzen (&amp;#xE9;) funktionieren in jedem HTML- und XML-Parser. Benannte Entities sind lesbarer, aber XML definiert nur fünf vor — &amp;eacute; bricht also eine strikte XML/XHTML-Pipeline. Im Zweifel: numerisch.
Warum sehe ich &amp;amp;#39; (doppelt kodiert) in meinen Daten?
Zwei Schichten haben je einmal kodiert: Das &amp; der ersten Kodierung wurde von einem zweiten Durchlauf selbst escaped. Dekodiere hier zweimal, um den Text wiederherzustellen, und finde und repariere dann die Schicht, die nicht kodieren sollte.
Verwandte Tools