HTML Entity Decoder

HTML Entity Decoder

Decode HTML entities to plain text online — unescape <, >, &, " and all named entities instantly in your browser.

Updated April 2026

Shift + Enter to Copy · Shift + for tabs
HTML Entities Input
0 characters
Decoded Text
Speed
Privacy
Local Only
Size
0 KB

HTML Entity Decoder Online — Unescape HTML Entities Free

Got a string full of <, &, ", and ' that you need to read as plain text? This free HTML Entity Decoder converts HTML-encoded content back to its original characters instantly, entirely in your browser, with no data sent anywhere.

Whether you're debugging encoded API responses, reading CMS-exported content, or reverse-engineering an HTML template, the decoded result is ready to copy with one click.

How to Use the HTML Entity Decoder

  1. Paste your encoded content — paste any string containing HTML entities like <, >, &, ", ', ©, or numeric references like <.
  2. See the decoded result instantly — the original text appears in real time.
  3. Copy the output — click Copy or press Shift+Enter to copy the decoded plain text.

Switch to the Encode tab to go the other direction, or click "Swap & Encode" to send the decoded output straight to the encoder.

How HTML Entity Decoding Works

HTML entities are text sequences that browsers interpret as special characters. They come in three forms:

Form Example Decoded
Named entity &lt; <
Decimal numeric &#60; <
Hex numeric &#x3C; <

This decoder handles all three forms, including the full range of named HTML5 entities (&copy;©, &euro;, &nbsp; → non-breaking space) and any numeric character references, using the browser's native HTML parser for maximum accuracy and compatibility.

Common HTML Entities Quick Reference

These are the entities you'll encounter most often and need to decode:

Entity Decoded Name
&lt; < Less-than sign
&gt; > Greater-than sign
&amp; & Ampersand
&quot; " Double quote
&#39; ' Apostrophe
&nbsp; Non-breaking space
&copy; © Copyright
&reg; ® Registered trademark
&mdash; Em dash
&ndash; En dash
&euro; Euro sign
&pound; £ Pound sign

Numeric references (&#60;, &#x3C;) work for any Unicode code point — handy for characters with no named entity equivalent.

Common Use Cases

  • Debugging API responses: Backend services sometimes return HTML-encoded strings in JSON payloads — especially when the data originally came from HTML form submissions. Decoding reveals the actual content.
  • Reading CMS exports: WordPress, Drupal, and many other CMSs store content with encoded special characters. Exported XML or CSV files often contain entities that need decoding before the content is readable or processable.
  • Parsing HTML email content: Raw email source (particularly MIME parts) frequently contains encoded characters. Decoding lets you read the actual text without entity noise.
  • Reverse-engineering HTML snippets: When copying text from a browser's DOM inspector or a web scraper output, you often get entity-encoded versions of the original characters.
  • Validating encoding/decoding round-trips: Use encode → decode → compare to verify that your application's HTML encoding logic produces reversible, lossless output.
  • Cleaning data pipelines: ETL processes ingesting HTML content from third-party sources often produce entity-riddled strings. Decode them before storing to a database or passing to downstream services.
  • Reading RSS and Atom feeds: Feed parsers frequently encounter encoded content in <title> and <description> fields. Decoding is necessary to display or index the clean text.

Frequently Asked Questions

What HTML entities does this decoder support?

This decoder supports all standard named HTML5 entities (including &nbsp;, &copy;, &euro;, &mdash;, etc.), decimal numeric references (&#60;), and hexadecimal numeric references (&#x3C;). It uses the browser's native DOMParser for parsing, which guarantees full HTML5 compliance.

Is decoding HTML entities safe — can it run embedded JavaScript?

No. This decoder uses DOMParser to parse the input as an HTML document and then extracts only the textContent — never using innerHTML or executing any scripts. Even if the input contains <script> tags encoded as &lt;script&gt;, the output is plain text, not executable code.

What is the difference between HTML decoding and URL decoding?

HTML decoding converts entity syntax (&lt;<) to restore characters for display in HTML documents. URL decoding converts percent-encoded sequences (%3C<) to restore characters in URLs and query strings. They are separate encoding schemes for different contexts — use the right tool for each.

Why does decoded text sometimes look different from what I expected?

This can happen if the input was double-encoded (encoded twice). For example, &amp;lt; decodes to &lt; (not <) because only one layer of encoding is removed at a time. Run the decoder a second time to strip the second layer, or use the Encode tool to check what your input should have looked like before encoding.

Can I decode HTML entities inside a large block of mixed content?

Yes. Paste the entire block — the decoder processes the full string and decodes all entities it finds, leaving non-entity text unchanged. The output is the complete decoded version of whatever you paste in.

Resources

Related Tools