HTML Entity Encoder & Decoder

Escape Text, damit er sicher in HTML eingefügt werden kann, oder wandle Entities wie & und € wieder in lesbare Zeichen um.

Läuft im BrowserOhne AnmeldungKein Upload

Kodiert

Anleitung: HTML Entity Encoder / Decoder

  1. Wähle Kodieren, um Text zu escapen, oder Dekodieren, um Entities wieder in Zeichen umzuwandeln.
  2. Lege beim Kodieren fest, welche Zeichen escaped werden: nur die HTML-Sonderzeichen, zusätzlich alle Nicht-ASCII-Zeichen oder alles außer Buchstaben und Ziffern.
  3. Wähle benannte Entities (é), dezimal (é) oder hex (é).
  4. Kopiere das Ergebnis. Beim Dekodieren werden unbekannte Entities aufgelistet, damit du Tippfehler erkennst.

Warum HTML escapen?

Fünf Zeichen haben in HTML eine besondere Bedeutung: & leitet eine Entity ein, < und > begrenzen Tags, und " und ' schließen Attributwerte. Wird von Nutzern stammender Text mit diesen Zeichen unescaped in eine Seite eingefügt, kann er das Layout zerstören oder, schlimmer, Skripte einschleusen (Cross-Site-Scripting, XSS). Durch Escaping werden sie zu &amp;, &lt;, &gt;, &quot; und &#x27;, die der Browser als Text anzeigt.

Benannte, dezimale und hexadezimale Entities

Jedes Unicode-Zeichen lässt sich als numerische Referenz schreiben: dezimal &#8364; oder hex &#x20AC; für €. Viele gängige Zeichen haben auch einen lesbaren Namen, etwa &euro;, &copy; oder &nbsp;. Numerische Referenzen funktionieren überall, auch in XML, das nur fünf benannte Entities definiert. Benannte Entities sind im Quellcode leichter zu lesen.

Muss ich Nicht-ASCII-Zeichen kodieren?

Nicht, wenn deine Seite als UTF-8 ausgeliefert wird, was auf fast jede moderne Website zutrifft (<meta charset="utf-8">). Zeichen wie é, ü oder 日本 kannst du direkt schreiben. Das Kodieren ist nützlich für Altsysteme, E-Mail-Templates oder wenn eine Pipeline Nicht-ASCII-Text verunstaltet.

Escaping hängt vom Kontext ab

HTML-Entity-Escaping schützt Text in Elementinhalten und Attributwerten in Anführungszeichen. Für Werte in <script>-Blöcken, Inline-Event-Handlern, CSS oder URLs reicht es nicht; dort braucht es jeweils eine eigene Kodierung. Nutze lieber das automatische Escaping deines Frameworks (React, Vue, Jinja, Blade), als Strings von Hand zusammenzubauen.

Häufig gestellte Fragen

Welche Zeichen müssen in HTML escaped werden?
In Textinhalten sind & und < unverzichtbar. In Attributwerten escapest du zusätzlich das verwendete Anführungszeichen. Alle fünf zu escapen (& < > " ') ist die sichere Standardwahl.
Was ist &amp;nbsp;?
Ein geschütztes Leerzeichen (U+00A0). Es sieht aus wie ein Leerzeichen, verhindert aber einen Zeilenumbruch und wird nicht mit benachbarten Leerzeichen zusammengefasst.
Warum wird &amp;copy2024 zu ©2024 dekodiert?
Aus Gründen der Abwärtskompatibilität dekodieren Browser einige alte Entities wie &copy, &amp und &lt auch ohne abschließendes Semikolon. Dieser Decoder folgt derselben Regel. Schreib das Semikolon in deinem eigenen HTML trotzdem immer.
Ist der Apostroph &amp;apos; oder &amp;#39;?
&apos; ist in HTML5 und XML gültig, aber nicht in HTML 4. Daher ist das numerische &#39; oder &#x27; die kompatibelste Wahl, und genau das gibt dieser Encoder aus.

Ähnliche Tools