Home / Developer tools / HTML decode

HTML Decode

Turn HTML entities back into normal characters. Paste text full of & and ' and get readable text, with a list of every entity that was found.

Decoded text

Entities found

What HTML entities are

An HTML entity is a piece of text that stands for a single character, such as & for & or é for é. Websites, databases and APIs often store text in this form, so when you copy it you see the codes and not the characters. The decoder converts them back.

What it decodes

  • Named entities: ©, é, … and the rest of the more than 2,000 names that HTML defines. The names are read by your browser, so the list is always complete.
  • Decimal entities: € is €.
  • Hex entities: € is also €.
CharacterEntityDecimalHexMeaning
&&&&ampersand
<&lt;&#60;&#x3C;less-than sign
>&gt;&#62;&#x3E;greater-than sign
"&quot;&#34;&#x22;double quotation mark
'&apos;&#39;&#x27;apostrophe (single quote), HTML5 and XML
(invisible)&nbsp;&#160;&#xA0;non-breaking space
©&copy;&#169;&#xA9;copyright sign
®&reg;&#174;&#xAE;registered sign
™&trade;&#8482;&#x2122;trade mark sign
€&euro;&#8364;&#x20AC;euro sign
…&hellip;&#8230;&#x2026;horizontal ellipsis
—&mdash;&#8212;&#x2014;em dash

Double-encoded text

If you see &amp;lt; or &amp;amp;, the text was encoded twice: &lt; became &amp;lt;. A single decode gives you &lt; back. Tick Decode repeatedly to keep going until nothing changes, and the tool tells you how many rounds it needed. Leave it off when the text is meant to show an entity, for example in a tutorial about HTML.

Options

  • What to decode: everything, only numeric entities, or only the five basic ones (& < > " and the apostrophe).
  • Only with a semicolon: browsers also accept a few entities without the closing semicolon, such as &copy 2024. Tick this to decode only complete entities.
  • Normal spaces for non-breaking spaces: replaces &nbsp; results with an ordinary space, which is useful when you paste into a spreadsheet or a database.

Things the tool tells you

  • An entity that does not exist, such as &unknown;, is left as it is and listed as unknown.
  • Numeric codes from 128 to 159, such as &#150;, are read as Windows-1252 characters, as browsers do. That gives an en dash.
  • A code that is not valid Unicode, such as 0 or a number above 1,114,111, becomes the replacement character �.

Safe by design

The result is shown as plain text. It is never put into a page as HTML, so decoding an entity like &lt;script&gt; cannot run anything. Everything happens in your browser and nothing is uploaded.

To go the other way, use HTML encode. To convert entities into decimal, hex or JavaScript escapes, use the entity decoder and converter. Look up any entity in the HTML entities list, and read the HTML entities guide for how they work.

Frequently asked questions

How do I decode HTML entities?

Paste the text into the box. The decoded text appears at once, and you can copy it or use it as new input.

Why does my text show &amp; instead of &?

The text was encoded twice. Tick the option to decode repeatedly, and the extra level of encoding is removed.

Does it decode numeric entities like &#8217;?

Yes. Decimal entities such as &#8217; and hex entities such as &#x2019; are both decoded.

Is my text sent to a server?

No. The decoding runs in your browser, and the result is shown as plain text only.