HTML Character Code Reference & Anti-spam Tips

Info Block

This article has two parts, the first is the HTML Character Code Reference Table & the second part follows as Anti-spam Tips. The worldwide web is a mess because of scammers and spammers. All webmasters are required to know how to prevent the proliferation of scams and spam as a part of their job. In the interest of awareness, education and fairness, this document is offered as reference content for your website according to the conditions of republication. Republication methods and instructions on how to incorporate this article into your website are also available.


HTML Character Code Reference Table

lowercase letters | uppercase letters | numerical digits | fractions | arrows | card suits
dash | underscore | period | " | @ | & | | © | | ® | » | | | ~

All characters and codes are displayed in bold for clarity, descriptions are not...
Name Codes Number Codes Character Description
Code Result Code Result
    � unused & reserved (invalid code) [BACK] [HOME]
     unused & reserved (invalid code)  
     unused & reserved (invalid code)  
     unused & reserved (invalid code)  
     unused & reserved (invalid code)  
     unused & reserved (invalid code)  
     unused & reserved (invalid code)  
     unused & reserved (invalid code)  
     unused & reserved (invalid code)  
    	 horizontal tab  
    &#10; linefeed (numerical code equivalent of <br> tag)  
    &#11; unused & reserved (invalid code)  
    &#12; unused & reserved (invalid code)  
    &#13; unused & reserved (invalid code)  
    &#14; unused & reserved (invalid code)  
    &#15; unused & reserved (invalid code)  
    &#16; unused & reserved (invalid code)  
    &#17; unused & reserved (invalid code)  
    &#18; unused & reserved (invalid code)  
    &#19; unused & reserved (invalid code)  
Name Codes Number Codes Character Description
Code Result Code Result
    &#20; unused & reserved (invalid code) [BACK] [HOME]
    &#21; unused & reserved (invalid code)  
    &#22; unused & reserved (invalid code)  
    &#23; unused & reserved (invalid code)  
    &#24; unused & reserved (invalid code)  
    &#25; unused & reserved (invalid code)  
    &#26; unused & reserved (invalid code)  
    &#27; unused & reserved (invalid code)  
    &#28; unused & reserved (invalid code)  
    &#29; unused & reserved (invalid code)  
    &#30; unused & reserved (invalid code)  
    &#31; unused & reserved (invalid code)  
    &#32; space ( )  
! ! &#33; ! exclamation mark (!)  
&quot; " &#34; " double quotation mark (")  
# # &#35; # number or pound sign (#)  
$ $ &#36; $ dollar sign ($)  
% % &#37; % percent sign (%)  
&amp; & &#38; & ampersand (&) or "and-sign"  
' ' &#39; ' apostrophe (')  
Name Codes Number Codes Character Description
Code Result Code Result
( ( &#40; ( left parenthesis [(] [BACK] [HOME]
) ) &#41; ) right parenthesis [)]  
* * &#42; * asterisk (*)  
+ + &#43; + plus sign (+)  
, , &#44; , comma (,)  
- - &#45; - dash, hyphen or subtraction sign (-)  
. . &#46; . period (.)  
&frasl; &#47; / slash (/)  
0 0 &#48; 0 number zero (0)  
1 1 &#49; 1 number one (1)  
2 2 &#50; 2 number two (2)  
3 3 &#51; 3 number three (3)  
4 4 &#52; 4 number four (4)  
5 5 &#53; 5 number five (5)  
6 6 &#54; 6 number six (6)  
7 7 &#55; 7 number seven (7)  
8 8 &#56; 8 number eight (8)  
9 9 &#57; 9 number nine (9)  
: : &#58; : colon (:)  
; ; &#59; ; semicolon (;)  
Name Codes Number Codes Character Description
Code Result Code Result
&lt; < &#60; < less-than sign (<) [BACK] [HOME]
= = &#61; = equals sign (=)  
&gt; > &#62; > greater-than sign (>)  
? ? &#63; ? question mark (?)  
@ @ &#64; @ "at" sign (@)  
A A &#65; A uppercase letter A  
B B &#66; B uppercase letter B  
C C &#67; C uppercase letter C  
D D &#68; D uppercase letter D  
E E &#69; E uppercase letter E  
F F &#70; F uppercase letter F  
G G &#71; G uppercase letter G  
H H &#72; H uppercase letter H  
I I &#73; I uppercase letter I  
J J &#74; J uppercase letter J  
K K &#75; K uppercase letter K  
L L &#76; L uppercase letter L  
M M &#77; M uppercase letter M  
N N &#78; N uppercase letter N  
O O &#79; O uppercase letter O  
Name Codes Number Codes Character Description
Code Result Code Result
P P &#80; P uppercase letter P [BACK] [HOME]
Q Q &#81; Q uppercase letter Q  
R R &#82; R uppercase letter R  
S S &#83; S uppercase letter S  
T T &#84; T uppercase letter T  
U U &#85; U uppercas letter U  
V V &#86; V uppercase letter V  
W W &#87; W uppercase letter W  
X X &#88; X uppercase letter X  
Y Y &#89; Y uppercase letter Y  
Z Z &#90; Z uppercase letter Z  
[ [ &#91; [ left square bracket ([)  
\ \ &#92; \ backslash (\)  
] ] &#93; ] right square bracket (])  
^ ^ &#94; ^ caret (^)  
_ _ &#95; _ underscore (underline)  
    &#96; ` grave accent  
a a &#97; a lowercase letter a  
b b &#98; b lowercase letter b  
c c &#99; c lowercase letter c  
Name Codes Number Codes Character Description
Code Result Code Result
d d &#100; d lowercase letter d [BACK] [HOME]
e e &#101; e lowercase letter e  
f f &#102; f lowercase letter f  
g g &#103; g lowercase letter g  
h h &#104; h lowercase letter h  
i i &#105; i lowercase letter i  
j j &#106; j lowercase letter j  
k k &#107; k lowercase letter k  
l l &#108; l lowercase letter l  
m m &#109; m lowercase letter m  
n n &#110; n lowercase letter n  
o o &#111; o lowercase letter o  
p p &#112; p lowercase letter p  
q q &#113; q lowercase letter q  
r r &#114; r lowercase letter r  
s s &#115; s lowercase letter s  
t t &#116; t lowercase letter t  
u u &#117; u lowercase letter u  
v v &#118; v lowercase letter v  
w w &#119; w lowercase letter w  
Name Codes Number Codes Character Description
Code Result Code Result
x x &#120; x lowercase letter x [BACK] [HOME]
y y &#121; y lowercase letter y  
z z &#122; z lowercase letter z  
{ { &#123; { left curly brace ({)  
| | &#124; | vertical bar character (|)  
} } &#125; } right curly brace (})  
~ ~ &#126; ~ tilde (~) (Also see tilde2)
    &#127;  unused  
&euro; &#128; Euro currency symbol (€)  
    &#129;  unused  
&sbquo; &#130; single low 9 quote  
    &#131; ƒ footnote character  
&bdquo; &#132; double low-9 quote  
    &#133; ellipses  
&dagger; &#134; dagger character  
&Dagger; &#135; double dagger  
    &#136; ˆ circumflex  
&permil; &#137; per mill sign  
    &#138; Š tilde accented capital S  
&lsaquo; &#139; single left-pointing angle quote bracket  
Name Codes Number Codes Character Description
Code Result Code Result
    &#140; Œ capital CE symbol [BACK] [HOME]
    &#141;  unused  
    &#141;  unused  
    &#142; Ž tilde accented capital Z  
    &#143;  unused  
    &#144;  unused  
&lsquo; &#145; left single quote mark  
&rsquo; &#146; right single quote mark  
&ldquo; &#147; left double quotes  
&rdquo; &#148; right double quotes  
&bull; &#149; bullet  
&ndash; &#150; en dash  
&mdash; &#151; em dash  
&tilde; ˜ &#152; ˜ tilde (for accents & footnotes) (Also see tilde)
&trade; &#153; Trademark symbol  
    &#154; š tilde accented lowercase s  
&rsaquo; &#155; single right-pointing angle quote bracket  
    &#156; œ lowercase ce symbol  
    &#157;  unused  
    &#158; ž tilde accented lowercase z  
    &#159; Ÿ umlaut accented capital Y  
Name Codes Number Codes Character Description
Code Result Code Result
&nbsp;   &#160;   nonbreaking space [BACK] [HOME]
&iexcl; ¡ &#161; ¡ inverted exclamation  
&cent; ¢ &#162; ¢ cent sign  
&pound; £ &#163; £ british sterling pound symbol  
&curren; ¤ &#164; ¤ general currency symbol  
&yen; ¥ &#165; ¥ yen symbol  
&brvbar; ¦ &#166; ¦ broken vertical bar or vertical dashed line  
&sect; § &#167; § section symbol  
&uml; ¨ &#168; ¨ umlaut  
&copy; © &#169; © Copyright symbol  
&ordf; ª &#170; ª feminine ordinal  
&laquo; « &#171; « left angle quotes or double left arrow heads  
&not; ¬ &#172; ¬ not sign  
&shy; ­ &#173; ­ soft hyphen  
&reg; ® &#174; ® Registered Trademark symbol  
&macr; ¯ &#175; ¯ macron accent  
&deg; ° &#176; ° degree sign  
&plusmn; ± &#177; ± plus or minus (aka: give or take)  
&sup2; ² &#178; ² superscript two  
&sup3; ³ &#179; ³ superscript three  
Name Codes Number Codes Character Description
Code Result Code Result
&acute; ´ &#180; ´ acute accent [BACK] [HOME]
&micro; µ &#181; µ micro symbol  
&para; &#182; paragraph symbol  
&middot; · &#183; · middle dot or mid-space dot  
&cedil; ¸ &#184; ¸ cedilla  
&sup1; ¹ &#185; ¹ superscript one  
&ordm; º &#186; º masculine ordinal  
&raquo; » &#187; » right angled quotes or double right arrow heads  
&frac14; ¼ &#188; ¼ one-fourth  
&frac12; ½ &#189; ½ one-half  
&frac34; ¾ &#190; ¾ three-fourths  
&iquest; ¿ &#191; ¿ inverted question mark  
&Agrave; À &#192; À grave accented capital A  
&Aacute; Á &#193; Á acute accented capital A  
&Acirc; Â &#194; Â circumflex accented capital A  
&Atilde; Ã &#195; Ã tilde accented capital A  
&Auml; Ä &#196; Ä umlaut accented capital A  
&Aring; Å &#197; Å ring accented capital A  
&AElig; Æ &#198; Æ capital AE symbol  
&Ccedil; Ç &#199; Ç credila accented capital C  
Name Codes Number Codes Character Description
Code Result Code Result
&Egrave; È &#200; È grave accented capital E [BACK] [HOME]
&Eacute; É &#201; É acute accented capital E  
&Ecirc; Ê &#202; Ê circumflex accented capital E  
&Euml; Ë &#203; Ë umlaut accented capital E  
&Igrave; Ì &#204; Ì grave accented capital I  
&Iacute; Í &#205; Í acute accented capital I  
&Icirc; Î &#206; Î circumflex accented capital I  
&Iuml; Ï &#207; Ï umlaut accented capital I  
&ETH; Ð &#208; Ð capital ETH (Islandic)  
&Ntilde; Ñ &#209; Ñ tilde accented capital N  
&Ograve; Ò &#210; Ò grave accented capital O  
&Oacute; Ó &#211; Ó acute accented capital O  
&Ocirc; Ô &#212; Ô circumflex accented capital O  
&Otilde; Õ &#213; Õ tilde accented capital O  
&Ouml; Ö &#214; Ö umlaut accented capital O  
&times; × &#215; × multiplication sign  
&Oslash; Ø &#216; Ø slashed capital O or null (nil) character  
&Ugrave; Ù &#217; Ù grave accented capital U  
&Uacute; Ú &#218; Ú acute accented capital U  
&Ucirc; Û &#219; Û circumflex accented capital U  
Name Codes Number Codes Character Description
Code Result Code Result
&Uuml; Ü &#220; Ü umlaut accented capital U [BACK] [HOME]
&Yacute; Ý &#221; Ý acute accented capital Y  
&THORN; Þ &#222; Þ capital THORN (Islandic)  
&szlig; ß &#223; ß sharps (Duetsch)  
&agrave; à &#224; à grave accented lowercase a  
&aacute; á &#225; á acute accented lowercase a  
&acirc; â &#226; â circumflex accented lowercase a  
&atilde; ã &#227; ã tilde accented lowercase a  
&auml; ä &#228; ä umlaut accented lowercase a  
&aring; å &#229; å ring accented lowercase a  
&aelig; æ &#230; æ lowercase ae symbol  
&ccedil; ç &#231; ç credilla accented lowercase c  
&egrave; è &#232; è grave accented lowercase e  
&eacute; é &#233; é acute accented lowercase e  
&ecirc; ê &#234; ê circumflex accented lowercase e  
&euml; ë &#235; ë umlaut accented lowercase e  
&igrave; ì &#236; ì grave accented lowercase i  
&iacute; í &#237; í acute accented lowercase i  
&icirc; î &#238; î circumflex accented lowercase i  
&iuml; ï &#239; ï umlaut accented lowercase i  
Name Codes Number Codes Character Description
Code Result Code Result
&eth; ð &#240; ð lowercase eth (Islandic) [BACK] [HOME]
&ntilde; ñ &#241; ñ tilde accented lowercase n  
&ograve; ò &#242; ò grave accented lowercase o  
&oacute; ó &#243; ó acute accented lowercase o  
&ocirc; ô &#244; ô circumflex accented lowercase o  
&otilde; õ &#245; õ tilde accented lowercase o  
&ouml; ö &#246; ö umlaut accented lowercase o  
&divide; ÷ &#247; ÷ division sign  
&oslash; ø &#248; ø slashed lowercase O  
&ugrave; ù &#249; ù grave accented lowercase u  
&uacute; ú &#250; ú acute accented lowercase u  
&ucirc; û &#251; û circumflex accented lowercase u  
&uuml; ü &#252; ü umlaut accented lowercase u  
&yacute; ý &#253; ý acute accented lowercase y  
&thorn; þ &#254; þ lowercase thorn (Islandic)  
&yuml; ÿ &#255; ÿ umlaut accented lowercase y  
Name Codes Number Codes Character Description
Code Result Code Result
&spades;     card deck: spades suit mark [BACK] [HOME]
&clubs;     card deck: clubs suit mark  
&hearts;     card deck: hearts suit mark  
&diams;     card deck: diamonds suit mark  
&oline;     overline (overscore)  
&larr;     left arrow  
&uarr;     up appow  
&rarr;     right arrow  
&darr;     down arrow  
lowercase letters | uppercase letters | numerical digits | fractions | arrows | card suits
dash | underscore | period | " | @ | & | | © | | ® | » | | | ~

HTML Character Code Usage & Spam Prevention Tips

There are many important reasons for the above chart. Most specifically, it can be used as a reference for webmasters, web designers and site developers, as well as any one else who uses the HTML language for documents, help files and such. But the best reason that this chart is an especially handy reference resource for anyone who has a web page is: AS A DEFENSE AGAINST SPAM!

As webmasters/designers/developers we have to know enough to keep ourselves and our company/client out of trouble.  We are responsible for protecting or brands, websites and business operations.  And quite honestly, spam had killed my business several times back in the day, until I took proper actions to combat these scammers (over 50% of all email is spam and half of that are scams - scams are crimes and scammers are criminals).

Unused numerical character codes are commented out within the table above in order to allow HTML code validation, but as new character codes will emerge (as standards evolve and browsers support them) they will be added. Place holders for them ensure an easy update.

Defending Against The Spam-bots & Unwanted Spam

There are many spiders crawling the web. Most are great, they index your web site and it might result in a listing in a search engine. But there are also a few evil spiders crawling the web which do nothing but collect valid email addresses for companies who's sole intention is to spam you. This practice has corrupted and ruined the original intention of the AUTHOR Meta Tag.

There are a number of ways of defeating these evil bots. One way is to never put an actual mailto: link on your web site which would reveal your email address. You can use a gif or jpeg image to communicate your email address, but that makes it difficult for the visitor because he or she has to copy your address down into his/her email client. There are better solutions.

A better way is to use a JavaScript script to break up the name and reassemble it in the browser. This option does require the visitor to have JavaScript enabled on his/her machine.

Another option is to use character codes for the letters instead of the letters themselves. All modern browsers which I am aware of are capable of viewing the number codes for each alphabetical and numerical character without any problem whatsoever. If you hear of one that does not support these codes, I would suggest upgrading to a version that does.

Still another option is to use some combination of all of the above methods. I prefer this method. Most spiders aren't JavaScript capable.

Nevertheless, even if you only use the numerical codes for each character, you have defeated most of the evil email collecting spam bots out there. At least, until they improve them. Which is why I opt to jumble the email addresses on my web site within JavaScript while using the HTML character codes provided above.

In order to use these codes, you will have to make sure that the web page you are using them on communicates with the browser so that the codes are interpretted correctly. Some content management systems disallow the use of javascript, while others interpret the codes into characters which defeats the purpose. So a tiny bit of page preparation is necessary.

If you are having too much difficulty with your blog or host, you could do something like grab an .info extension of your domain and park it at for "free" (just be sure to add an ad to the bottom of the page that they will share with you, using it only 1/3 of the time), then use that domain to setup your contact page.  You will have to use a "Content Template" to hold the Javascript and then call your %contact_info% from within the web page(s) for the domain.

It won't be much work with full featured hosts (such as Domain Hostmaster or HD Web Hosting). Simply make sure your web page uses the correct character set code designation for your language and geographic area. Most English language web pages use one of the following lines inserted after the opening <head> tag (either above or just below the <title>Title of Your Page</title> tag):

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

Note that the first Meta Tag specifies Western/Latin encoding and is correct for most of North America. The second Meta Tag specifies Unified TypeFace encoding system which is also correct for most of North America and even includes most European Nations. This is currently becoming the most common, now.

If your country uses different encoding, you should use that one.

If you would like to use the JavaScript method as well, take a look at the example code which I have created to securely display my email address, the code displays below. Using this method, you can get ideas for implementing this on your own web site as a measure of defense against spam. The following example is all ready for you to copy, paste into your page, and edit according to your needs.


<!-- BEGIN JavaScript Email Scramble: -->
<script language="Javascript">
<!--//Simple script for scrambling email names to hide them from spam spiders/bots by Doug Peters from Symbiotic Design.

//Enter the correct information required below:
emailuser = "User Name as Character Codes"
servernamehalf2 = "Encoded Second Half of Server Name"
servernamehalf1 = "Encoded First Half of Domain Name"
domainextension = "&#46;&#99;&#111;&#109;" //(Currently: .com)
document.write("<a href='mailto:" + emailuser + "&#64;" + servernamehalf1 + servernamehalf2 + domainextension + "' ");
//Change the font-family, font-color and font-size below:
document.write("<font color='ff0000'>");
document.write(emailuser + "&#64;" + servernamehalf1 + servernamehalf2 + domainextension);
<!-- /END JavaScript Email Scramble -->


You can also check out the source code I used to display my email address, below. Simply view the source code for this page in your browser and take a look at the code which resides between the <!-- BEGIN JavaScript Email Scramble: --> and <!-- /END JavaScript Email Scramble --> tags to see how I implemented the script for my email address.

You are also welcome to use my email address to write me if you would like to update me on new codes, send me a query, comment, caveat or criticism. Just, don't spam me, bro!  ;)

The alphanumeric and common numerical codes usually relevant for email characters are highlighted in the Number Code column for easier identification. For easier retrieval, you may jump to the lowercase letters, uppercase letters, or numerical digits, sections. You also may want quick reference to the at-sign, as well as the dash, underscore, period and tilde characters.

DP TM & Artist's Mark
     Have fun!
-Doug Peters

Author's Block

Doug Peters is a professional designer and brand expert. Doug is the Creative Director of Symbiotic Design as well as a multi-talented Entrepreneur. Doug Peters designs logos, brands, online portfolios, advertising & marketing campaigns, manages intellectual properties and runs a number of websites for himself as well as for clients. This document was originally written by Doug Peters in 2001 and referenced several sources, but none of them were accurate or easily understandable. Hence, this document was established to avoid the incredible confusion that the others created. The code for this page has since been updated to utilize the HTML5 & CSS3 standards. This document was last updated and Copyright Doug Peters on Wednesday, October 28, 2020 8:18 PM

Doug Peters    • Domain Hostmaster    • WDADG    • Symbiotic Design    • Font-Journal    • Standard Logo    • HTML Character Code   
phpinfo() File    • Meta Tag & SEO   • Robots File   • Faviconvert   • Hyperlink Directory    • Glossary Index   
Resell Domains & Hosting    • Free Linux Hosting Reseller Program

Want to use this table/article?

You may use this important HTML character code reference table and article on your website as long as the entire article remains complete, unedited and intact (including everything from the top textual heading to the Author's Block) and the conditions of republication are met (as decribed below).

Conditions of Republication:
In order to use this page as a resource on your website, the article must be republished complete, unedited and intact. You can either use the entire page (you are permitted to add your header & footer) or just use all of the article. Republishers are encouraged to not only use the article, but the styling as well. In order to do so, you must not only copy the article, (everything between <!-- BEGIN ARTICLE DIV: --> and <!-- /END ARTICLE DIV --> in the body of the document), but also all of the styling for the document (everything between the <!-- BEGIN STYLES: --> and the <!-- /END STYLES --> comments in the head of the document). I recommend saving the page and editting around the article (within <div id="Article">) because the 2 parts are required in order to allow the page to display correctly. But restyling the document to blend into your website's design is encourged, just allow the article content itself to remain unaltered and intact.

Article Setup Instructions:
The entire web page can be saved and uploaded to your server, loaded as a page on your site or styled and branded within a frame from there. Copying and pasting the required source is allowed as described above, but be sure to copy the Article <DIV> (<div id="Article">) source code in its entirety (this will copy the entire article; everything including the top heading, reference table, anti-spam portion of the article, and the author's block). Paste it into a page of your own, intact.  The article itself must remain unedited, though you may check this page for updates at Feedback is encouraged (see the email link above).

This article offers its own navigation system.  The [BACK] link will always direct the user back one step in their history (possibly a to a spot on this page). Which means that a user might return elsewhere on the web if someone else links directly to your version of this page, instead of being sent to a page on your web/blog site. Therefore, I have also added [HOME] links to accompany each back link that do direct the user to your default home page link. This is actually a redundant link on our site, as it merely returns a user back to the top of the document. But it is included so that when this page is used on your site as a reference resource, the home link will return users to your site home page.

This page utilizes self-reliant styling techniques in that the page includes its own design information (within the head) without relying on loading an external Cascading Style Sheet document. Loading external styling leaves a web page susceptible to "naked page syndrome" as now most modern browsers are having trouble loading the external styling instructions reliably (they load the images/video/Flash just fine but sometimes forget to load external .css files, which is incredibly incapable). By offering self-reliant styling, users never see a naked page design (unless by choice).

All images will load from our server. There are only a couple, and one of them, the logo, is optional. Yet these images will always be available from our reliable server and will not generate any extra bandwidth on your web hosting plan.

You can simply place this article or page in the immediate subdirectory of the menu or page which calls it on your website. If you link to it from the default page of the parent directory (usually index.html, index.htm, index.shtml, default.htm or home.html depending upon your server's configuration). This file is named "index.html" because that is the default page for our Linux Apache servers. You can rename this file to anything you want. Copyrights don't protect filenames, anyway, just the content. If it is made to be the default page of the subdirectory from the default page which is calling it, you can simply call it with code such as <a href="directoryname/">Anti-spam Email Reference</a> (where "directoryname" is the name of the folder where this page resides). Be sure to include little trailing slash, as well. If you aren't making this page the default page in a subdirectory, it will still work fine, you just have to specify the filename that you saved it to your server as.

HTML Character Logo
This web page latest updated & Copyright by Doug Peters, Symbiotic Design™ on October 28, 2020, all rights reserved worldwide.

Valid XHTML 1.0 Transitional Domain Hostmaster for professional Domains, Websites, Hosting and Server Solutions Valid CSS!
HD Web Hosting has been the choice of professional webmasters since January of 2004. Don't settle for less!

Webmastering Tip, Tool & Resource Sites:
Doug Peters    • Domain Hostmaster    • HD Web Hosting    • Web Design And Development Group    • Symbiotic Design   
Font-Journal    • Standard Logo    • phpinfo() File    • Meta Tag & SEO   • Robots File   • Faviconvert    • Glossary/Index   
Hyperlink Directory   
Resell Domains & Hosting    • Free Linux Cloud Hosting Reseller Program