Remove HTML Special Characters From Text
- HTML entities appearing as literal text need decoding to get clean plain text
- Common sources: CMS exports, API responses, copied web content, RSS feeds
- The decoder strips all standard entities and returns readable text
- Free, browser-based, no upload, no signup
Table of Contents
You have text littered with & < " and similar codes. These HTML entities are supposed to be invisible — the browser renders them as characters. But when content moves out of the browser context (into a spreadsheet, plain text file, email, or database query), the entities show up literally and make a mess.
Decoding strips them out and gives you clean, readable text.
Why HTML Entities Appear as Literal Text
HTML entities are rendered by browsers, not displayed as-is. When content leaves the browser context and lands somewhere else, the rendering step is skipped and the raw entity codes show up.
Common sources of entity-polluted text:
- WordPress database exports — WordPress stores post content with entities encoded. Export to CSV or query the database directly and you get the raw codes.
- Web scraping — Scraping tools that pull raw HTML give you encoded entities in the text fields unless the scraper decodes them.
- API responses — Some APIs return HTML-encoded strings in JSON, even when the content is meant to be plain text.
- Copy-pasting from websites — Depending on the browser and source site, pasting into some apps brings over entity codes.
- Email systems — HTML emails that render in a browser encode their content. Forwarding or exporting can surface the raw entities.
How to Remove HTML Special Characters From Text
- Copy your entity-polluted text. Example:
Tom & Jerry — Season 1 Review: "Classic" - Paste it into the HTML entity decoder.
- Click "Decode."
- Copy the clean output:
Tom & Jerry — Season 1 Review: "Classic"
The decoder handles all standard named entities and numeric entities in one pass. If the output still contains entities, the content was double-encoded — run it through the decoder a second time.
Sell Custom Apparel — We Handle Printing & Free ShippingWhat the Decoder Removes (and What It Leaves)
The decoder converts entities to their character equivalents — it does not strip them, it decodes them:
- & → &
- < → <
- > → >
- " → "
- ' → '
- → (non-breaking space — this one can be tricky; it looks like a regular space but behaves differently in some apps)
- — → —
- Numeric entities like & → &
The tool does not remove HTML tags (like <p> or <div>). If your text has both entity codes and HTML tags, use the HTML entity decoder first to resolve the entities, then handle tag removal separately if needed.
Tips for Batch Cleaning Large Blocks of Text
For small blocks of text, the browser tool handles it easily — paste, decode, copy. For larger volumes:
- CMS database exports — Most database management tools (phpMyAdmin, Sequel Pro, TablePlus) let you run SQL. The PHP function
html_entity_decode()or a query withREPLACE()handles bulk decoding if you have database access. - Spreadsheet cleanup — If you have a column full of entity-encoded text in Google Sheets or Excel, there is no built-in decode function. Copy the column to the decoder tool, decode, paste back. For large sheets, a short script is more practical.
- Python scripts —
html.unescape(text)decodes HTML entities in one line, useful for batch processing files.
For one-off cleaning or small batches, the browser tool is the fastest option with no setup required.
Clean HTML Entities From Your Text
Paste your text. Get clean readable output. Free, no signup, no upload.
Open Free HTML Entity ToolFrequently Asked Questions
How do I remove & and < from text?
Paste the text into the HTML entity decoder and click Decode. It converts all entities back to their original characters in one pass.
Why does my text show & instead of &?
The text was HTML-encoded before you received it. It was not rendered by a browser, so the entity code is showing literally. Decoding converts it back to the readable character.
Does this remove HTML tags as well as entities?
No — the decoder converts entities to characters but does not strip tags. <p> becomes
after decoding. Use a separate tag stripper if you need to remove HTML tags too.
What if the decoded text still has entities in it?
The content was double-encoded. Run it through the decoder a second time. Each pass removes one layer of encoding.

