Skip to content
Zoyku

HTML Escape / Unescape

Escape or unescape HTML entities live as you type: & < > and quotes become safe references, with an optional numeric mode for non-ASCII characters.

This tool runs entirely in your browser. Your data never leaves your device — it is not uploaded to any server.

How to use

  1. 1Paste HTML or escaped text into the input box.
  2. 2Pick Escape or Unescape; both run live as you type.
  3. 3Enable numeric entities if you need non-ASCII output like &#233;.
  4. 4Copy the result — the char-count readout shows how much it grew or shrank.

HTML Escape / Unescape

Encode the five characters that break HTML — ampersand, angle brackets and both quote styles — into their named entities, or paste entities back into readable text. A second toggle switches accented and non-Latin characters to numeric references like &#233;, useful for legacy systems and email templates.

Both directions run live in one panel, and the readout shows exactly how the character count changed, so a broken double-escape is visible at a glance.

Frequently asked questions

Why is the single quote escaped as &#39; instead of &apos;?

&apos; is valid in XML and HTML5 but was never part of HTML 4, so some older parsers and email clients mishandle it. The numeric &#39; is safe everywhere.

Do I need to escape non-ASCII characters?

In UTF-8 documents, usually no — browsers handle é directly. Numeric entities matter for legacy encodings, email pipelines or systems that mangle non-ASCII bytes.

Which named entities does unescaping recognize?

About 70 common ones — markup (&amp;, &lt;, &gt;, &quot;, &apos;), punctuation (&mdash;, &hellip;, &ldquo;), Latin accents and symbols (&copy;, &euro;) — plus every decimal and hexadecimal numeric reference.

Embed this tool

Put this tool on your own site with one line — it runs entirely in the visitor's browser.

<iframe src="https://zoyku.com/en/tools/html-escape?embed=1" width="100%" height="640" style="border:0;border-radius:16px" title="Zoyku — html-escape" loading="lazy"></iframe>
100% local processing