Encoding

Decode HTML entities back to text

HTML Decoder turns character entities back into the characters they stand for: &amp; becomes &, &lt; becomes <, &quot; becomes " and numeric forms like &#38; work the same way. It is what you reach for when exporting content to plain text or unescaping HTML that arrived in a database or JSON field. Decoding is one pass with the browser's own entity table, so a string that was encoded once comes out as the literal text.

How to use HTML Decode

  1. Open HTML Decode in the Toolbox101 app.
  2. Paste the encoded text, such as &lt;a href=&quot;/x&quot;&gt;Tom &amp; Jerry&lt;/a&gt;, into the Input box. Decoding runs live as you type.
  3. Read the unescaped result from the Output box; entities that decode to <, >, or & appear as plain characters.
  4. Click Copy to put the plain text on your clipboard and paste it where you need it.

Worked example

HTML Decode returns the output below for this input.

Input

&lt;a href=&quot;/x&quot;&gt;Tom &amp; Jerry&lt;/a&gt;

Output

<a href="/x">Tom & Jerry</a>

Check it yourself: open HTML Decode and enter the same input.

Frequently asked questions

Which entities does the decoder understand?

Every character reference a browser understands: named entities such as &amp;, &lt;, &gt;, &quot;, and &copy;, plus decimal and hexadecimal numeric references like &#38; and &#x26;. The decoding table is the browser's own, so the output matches what a rendered page would display.

Can pasting encoded HTML run scripts or load content?

No. The decoder only turns entities into text. Nothing you paste is parsed as markup, so even raw tags in the input stay plain text, and no scripts run and no images or other resources load.

Why does my text still contain &amp; after decoding?

Your content was encoded more than once. Decoding happens in a single pass, so &amp;lt; becomes &lt; and &#38;#x26; becomes &#x26;. Run the output through the decoder again to unwind a second layer. A bare & that was never encoded stays untouched.

How is HTML decode different from HTML encode?

They are inverses. HTML Encode escapes text into entities for safe display, while this decoder turns entities back into the characters they stand for. A string from a database that reads &lt;b&gt; is decoded here to <b>, and encoding it again reproduces the original, a useful round-trip check.

Use HTML Decode now

Runs in your browser. Nothing you type is uploaded.