Turn HTML entity-encoded content into readable text by decoding common entities like & and < in seconds.
Decode HTML entities back to their original characters instantly with the XConvert HTML Entity Decoder. Paste text containing named entities (&, <), decimal references (©), or hexadecimal references (©) and get clean, readable plain text. This free, client-side tool runs entirely in your browser โ no data is sent to any server.
HTML entities are essential for safe web content, but they make source code and raw data difficult to read. When you are inspecting HTML source, processing scraped web content, debugging template output, or migrating content between systems, you need to convert those entity references back to the characters they represent. The XConvert HTML Entity Decoder handles all entity types โ named, decimal, and hexadecimal โ and produces clean Unicode text instantly.
&), decimal numeric references (like &), hexadecimal references (like &), and plain text.The decoder handles all 2,231 named HTML entities defined in the HTML5 specification, as well as any valid decimal or hexadecimal numeric character reference.
HTML entities are encoded representations of characters that have special meaning in HTML or that cannot be easily typed on a keyboard. They serve two primary purposes: preventing special characters from being interpreted as HTML markup, and representing characters that are not available in the document's character encoding.
Every HTML entity starts with an ampersand (&) and ends with a semicolon (;). There are three forms:
& decodes to &, < decodes to <, > decodes to >, " decodes to ", © decodes to ยฉ, — decodes to โ, and decodes to a non-breaking space.& decodes to &, © decodes to ยฉ, — decodes to โ.& decodes to &, © decodes to ยฉ, — decodes to โ.When a browser renders an HTML page, it automatically decodes all entities and displays the corresponding characters. The XConvert decoder performs this same conversion on raw text, which is useful when you are working with HTML source code outside of a browser context.
For the reverse operation โ encoding plain text into HTML entities โ use the HTML Entity Encoder.
| Feature | XConvert Decoder | Browser DevTools | Programming Libraries |
|---|---|---|---|
| Client-side processing | โ Yes | โ Yes | โ ๏ธ Depends |
| No data transmission | โ Yes | โ Yes | โ Local |
| Named entity support | โ All 2,231 | โ All | โ Varies by library |
| Numeric references | โ Decimal + hex | โ Yes | โ Yes |
| Full Unicode support | โ Yes | โ Yes | โ Yes |
| Handles mixed content | โ Entities + plain text | โ ๏ธ Manual | โ Yes |
| Double-decode detection | โ Visual comparison | โ No | โ Manual |
| No installation | โ Yes | โ Built into browser | โ Requires setup |
| Batch processing | โ Yes | โ Manual | โ With scripting |
| Cost | Free | Free | Free |
Reading HTML Source Code โ When inspecting the source of a web page, entity-encoded content like <div class="container"> is hard to read. Decoding it to <div class="container"> makes the content immediately understandable.
Processing Web Scraped Data โ Web scraping tools often capture raw HTML including entity references. Before using the scraped text in your application, database, or analysis pipeline, decode the entities to get clean plain text. This is especially common when scraping product descriptions, article content, or user reviews.
Debugging Template Output โ When a template engine or CMS double-encodes content (turning & into &amp;), the page displays literal entity text instead of the intended characters. The decoder helps you identify and fix these double-encoding issues by showing what each layer of decoding produces.
Migrating Content Between Systems โ When moving content from one CMS, database, or platform to another, entity-encoded text may need to be decoded and re-encoded according to the target system's conventions. The decoder provides the clean intermediate text.
Cleaning Data Exports โ Database exports, CSV files, and API responses sometimes contain HTML entities from web-originated data. Decoding these entities produces clean text suitable for reports, spreadsheets, and non-HTML contexts. Pair with the CSV to JSON Converter or JSON to CSV Converter for data transformation workflows.
Accessibility and Screen Reader Testing โ Screen readers interpret decoded text, not entity references. Decoding entities helps you verify that the actual character content is correct and will be read properly by assistive technologies.
HTML entity decoding is the process of replacing entity references with their corresponding Unicode characters. The HTML5 specification defines the complete set of named character references in a JSON mapping that associates each entity name with one or more Unicode code points. The XConvert decoder implements this full mapping, ensuring that even obscure named entities like ♥ (โก), ★ (โ
), and ⋢ (โ) are decoded correctly.
Numeric character references are decoded by parsing the decimal or hexadecimal number after &# or &#x, then converting the resulting code point to the corresponding Unicode character. The decoder validates that the code point falls within the valid Unicode range (U+0000 to U+10FFFF, excluding surrogates U+D800 to U+DFFF) and that it does not reference a prohibited control character. Invalid references are left unchanged in the output, making it easy to identify malformed entities.
A common challenge in entity decoding is handling double-encoded or multiply-encoded content. When text passes through multiple encoding stages โ for example, user input encoded by a web framework, then encoded again by a template engine โ entities get nested: & becomes &, which becomes &amp;. The XConvert decoder performs a single pass of decoding by default, which is the correct behavior for most use cases. If you suspect multiple layers of encoding, you can decode the output again until no further entities remain. Comparing the input and output after each pass helps you determine how many encoding layers were applied.
(non-breaking spaces) โ Non-breaking spaces ( , Unicode U+00A0) look identical to regular spaces but behave differently in text processing. After decoding, be aware that what appears to be a normal space might be a non-breaking space, which can cause issues in string comparisons and text processing.& without ;) may or may not be decoded depending on the context. The XConvert decoder follows the HTML5 parsing rules, which are lenient about missing semicolons for some named entities.The XConvert HTML Entity Decoder handles all three types: named entities (e.g., &, ©, —), decimal numeric references (e.g., &, ©), and hexadecimal numeric references (e.g., &, ©). It supports all 2,231 named entities defined in the HTML5 specification.
Double encoding occurs when already-encoded text is encoded again. For example, & becomes &, and if encoded again, becomes &amp;. The page then displays the literal text & instead of &. To fix it, decode the text multiple times until no entities remain, then encode it exactly once before inserting it into HTML.
(non-breaking space)?Yes. is decoded to Unicode character U+00A0 (non-breaking space). This character looks like a regular space but prevents line breaks at that position and is not collapsed by HTML rendering. Be aware that it may cause unexpected behavior in string comparisons.
Yes, you can paste an entire HTML page into the decoder. However, be aware that decoding will convert all entities, including those in the HTML tags themselves. This means <div> will become <div>, which changes the meaning of the content. For most use cases, you should decode only the text content, not the full HTML markup.
Invalid entities (malformed references or unknown named entities) are left unchanged in the output. This makes it easy to identify problematic entity references in your content. For example, ¬arealentity; will appear as-is in the decoded output.
Yes. The XConvert HTML Entity Decoder runs entirely in your browser using client-side JavaScript. Your text is never transmitted to any server, making it safe for confidential, proprietary, or personally identifiable information.
' and '?Both represent the apostrophe/single quote character ('). ' is the named entity (defined in XML and HTML5), while ' is the decimal numeric reference. They produce identical output when decoded. Note that ' was not defined in HTML4, so ' is sometimes preferred for maximum compatibility.
Yes. Web scraping often captures raw HTML with entity references. Pasting the scraped text into the decoder converts all entities to plain characters, producing clean text suitable for analysis, storage, or display in non-HTML contexts.
Emoji and other characters outside the Basic Multilingual Plane are decoded from their numeric references. For example, 😀 or 😀 both decode to the ๐ emoji. The decoder correctly handles these multi-byte characters.
Yes. Use the HTML Entity Encoder for the reverse operation. Together, the encoder and decoder provide complete round-trip conversion between plain text and HTML entity-encoded text.
Related XConvert Tools: HTML Entity Encoder ยท URL Encoder/Decoder ยท Base64 Encoder/Decoder ยท CSV to JSON Converter ยท JSON to CSV Converter