OnboxTools
Local processingNo uploadFree
Report bug

HTML unescape online

Unescape HTML entities back to readable text

HTML unescape online — paste entity strings like <p> or 👋 and recover the original characters instantly. Built for inspecting CMS output, email templates, and API responses without server-side PHP.

Entity string
Unescaped text
Size change

Complete guide to HTML unescape online

What HTML unescape does

HTML unescape reverses entity encoding: sequences like &, <, ', and 👋 become their real characters. When you unescape html online, you translate transport-safe markup back into what an editor would show.

This is not URL decoding, Base64 decoding, or JWT parsing — each layer has its own alphabet. Use this page when the input is clearly HTML entity syntax starting with &.

The tool uses the same browser-native approach as unescape html javascript snippets you see in Stack Overflow: assign to a textarea's innerHTML and read .value. Named and numeric decimal and hex forms are supported per DOM rules.

Malformed sequences — incomplete &# references or stray ampersands — surface as errors or partial output rather than silent corruption.

How to unescape HTML online

Paste your entity string into the input panel. Unescaped text appears live as you edit. &lt;hello&gt; becomes <hello>; &#39; becomes a straight apostrophe.

Copy unescaped text with one click or save as a .txt file. For round-trip verification, paste the result into our HTML Escape tool and confirm you get the original entities back.

Import a .txt or .html fragment when the string is too long to paste reliably from a log viewer or database export.

Clear the editor when finished if you are working with sensitive template content on a shared machine.

Unescape html javascript and server equivalents

Unescape html javascript without a library by creating a textarea, setting innerHTML to the entity string, and reading value — exactly what this tool does internally.

PHP html_entity_decode and similar server functions use PHP's entity table. This page is a client-side alternative for quick inspection when you want html unescape online without deploying PHP.

Unescape python workflows often use html.unescape() from the standard library. Compare your app's output against this tool when debugging charset or double-encoding issues.

Oracle APEX escape html and i18n escape topics focus on production escaping; use this unescape tool to read already-escaped debug output from those platforms.

When to unescape entity strings

CMS and WordPress fields that show literal &amp; on the page may be double-escaped. Unescape once here to see the intermediate form before fixing the pipeline.

Email template QA: pasted HTML from marketing tools often arrives entity-encoded; unescape to read copy and links before approving sends.

Log and API inspection: when a JSON field contains &lt; tags&gt;, unescape to read the HTML fragment your service stored or returned.

Legacy content migration: old databases store &#160; and &mdash; entities — unescape to inspect real whitespace and punctuation before normalization.

Common unescape pitfalls

Double-encoding: if output still looks like entities, unescape again only when you trust the source. Stop if you begin seeing raw script tags from untrusted input.

Wrong layer: percent-encoded URLs (%3C) need the URL Encoder, not html unescape. Base64-wrapped HTML needs Base64 decode first.

Full documents vs fragments: pasting an entire page may include structural whitespace from tags. This tool targets strings and snippets, not production DOM parsing.

Security: unescaping untrusted HTML and re-inserting it into a live page can reintroduce XSS. Pair unescape with a whitelist sanitizer when publishing user content.

Unescape example

Input: &lt;p&gt;Hello &amp; welcome &#128075;&lt;/p&gt; — output: <p>Hello & welcome 👋 with real tags and emoji restored.

Named entities like &nbsp; and &mdash; unescape to their Unicode characters when recognized by the browser.

Debugging double-escaped CMS content

Paste the field value, unescape once, and inspect whether the result still contains ampersand-entity patterns. If yes, your storage or export may escape twice.

Fix the pipeline so storage saves UTF-8 text and escaping happens once on output, not on every save.

Matching unescape python output

Compare html.unescape(your_string) in Python against this tool. Mismatches on rare entities may mean different HTML5 entity catalogs.

Use unescaped output only for inspection — do not paste untrusted HTML into production admin panels without sanitizing.

HTML Unescape FAQ

How do I html unescape online?

Paste entity text into the input panel. Unescaped output updates automatically. Copy or download the recovered text.

Is this the same as unescape html javascript?

Yes. It uses the textarea innerHTML technique common in browser-side unescape snippets, handling named and numeric entities.

Does it handle &#xHEX; entities?

Yes for standard numeric hex entities supported by the browser.

What about &nbsp; and &mdash;?

Named entities unescape to their Unicode characters when recognized.

Can I escape the output again?

Yes. Open our HTML Escape tool, paste the unescaped text, and copy the escaped form.

Is my markup sent to a server?

No. HTML unescape runs entirely in your browser.

Does the HTML Unescape send my input to a server?

Yes. Everything runs in your browser. Your input is not uploaded, logged, or stored on our servers.

Do I need an account?

No account or sign-up is required. Open the page and start using the tool immediately.