YOUR TEXT STAYS IN THIS BROWSER

HTML Entity Converter

Turn characters into HTML references, or decode references back into text. Tags stay visible as text in the result.

Your text is processed on your device. This tool has no third-party scripts, and GlyphIndex never reads your clipboard automatically.

7 / 10,000 UTF-16 units Some characters count as two units.

JSON includes your input and the result. Keep the file private if the text is private.

CSV contains all inspection records. If the output exceeds 10,000 UTF-16 units, those records describe the input. Formula-leading cells start with an apostrophe; JSON keeps the exact text.

Try an example

Encode markup-significant characters

Named mode escapes the markup-significant characters and leaves the ordinary spaces visible.

Input text
< & >

Result
&lt; &amp; &gt;

Decode two spellings of A

One reference is hexadecimal and the other decimal. Both denote U+0041.

Input text
&#x41; &#65;

Result
A A

Keep markup-looking output inert

The decoded result is a literal string in a text field. No image element is created.

Input text
&lt;img src=x onerror=alert(1)&gt;

Result
<img src=x onerror=alert(1)>

Preserve and report an invalid scalar

The surrogate reference remains literal and is reported. It is not silently converted to a replacement character.

Input text
&#xD800;

Result
&#xD800; — invalid-scalar feedback

Require a closing semicolon

This converter uses explicit complete references. It does not emulate all HTML parser recovery rules.

Input text
&amp

Result
&amp — missing-semicolon feedback

Encode every scalar in hexadecimal

Hexadecimal mode represents every scalar, including ASCII characters.

Input text
A♥

Result
&#x41;&#x2665;

Choose a representation

Named mode uses a single-character reference where one is available and hexadecimal notation otherwise. It leaves ordinary printable ASCII readable, apart from markup-significant punctuation. Hexadecimal and decimal modes encode every scalar, including letters and spaces.

Decoding handles one layer at a time: &amp;lt; becomes &lt;, not <. Check the intermediate result before deciding whether to decode again.

Read feedback together with the output

A semicolon is required. Unknown names, malformed numbers, out-of-range values, and surrogate references stay unchanged and are flagged. Numeric control values are flagged without the legacy remapping an HTML parser may apply.

Keep the text-only boundary

The destination still matters. Inserting text into an HTML page differs from building a URL, script, or CSS value. Use the receiving system’s escaping method; entity conversion is not a complete HTML sanitizer.

Input is limited to 10,000 UTF-16 units, with a separate limit on expanded output. Unpaired surrogates in the input are rejected. Keep the original nearby when checking references that were left unchanged.

Sources and method

Copy manually

Couldn’t copy automatically. Select the text below and use your device’s Copy command.

Use your device’s Copy command, then paste the text where you need it.

Character details

Code points
UTF-8 bytes
View character details

Appearance can vary by font.

Your saved symbols

Save symbols for another visit in this browser. They won’t appear on your other devices or browser profiles.