Free HTML Encoder & Decoder Online
Encode HTML special characters to entities and decode entities back to plain text in real time.
Key Features
Everything you need to handle HTML special characters
Encode text to HTML entities or decode entities back to readable text with a single click.
Results update instantly as you type so you can see the conversion without clicking any button.
browser-side workflows runs locally in your browser. Your data stays on your device for browser-side workflows.
Key Takeaways
- Encoding converts the five reserved characters (ampersand, less-than, greater-than, double quote, and single quote) into safe HTML entities, while Decode reverses entities back to plain readable characters.
- All conversion runs locally in your browser as you type, so there is no upload, no button to press, and your text stays on your device.
- Use Encode to safely display code as visible text or to sanitize untrusted user input against script injection, and use Decode to read scraped or escaped content without a library or build step.
- Single quotes are always encoded to the numeric ' for maximum compatibility, and switching between the Encode and Decode tabs clears both boxes, so copy any output you want to keep before switching.
How to Encode or Decode HTML Entities
Pick the Encode or Decode tab
Use the Encode tab to turn raw characters such as &, <, > and quotes into safe entities, or the Decode tab to turn existing entities back into plain characters. Switching tabs clears both boxes so you start from a clean slate.
Type or paste into the Input box
Drop your snippet into the Input area. The conversion runs as you type and stays on your device, so there is no upload step and no button to press to see results.
Copy or clear the result
The converted text appears instantly in the Output box. Press Copy Result to send it to your clipboard, or Clear to empty both boxes and convert something else.
What Each Mode Converts
The encoder targets the five characters that can break markup or open injection holes, while the decoder reverses entities back to readable text. The table below shows exactly what this tool transforms in each direction.
| Character or entity | Encode output | Decode input it accepts |
|---|---|---|
| Ampersand (&) | & | & |
| Less-than (<) | < | < |
| Greater-than (>) | > | > |
| Double quote (") | " | " |
| Single quote (') | ' | ' or ' |
| Symbols (copyright, dashes, nbsp) | Left as-is | © ® ™ — – and more |
When to Reach for This Tool
Displaying code in HTML
Encode a snippet before placing it inside a page so that tags render as visible text instead of being parsed as real markup.
Sanitizing user input
Encoding the five reserved characters is a core defense against breaking your layout and against script injection when echoing untrusted text.
Reading scraped or escaped content
Use Decode to turn entities like & or numeric codes such as © back into plain characters so you can read or reuse the original text.
Quick one-off conversions
For a single string you do not need a library or build step. Paste it, read the live output, and copy the result in a couple of clicks.
Common Problems and Fixes
An entity stayed unchanged after decoding
The decoder recognizes a fixed set of named entities (such as &, <, © and —) plus any decimal NN; or hex NN; code. Less common named entities are left untouched on purpose; convert them to their numeric form first if you need them decoded.
My single quotes became ' not '
This is expected. The encoder always outputs the numeric ' for single quotes because it is supported everywhere, including older HTML. The decoder accepts both ' and ' and turns either back into an apostrophe.
Switching tabs wiped my text
Changing between Encode and Decode clears both boxes so the two modes never mix. Copy any output you want to keep before switching, then paste it back into the Input box.
Nothing happens when I press Copy
Copy Result only works when the Output box has content, and clipboard access requires a modern browser. If the button does nothing, confirm there is output and select the text manually as a fallback.
About the HTML Encoder & Decoder
HTML encoding converts special characters like &, <, > and quotes into their safe entity equivalents so they display correctly in web pages without breaking markup. Decoding reverses this process. This free tool handles both directions in real time, entirely in your browser.
Frequently Asked Questions
Is this tool completely free?
Yes. The tool is 100% free to use with no registration, no subscription and no usage limits.
You can use it as many times as you need for personal or commercial projects without any cost.
We believe developer and productivity tools should be accessible to everyone without paywalls.
Why do I need to encode HTML characters?
Characters like <, > and & have special meaning in HTML markup. Including them literally in content can break your page structure or cause security issues.
Encoding replaces them with safe entity sequences like <, > and & that browsers display as the correct character.
This is especially important when outputting user-generated content in HTML to prevent cross-site scripting vulnerabilities.
What is the difference between named and numeric entities?
Named entities use a descriptive name such as & for & or © for the copyright symbol.
Numeric entities use the character code directly, either decimal like © or hexadecimal like © for the same copyright symbol.
Both forms are valid HTML. The decoder here handles all three formats.
Does this tool work offline?
Once the page has loaded, browser-side encoding and decoding can run locally using JavaScript.
No network requests are made during conversion so the tool continues to work even if your internet connection drops.
You can bookmark the page and return to it at any time for quick access.
Sources and References
Format and tool details on this page are based on the official specifications and documentation below.
- HTML Living Standard- WHATWG
- HTML- MDN Web Docs