HTML entities represent special characters with text codes. Browsers read "<" as the start of a tag and "&" as the start of an entity, so to display those characters literally you write them as < or &. Basic Encode converts the five characters that matter: & → &, < → <, > → >, " → " and ' → '. For example "<p>" becomes "<p>", which shows up as text on the page instead of opening a paragraph.
Encode All goes further and turns every non-ASCII character (accented letters, CJK text, symbols, emoji) plus those five characters into decimal numeric entities: "©" becomes "©", "é" becomes "é" and "😀" becomes "😀". That is useful when the output has to be pure ASCII, for legacy systems, some email templates or files whose encoding you cannot trust.
Decode uses the browser’s own HTML parser, so it handles named entities (©, ) as well as decimal and hex numeric entities (©, ©). Note that if the input contains real tags such as <b>text</b>, they are parsed as HTML during decoding and only the text content remains.
The symbol library below holds about 80 handy characters grouped into stars and hearts, arrows, math and currency, and emoji. Search by English keyword (arrow, heart, check) and click any symbol to copy it, which is handy for posts, documents and UI work. All encoding and decoding happens in your browser; nothing is uploaded.