Next-Gen App & Browser Testing Cloud
Trusted by 2 Mn+ QAs & Devs to accelerate their release cycles

Decode HTML symbols online: paste HTML with named, decimal, or hex symbol codes such as €, ©, or € and get readable text with the real characters. Everything runs in your browser, with no signup and no upload.
Search the 2,125 named HTML symbol codes that end with a semicolon, by entity name, symbol, decimal code, hexadecimal code, or Unicode value. Select any code in the table to copy it. The standard lists 106 further legacy names that also work without the semicolon.
| Symbol | Name | Named code | Decimal code | Hex code | Unicode |
|---|---|---|---|---|---|
| Æ | AElig | U+00C6 | |||
| & | AMP | U+0026 | |||
| Á | Aacute | U+00C1 | |||
| Ă | Abreve | U+0102 | |||
| Â | Acirc | U+00C2 | |||
| А | Acy | U+0410 | |||
| 𝔄 | Afr | U+1D504 | |||
| À | Agrave | U+00C0 | |||
| Α | Alpha | U+0391 | |||
| Ā | Amacr | U+0100 | |||
| ⩓ | And | U+2A53 | |||
| Ą | Aogon | U+0104 | |||
| 𝔸 | Aopf | U+1D538 | |||
| Invisible | ApplyFunction | U+2061 | |||
| Å | Aring | U+00C5 | |||
| 𝒜 | Ascr | U+1D49C | |||
| ≔ | Assign | U+2254 | |||
| Ã | Atilde | U+00C3 | |||
| Ä | Auml | U+00C4 | |||
| ∖ | Backslash | U+2216 | |||
| ⫧ | Barv | U+2AE7 | |||
| ⌆ | Barwed | U+2306 | |||
| Б | Bcy | U+0411 | |||
| ∵ | Because | U+2235 | |||
| ℬ | Bernoullis | U+212C | |||
| Β | Beta | U+0392 | |||
| 𝔅 | Bfr | U+1D505 | |||
| 𝔹 | Bopf | U+1D539 | |||
| ˘ | Breve | U+02D8 | |||
| ℬ | Bscr | U+212C | |||
| ≎ | Bumpeq | U+224E | |||
| Ч | CHcy | U+0427 | |||
| © | COPY | U+00A9 | |||
| Ć | Cacute | U+0106 | |||
| ⋒ | Cap | U+22D2 | |||
| ⅅ | CapitalDifferentialD | U+2145 | |||
| ℭ | Cayleys | U+212D | |||
| Č | Ccaron | U+010C | |||
| Ç | Ccedil | U+00C7 | |||
| Ĉ | Ccirc | U+0108 | |||
| ∰ | Cconint | U+2230 | |||
| Ċ | Cdot | U+010A | |||
| ¸ | Cedilla | U+00B8 | |||
| · | CenterDot | U+00B7 | |||
| ℭ | Cfr | U+212D | |||
| Χ | Chi | U+03A7 | |||
| ⊙ | CircleDot | U+2299 | |||
| ⊖ | CircleMinus | U+2296 | |||
| ⊕ | CirclePlus | U+2295 | |||
| ⊗ | CircleTimes | U+2297 |
The HTML Symbols tool is a free online decoder that turns HTML symbol codes such as €, ©, and € into the characters they stand for and returns readable text. Paste HTML, and it applies the same character reference rules that browsers follow from the WHATWG HTML Living Standard.
The standard's named character references table lists 2,231 names for 1,511 characters, and numeric codes reach nearly every other Unicode character. To go the other way, from characters to codes, use the Text to HTML Entities Converter.
Decoding symbol codes takes one paste, with nothing to install and no account. Follow these steps:
For example, the sample icon loads these three paragraphs, one per code type:
<p>I will display €</p>
<p>I will display ©</p>
<p>I will display €</p>The Output box then shows the tags removed and every code replaced by its symbol:
I will display €
I will display ©
I will display €HTML gives you three ways to write the same symbol, all defined in WHATWG HTML Living Standard section 13.1.4. They render identically, but they differ in readability and coverage:
| Aspect | Named code | Decimal code | Hex code |
|---|---|---|---|
| Syntax | &name; | &#number; | &#xhex; |
| Euro sign example | € | € | € |
| Characters covered | 1,511 characters that have a name | Nearly every Unicode character | Nearly every Unicode character |
| Readability in source | Easiest to read | Needs a lookup | Matches U+ code points |
| Case sensitive | Yes, &Copy; is not © | Not applicable, digits only | No, € also works |
| Missing semicolon | Only 106 legacy names still decode | Still decodes, but is a parse error | Still decodes, but is a parse error |
These are the symbol codes that appear most often in templates and exported HTML. Paste any of them into the tool above to check the result:
| Symbol | Name | Named code | Decimal code | Hex code |
|---|---|---|---|---|
| (space) | No-break space | |   |   |
| < | Less-than sign | < | < | < |
| > | Greater-than sign | > | > | > |
| & | Ampersand | & | & | & |
| " | Quotation mark | " | " | " |
| © | Copyright sign | © | © | © |
| ® | Registered sign | ® | ® | ® |
| ™ | Trade mark sign | ™ | ™ | ™ |
| € | Euro sign | € | € | € |
| £ | Pound sign | £ | £ | £ |
| ° | Degree sign | ° | ° | ° |
| × | Multiplication sign | × | × | × |
| → | Rightwards arrow | → | → | → |
| ✓ | Check mark | ✓ | ✓ | ✓ |
The first five rows are characters HTML uses for its own markup, so text containing them is often stored as codes. The HTML Escape tool creates those codes when you need to show markup as text.
As a tool, HTML Symbols follows the same parsing rules as a browser, so what you see in the Output box is what a page would show. Here are its features:
Symbol codes turn up wherever HTML is stored, exported, or tested. These are the jobs the HTML Symbols tool handles well:
The HTML Symbols tool is built and maintained by TestMu AI (formerly LambdaTest) as part of its free developer and QA utilities.
An HTML symbol code shows as plain text when the browser cannot read it as a character reference. Common causes are a misspelled name such as &rarow;, a name missing its required semicolon, or an ampersand that was escaped twice, so &euro; displays as € instead of €.
HTML symbol codes should always end with a semicolon, as the WHATWG HTML Living Standard requires. Browsers still decode 106 legacy names without one, so © 2026 shows © 2026, but &euro 20 stays as plain text. Adding the semicolon gives the same result in every case.
The WHATWG HTML Living Standard lists 2,231 named character references for 1,511 distinct characters. Many characters have several names, so the rightwards arrow can be →, →, →, →, or →. Names are case sensitive, which is why &Copy; is not recognized.
A misspelled HTML symbol code usually stays exactly as typed, so &rarow; remains &rarow;. The exception is a misspelling that starts with a legacy name that works without a semicolon: ¬it; decodes the ¬ part and shows ¬it; instead. Compare input and output to spot these cases.
The code € displays € because browsers do not output most numbers from 128 to 159 as C1 control codes. The WHATWG HTML Living Standard swaps them for printable characters from a replacement table, so € becomes € and ™ becomes ™. The correct code for the euro sign is €.
No. The HTML Symbols tool parses input with the browser DOMParser API, which marks script elements as non-executable and does not call event handlers. Script and style blocks are then removed and only plain text is shown. All processing happens in your browser, and nothing is uploaded.
Yes. The HTML Symbols tool accepts plain text as well as full HTML, so Price 20€ → Buy becomes Price 20€ → Buy. Tags are optional, and every named, decimal, or hexadecimal symbol code in the input is decoded the same way.
Emoji have no named HTML symbol codes, so you write them with a numeric code based on the Unicode code point. The grinning face emoji U+1F600 is 😀 in decimal or 😀 in hexadecimal. Paste either code into the HTML Symbols tool to confirm it shows 😀.
To show an HTML symbol code as literal text, escape its ampersand. Writing &copy; in your HTML displays © on the page instead of ©, because & becomes a plain ampersand. Paste the markup into the HTML Symbols tool to preview exactly what the page will show.
The code inserts a no-break space, Unicode character U+00A0. It looks like a normal space but stops the browser from breaking the line there, which keeps pairs such as 10 km or a price and its currency together. The HTML Symbols tool keeps no-break spaces between words.
Did you find this page helpful?
TestMu AI forEnterprise
Get access to solutions built on Enterprise
grade security, privacy, & compliance