HTML-Entity Encoder & Decoder
Text für HTML maskieren und &entities; zurück in Zeichen verwandeln. Alles läuft lokal — nichts wird hochgeladen.
- Eingang
- Text · HTML
- Ausgang
- Escaped HTML · decoded text
Text
66 Zeichen
HTML
102 Zeichen
<p class="note">Fish & chips — £4.50, café crème "très bon" 😀</p>
Text für HTML maskieren oder Entities zurück in Text verwandeln
Dieser HTML-Entity Encoder maskiert die Zeichen, die sonst als Markup gelesen würden, und der Decoder verwandelt Entities wie &, é und € zurück in die Zeichen, für die sie stehen. Wählen Sie benannte, dezimale oder hexadezimale Referenzen, maskieren Sie nur das Nötige oder jedes Nicht-ASCII-Zeichen, und schlagen Sie gängige Entities in der Referenztabelle nach. Alles läuft in Ihrem Browser; nichts, was Sie einfügen, wird hochgeladen.
So kodieren oder dekodieren Sie HTML-Entities
- Wählen Sie Kodieren, um Text für HTML zu maskieren, oder Dekodieren, um Entities zurück in Zeichen zu verwandeln.
- Wählen Sie beim Kodieren, was maskiert wird: nur die Sonderzeichen (
& < > " ') oder zusätzlich jedes Nicht-ASCII-Zeichen. - Wählen Sie die Form: benannt (
é), dezimal (é) oder hexadezimal (é). - Kopieren Sie das Ergebnis oder übernehmen Sie es als Eingabe, um den Hin- und Rückweg zu prüfen. Schalten Sie die Referenztabelle ein, um ein einzelnes Entity zu kopieren.
Warum HTML maskiert werden muss
In HTML beginnt < ein Tag und & eine Zeichenreferenz, und innerhalb eines Attributs beendet das Anführungszeichen den Wert. Um diese Zeichen als Text anzuzeigen, müssen sie als Entities geschrieben werden: <, &, " und '. Wird das vergessen, macht ein verirrtes „<b“ in einem Kommentar den Rest der Seite fett – und wenn der Text von Nutzern stammt, entsteht so Cross-Site-Scripting (XSS).
Maskieren ist die letzte Verteidigungslinie, nicht die einzige. Template-Engines wie React, Vue, Jinja und Blade maskieren die Ausgabe für Sie; dieses Tool ist für die Stellen, die sie nicht erreichen – statisches HTML, E-Mail-Vorlagen, Dokumentation, CMS-Felder und die Fehlersuche in dem, was ein System tatsächlich gespeichert hat.
Benannte, dezimale und hexadezimale Referenzen
Der Apostroph wird als ' geschrieben statt als ': ' ist in HTML5 und XML gültig, gehörte aber nie zu HTML 4, und manche älteren Parser kennen es nicht.
- Benannt (é)
- Lesbar und die Form, die die meisten kennen. HTML5 definiert etwa 2.200 Namen, aber nicht jedes Zeichen hat einen; Zeichen ohne Namen werden dezimal geschrieben.
- Dezimal (é)
- Der Unicode-Codepoint zur Basis 10. Funktioniert für jedes Zeichen und in jedem HTML- und XML-Parser.
- Hexadezimal (é)
- Derselbe Codepoint zur Basis 16, passend zur Schreibweise in Unicode-Tabellen (U+00E9).
Muss ich Umlaute, Akzente und Emojis maskieren?
Nicht auf einer Seite, die als UTF-8 ausgeliefert wird, und das ist heute fast jede Seite. Nur die fünf Sonderzeichen müssen maskiert werden; „Größe“, „café“, „日本語“ und Emojis können so geschrieben werden, wie sie sind. Genau das macht die Option nur Sonderzeichen, und das HTML bleibt lesbar.
Jedes Nicht-ASCII-Zeichen zu maskieren ist trotzdem nützlich, wenn die Ausgabe durch etwas läuft, das nicht UTF-8-sicher ist: ein Altsystem in ISO-8859-1 oder Windows-1252, manche E-Mail-Strecken oder eine Quelldatei, deren Kodierung Sie nicht kontrollieren. Das Ergebnis ist reines ASCII und übersteht jedes davon.
Wie das Dekodieren funktioniert
Der Decoder liest benannte Referenzen sowie dezimale (©) und hexadezimale (©) und folgt dabei den Regeln der Browser: Numerische Referenzen im Bereich 128–159 werden als Windows-1252 gelesen, wie es der HTML-Standard vorschreibt, sodass – zum Halbgeviertstrich wird; ungültige Codepoints werden zum Ersatzzeichen; und die wenigen Altnamen, die Browser ohne Semikolon akzeptieren, etwa ©, werden ebenfalls dekodiert. Unbekannte Namen, meist Tippfehler wie &nbps;, bleiben stehen und werden aufgelistet, damit Sie sie korrigieren können.
Stammt der Text aus einer URL statt aus HTML, nutzen Sie stattdessen den URL-Decoder: %3C ist Prozentkodierung, kein HTML-Entity.
Häufige Fragen
- Was sind HTML-Entities?
- HTML-Entities sind Codes, die für Zeichen stehen und zwischen & und ; geschrieben werden. Mit ihnen lassen sich Zeichen anzeigen, die HTML sonst als Markup behandeln würde, etwa < und &, oder Zeichen, die schwer zu tippen sind, etwa © oder ein geschütztes Leerzeichen.
- Welche Zeichen müssen in HTML maskiert werden?
- Fünf: & als &, < als <, > als >, das doppelte Anführungszeichen als " und das einfache als '. Die Anführungszeichen spielen nur in Attributwerten eine Rolle, sie überall zu maskieren schadet aber nicht.
- Wie dekodiere ich HTML-Entities?
- Wählen Sie Dekodieren und fügen Sie den Text ein. Benannte, dezimale und hexadezimale Entities werden beim Tippen in Zeichen umgewandelt, und unbekannte Entity-Namen werden aufgelistet.
- Was ist der Unterschied zwischen und einem normalen Leerzeichen?
- ist ein geschütztes Leerzeichen: Es sieht aus wie ein Leerzeichen, verhindert aber an dieser Stelle einen Zeilenumbruch, und Browser fassen mehrere davon nicht zu einem zusammen. Nützlich zwischen einer Zahl und ihrer Einheit, etwa 10 kg.
- Sollte ich ' oder ' für einen Apostroph verwenden?
- ' funktioniert überall. ' ist in HTML5 und XML gültig, aber nicht in HTML 4, daher ist ' für E-Mails und ältere Systeme die sicherere Wahl.
- Verhindert das Maskieren von HTML XSS?
- Text vor dem Einfügen in HTML zu maskieren ist die zentrale Abwehr gegen Cross-Site-Scripting, muss aber zum Kontext passen: HTML-Text, Attribute, URLs und JavaScript brauchen jeweils ihre eigene Kodierung. Bevorzugen Sie ein Template-System, das automatisch maskiert.
- Wird mein Text an einen Server gesendet?
- Nein. Kodieren und Dekodieren passieren vollständig in Ihrem Browser.