Make HTML characters readable or ready to paste
Encode ordinary text when characters such as & and < need to appear literally in HTML. Decode when you want to read text such as <h1>. Paste your text, choose a direction and convert. The result is always displayed as text, including decoded tags.
Which encoding style should I choose?
Essential HTML escapes ampersands, angle brackets and both quotation marks while keeping Tamil, other Unicode text and emoji readable. Named entities (ASCII) or Decimal entities (ASCII) also encodes non-ASCII characters. Choose named references where available, such as ©, or decimal references such as ©. Both represent the same character in HTML.
Every input ampersand is literal: encoding & produces &amp;. Existing references are not silently preserved. Encoding is intended for HTML text and quoted attribute values. It is not an HTML sanitizer or a substitute for the separate escaping rules for JavaScript, CSS, URLs or unquoted attributes.
Why are there three decoding modes?
HTML text rules follows HTML character-reference rules, including recognized names without a semicolon. Attribute value rules handles ambiguous names differently: ¬it; stays unchanged in an attribute but becomes ¬it; in text. Require semicolons leaves incomplete references untouched. Unknown names remain literal in every mode.
Decoding happens once: &lt; becomes <, not an angle bracket. Numeric references follow HTML rules: € becomes €, while zero, surrogate and out-of-range values become the replacement character U+FFFD. This is not a lossless decoder for arbitrary binary data. A literal NUL or an unpaired surrogate is rejected with a correction message.
Keep control of your input
Example, import, clear, large paste and reverse conversion provide one Undo replacement. Undo restores the previous input, encoding/decoding direction, conversion style and imported source filename. Reusing a result or editing replaces the file identity with an editor-text label. Ordinary typing clears that history. Choose a UTF-8 text or HTML file, or drop one onto the import area. File contents, including a byte-order mark and CRLF line endings, are retained until you edit them; the editor displays line breaks as LF.
Copy and Download always use the complete result. Large previews show only the first 32,768 characters. Downloads preserve carriage returns and add no newline. Clipboard behavior can depend on the operating system; use the text download when exact bytes matter. Empty input produces an empty file.
Local processing and limits
No input is uploaded, saved automatically, rendered as HTML or executed. Encoding accepts up to 1 MiB of UTF-8 input; decoding and output allow 8 MiB for expanded references. Work runs in a cancellable local worker with a ten-second deadline; file reading has the same deadline.
Character-reference behavior follows the HTML parsing standard, using entities with its BSD license. For percent escapes such as %20, use the URL encoder and decoder.