</> HTML · DECODER

HTML Entity Decoder

Turn <p>, ", ’ and   back into readable characters. Decodes all 2,231 named entities of HTML5 using the same rules as your browser — including the tricky cases — and fixes double-encoded text.

All 2,231 HTML5 entities · Browser-exact rules · Double-encoding repair
Seeing & or <? The text was encoded twice — turn on Decode repeatedly.Need to encode instead? HTML Entity Encoder →
Encoded HTML &name; · { · 😀
Decoded text
Input: –
Output: –
Entities decoded: –
Passes: –
Time: –
WHATWG HTML entity table · 100% Client-Side
◆ ABOUT THIS TOOL

What Does an HTML Entity Decoder Do?

It converts character references back into the characters they stand for.

HTML uses character references to write characters that are reserved or hard to type: &lt; for <, &amp; for &, &nbsp; for a non-breaking space, &#8217; or &#x2019; for a curly apostrophe. They show up in page source, CMS exports, RSS feeds, JSON from APIs and database dumps.

This decoder contains the complete list of 2,231 named entities from the HTML Living Standard, plus decimal and hexadecimal references, and turns them back into normal text.

Browser-exact. It follows the HTML rules in detail: some old entities work without a semicolon (&copy, &amp), numeric codes 128–159 map to Windows-1252 characters (&#150; is an en dash), and invalid codes become �. In Attribute value mode, ?a=1&copy=2 stays as it is, just like in a link's href.

Unknown entities such as &nbps; (a typo) are left untouched and listed, so you can find and fix them.

⌘ REFERENCE

Common HTML Entities

The ones you'll meet most often.

EntityNumberCharacterName
&amp;&#38;&Ampersand
&lt; / &gt;&#60; / &#62;< >Less / greater than
&quot;&#34;"Double quote
&apos;&#39;'Apostrophe
&nbsp;&#160;(space)Non-breaking space
&copy;&#169;©Copyright
&rsquo;&#8217;’Right single quote
&mdash;&#8212;—Em dash
&hellip;&#8230;…Ellipsis
&euro; / &#8377;&#8364;€ ₹Euro / Rupee (no named entity)
◐ THREE STEPS

How to Use the HTML Entity Decoder

Get your result in under ten seconds.

1

Paste the encoded text

From page source, a feed, an API response or a database export.

2

Pick the context

Page text (default) or an attribute value such as a link's href.

3

Copy the result

Unknown entities are listed so nothing is silently lost.

✓ FEATURES

Why Use the HTML Entity Decoder on Developers Web Tools

Fast, accurate and private — built for developers.

2231

Complete table

Every named entity in the HTML Living Standard, not just the common 250.

≡

Browser-exact

Semicolon-less legacy entities, Windows-1252 codes and invalid numbers handled per spec.

↻

Double-encoding fix

Decode &amp;amp;lt; in up to five passes.

?

Unknown entities

Typos like &nbps; are reported, not silently dropped.

⚡

Big inputs

Large files are decoded in a background thread.

🔒

Private

Runs entirely in your browser — nothing is uploaded.

FAQ

Frequently Asked Questions

Both are an apostrophe ('). &#39; is a numeric reference that works everywhere; &apos; is a named one that's valid in HTML5 and XML.

That's how browsers do it: &not is one of the old entities that work without a semicolon, so the longest known name is decoded and the rest is kept. This decoder follows the same rule. In attribute mode it isn't decoded when a letter, digit or = follows.

Codes 128–159 are control characters in Unicode, but old Windows pages used them for punctuation. The HTML standard says to map them to the Windows-1252 characters, so &#150; is – and &#146; is ’.

Yes. The result is only shown as plain text — nothing you paste is run or rendered. Be careful where you use the output, though: decoded <script> is real code.

No. Decoding runs entirely in your browser.