HTML Character Codes & 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).

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 TNTParking.com 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). 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">
OR
<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("style='font-family:Arial,Helvetica,sans-serif;font-size:larger;color:red;'>");
document.write("<font color='ff0000'>");
document.write(emailuser + "&#64;" + servernamehalf1 + servernamehalf2 + domainextension);
document.write("</a>");
//-->
</script>
<!-- /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 Thursday, October 29, 2020 5:57 AM

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

Valid XHTML 1.0 Transitional HTMLCharacterCodes.com Logo Valid CSS!
High definition web hosting for heavy duty business websites.