Skip to main content
· 5 min read

HTML Entities Guide: Escape Markup Safely

Written by Muhammad Ali · Senior Full Stack Software Engineer

Personal website: codedbymali.com

HTML entities guide for developers: when to escape `<`, `>`, and `&`, how entities prevent XSS in text nodes, and how to encode or decode snippets locally.

HTML entities let you write characters that would otherwise be interpreted as markup. `&lt;` becomes `<`, `&amp;` becomes `&`, and `&quot;` becomes `"`. Escaping user-controlled text before inserting it into HTML is a foundational XSS defense for text nodes.

Frameworks often auto-escape in templates, but raw `innerHTML`, markdown pipelines, and email HTML still need care. Encode when you mean “show this as text”; do not double-encode content that is already escaped.

Decoding helps when you inherit messy CMS output or need to read an entity-heavy string in logs. Keep the distinction clear: encoding for safe display is not the same as sanitizing full HTML documents — use a dedicated sanitizer when you must allow a subset of tags.

EverydayDevTools HTML entity tools (under Encoding Tools) help you convert snippets locally while debugging templates and CMS exports.

Open Encoding Tools