HTML Decode

Decode HTML entities back to original characters — paste, decode, and copy instantly.

Input Encoded
Output HTML
Decoded HTML will appear here...
info

About HTML Decode

HTML Decode converts HTML character entities back into the characters they represent. When text passes through an HTML encoder, characters such as angle brackets, ampersands, and quotes are replaced with entity references — < becomes the less-than sign, & becomes a literal ampersand, " becomes a double quote, and so on. This tool reverses that substitution so the original string is readable and usable again.

You will reach for this tool when handling data that was over-eagerly encoded somewhere in a pipeline: API responses that double-encode JSON strings, database exports where content was stored as escaped HTML, CMS fields that return entity-laden text, or third-party feed data where headlines arrive as "Breaking News — Markets Rise". Decoding by hand is error-prone for anything beyond a handful of entities, and regex substitutions miss edge cases such as hexadecimal numeric references. Pasting the text here resolves all entity types in one step.

All decoding runs entirely in your browser using the native DOM: the tool assigns your text to a textarea element's innerHTML property and reads back the value the browser produces — the same logic browsers have used for decades. Nothing is sent to a server, nothing is logged, and there is no account or payment required. You can decode confidential database exports, internal API payloads, or client content without any of it leaving your machine.

star

Key Features

check_circle

All entity types decoded

Named entities (&, <, >,  , ©, € and hundreds more), decimal numeric references (©), and hexadecimal numeric references (©) are all resolved in a single pass.

check_circle

Browser-native accuracy

Decoding uses the same textarea.innerHTML trick browsers themselves rely on, so the output matches exactly what a browser would render — no custom lookup tables that could be incomplete or out of date.

check_circle

100% client-side processing

Your text never leaves your browser. No network request is made, making it safe for confidential API payloads, internal database exports, and proprietary content.

check_circle

Handles double-encoded input

If your text was encoded twice (entities inside entities), a second decode pass resolves the remaining layer — simply click Decode again on the output.

check_circle

One-click copy

Copy the decoded result to the clipboard with a single button and paste it directly into your code editor, spreadsheet, or document.

check_circle

No limits or sign-up

Decode strings of any length as many times as needed — no rate limits, no account, and no cost.

help

How to Use

01

Paste Encoded HTML

Paste your HTML-encoded text with entities into the input pane.

02

Decode

Click "Decode" to convert HTML entities back to their original characters.

03

Copy Result

Use the copy button to grab your decoded HTML.

code_blocks

Example

Named entities, a decimal numeric reference, and a hex numeric reference are all resolved to their original characters in one pass.

HTML-encoded input
<article>
  <h1>Café & Bakery</h1>
  <p>Copyright © 2024 — All rights reserved.</p>
  <p>Price: €4.50 per item (tax incl.)</p>
</article>
Decoded output
<article>
  <h1>Café & Bakery</h1>
  <p>Copyright © 2024 — All rights reserved.</p>
  <p>Price: €4.50 per item (tax incl.)</p>
</article>
lightbulb

Common Use Cases

  • arrow_circle_right

    Cleaning API responses that return escaped HTML

    REST and GraphQL APIs sometimes return HTML content with entities already encoded. Decode the payload before rendering it to avoid showing raw entity strings like &amp;lt;strong&amp;gt; to end users.

  • arrow_circle_right

    Fixing double-encoded CMS content

    WordPress and similar platforms occasionally double-encode text stored in custom fields or post meta, causing & to appear as &amp;amp; on the front end. Decode the raw value to find and fix the source string.

  • arrow_circle_right

    Reading HTML-escaped database exports

    Legacy databases often stored user-submitted text as HTML-encoded strings for XSS safety. When exporting that data for migration or analysis, decode it first so the content is plain readable text.

  • arrow_circle_right

    Parsing HTML email source

    Email clients encode special characters in the text/html part of a message. Decoding the raw source reveals the readable copy, which is useful for template audits and content extraction.

  • arrow_circle_right

    Debugging third-party data feeds

    RSS, Atom, and JSON feeds from external providers frequently encode titles and descriptions. Decode the raw feed entry to see the actual text before passing it to further processing or display logic.

quiz

Frequently Asked Questions

What is HTML Decode? expand_more
HTML Decode is a free online tool that converts HTML entities back into their original characters. It reverses HTML encoding by converting entities like &lt; back to <, &amp; back to &, &quot; back to double quotes, and all other named and numeric HTML entities to their readable forms.
What types of entities does it support? expand_more
The tool supports all HTML entity types: named entities (like &amp;, &lt;, &gt;, &nbsp;, &copy;), decimal numeric entities (like &#169;), and hexadecimal numeric entities (like &#xA9;). It handles the full range of Unicode characters represented as HTML entities.
Is my data secure? expand_more
Yes. All decoding happens entirely in your browser using JavaScript. No data is sent to any server, ensuring your content remains completely private and secure.
When would I need to decode HTML? expand_more
HTML decoding is useful when extracting text from HTML source code, processing API responses that contain encoded HTML, working with database content that was HTML-encoded for storage, or converting encoded content back to readable form for editing.
How is HTML Decode different from HTML to Text Converter? expand_more
HTML Decode resolves entity references (&amp;lt;, &#169;, &amp;copy;) back to their characters while leaving all the HTML tags intact. HTML to Text Converter does the opposite job: it removes the tags entirely and returns only the words a reader would see. Use Decode when you want to keep the markup but fix the entities; use HTML to Text when you want no markup at all.
How is this different from URL Decode? expand_more
URL decoding converts percent-encoded characters used in URLs (e.g. %20 for a space, %3C for <). HTML decoding converts entity references used inside HTML documents (e.g. &amp;lt; for <, &amp;nbsp; for a non-breaking space). The two encodings are separate and this tool only handles HTML entities.
What happens if the input was encoded twice? expand_more
A double-encoded string such as &amp;amp;lt; will decode to &amp;lt; on the first pass. Click Decode a second time on the output and it resolves to <. Each click strips one layer of encoding.
Is there a limit on input size? expand_more
There is no fixed limit. Because processing runs locally in your browser, you can decode large strings, with performance depending only on your device.