⚡ Recursive Multi-Pass, Semicolon Repair & Entity Matrix

HTML Decode Online

Decode HTML entities (named HTML5, decimal &#NN;, hex &#xXX;) with multi-layer recursive decoding, permissive semicolon auto-repair (&copy → ©), combined URL + HTML un-escaping, and 100% browser privacy.

How to Use the HTML Decoder

1

Paste Encoded Input

Paste any HTML entity string, double-encoded payload, or percent-encoded entities.

2

Configure Decoding Options

Enable Recursive Multi-Layer Decoding, Semicolon Auto-Repair, or Percent URL Un-Escape First.

3

Inspect Entity Matrix

View the Entity Breakdown Matrix to inspect matched entity codes, characters, and Unicode code points.

4

Copy & Export

Copy decoded text or code output with 1-click or download text file.

WHATWG HTML5 Entity Decoding, Recursive Multi-Pass Un-nesting, & Semicolon Auto-Repair

HTML entity decoding converts character references back into plain text characters or raw markup. The WHATWG HTML Living Standard defines 2,231 named character references along with decimal and hexadecimal numeric entities.

Comparing HTML Entity Formats & Decoded Outputs

Format TypeEncoded InputDecoded Output
Named HTML5 Entity&copy; &euro; &trade; &lt;© € ™ <
Decimal Numeric Entity&#169; &#8364; &#60;© € <
Hexadecimal Entity&#xA9; &#x20AC; &#x3C;© € <
Double-Encoded Entity&amp;lt;p&amp;gt;<p> (Pass 1) → <p> (Pass 2)
Semicolon-less Legacy Entity&copy 2026 Acme &amp Co© 2026 Acme & Co

Handling Double Encoding & Legacy Semicolon Omissions

Legacy databases and scraped web pages often contain entities missing trailing semicolons (e.g. &copy 2026). Furthermore, multi-tier architectures often produce double-encoded payloads like &amp;lt;. Our HTML Decoder automatically handles multi-pass recursive un-nesting and permissive semicolon auto-repair.

100% Local Browser Privacy & Security

Encoded HTML input payloads often contain private text or API log traces. Our HTML Decoder operates 100% locally in your web browser using JavaScript Web Workers. Zero text data leaves your device.

Frequently Asked Questions

What types of HTML entities are supported for decoding?

Our HTML Decoder supports all 2,231 WHATWG HTML5 named character references (e.g. &copy;, &euro;, &trade;, &amp;, &lt;, &gt;, &quot;), Decimal numeric entities (&#169;), and Hexadecimal entities (&#xA9;).

What is Recursive Multi-Layer Decoding?

When strings are double or triple encoded by microservices or legacy template engines (e.g. &amp;amp;lt;), recursive decoding automatically performs multiple passes until all nested entity layers are decoded into plain text.

How does Semicolon Auto-Repair work?

Legacy HTML content often contains missing semicolons (e.g. &copy 2026 or &ltdiv&gt). Semicolon Auto-Repair recognizes relaxed WHATWG entities and restores them to their intended characters.

What is Combined URL + HTML Decoding?

Logs and webhook parameters often mix URL percent-encoding with HTML entities (e.g. %26lt%3Bdiv%26gt%3B). Enabling "Percent URL Un-Escape First" decodes percent-encoded characters before un-escaping HTML entities.

How does the Entity Breakdown Matrix work?

The Entity Matrix displays an interactive character-by-character table showing raw matched entity strings, decoded characters, Unicode code points (U+XXXX), and entity types.

What is the DOM Render Sandbox Preview?

The DOM Sandbox Preview visualizes how decoded HTML markup elements render visually inside a standard web page DOM component.

Can I batch decode multiple encoded HTML strings?

Yes! Switch to "Multi-line Batch Mode" to decode multiple HTML strings or log entries simultaneously (one per line).

Is my encoded input string sent to any remote server?

No. 100% of decoding, recursive un-nesting, matrix generation, and DOM preview rendering runs locally inside your web browser using JavaScript Web Workers. Zero data leaves your machine.

What decoding metrics are calculated?

The Metrics view displays total entities decoded, total recursive passes taken (depth count), and character length diffs.

How do I switch to HTML entity encoding?

Click the "Switch to Encode" button or navigate to /encode-decode/html-encode to encode plain text characters into HTML entities.

Related Encoding & Decoding Tools