diff --git a/Lib/htmlentitydefs.py b/Lib/htmlentitydefs.py
new file mode 100644
index 00000000000..36ae8df0e70
--- /dev/null
+++ b/Lib/htmlentitydefs.py
@@ -0,0 +1,101 @@
+# Proposed entity definitions for HTML, taken from
+# http://www.w3.org/hypertext/WWW/MarkUp/html-spec/html-spec_14.html
+
+entitydefs = {
+ 'nbsp': chr(160), # no-break space
+ 'iexcl': chr(161), # inverted exclamation mark
+ 'cent': chr(162), # cent sign
+ 'pound': chr(163), # pound sterling sign
+ 'curren': chr(164), # general currency sign
+ 'yen': chr(165), # yen sign
+ 'brvbar': chr(166), # broken (vertical) bar
+ 'sect': chr(167), # section sign
+ 'uml': chr(168), # umlaut (dieresis)
+ 'copy': chr(169), # copyright sign
+ 'ordf': chr(170), # ordinal indicator, feminine
+ 'laquo': chr(171), # angle quotation mark, left
+ 'not': chr(172), # not sign
+ 'shy': chr(173), # soft hyphen
+ 'reg': chr(174), # registered sign
+ 'macr': chr(175), # macron
+ 'deg': chr(176), # degree sign
+ 'plusmn': chr(177), # plus-or-minus sign
+ 'sup2': chr(178), # superscript two
+ 'sup3': chr(179), # superscript three
+ 'acute': chr(180), # acute accent
+ 'micro': chr(181), # micro sign
+ 'para': chr(182), # pilcrow (paragraph sign)
+ 'middot': chr(183), # middle dot
+ 'cedil': chr(184), # cedilla
+ 'sup1': chr(185), # superscript one
+ 'ordm': chr(186), # ordinal indicator, masculine
+ 'raquo': chr(187), # angle quotation mark, right
+ 'frac14': chr(188), # fraction one-quarter
+ 'frac12': chr(189), # fraction one-half
+ 'frac34': chr(190), # fraction three-quarters
+ 'iquest': chr(191), # inverted question mark
+ 'Agrave': chr(192), # capital A, grave accent
+ 'Aacute': chr(193), # capital A, acute accent
+ 'Acirc': chr(194), # capital A, circumflex accent
+ 'Atilde': chr(195), # capital A, tilde
+ 'Auml': chr(196), # capital A, dieresis or umlaut mark
+ 'Aring': chr(197), # capital A, ring
+ 'AElig': chr(198), # capital AE diphthong (ligature)
+ 'Ccedil': chr(199), # capital C, cedilla
+ 'Egrave': chr(200), # capital E, grave accent
+ 'Eacute': chr(201), # capital E, acute accent
+ 'Ecirc': chr(202), # capital E, circumflex accent
+ 'Euml': chr(203), # capital E, dieresis or umlaut mark
+ 'Igrave': chr(204), # capital I, grave accent
+ 'Iacute': chr(205), # capital I, acute accent
+ 'Icirc': chr(206), # capital I, circumflex accent
+ 'Iuml': chr(207), # capital I, dieresis or umlaut mark
+ 'ETH': chr(208), # capital Eth, Icelandic
+ 'Ntilde': chr(209), # capital N, tilde
+ 'Ograve': chr(210), # capital O, grave accent
+ 'Oacute': chr(211), # capital O, acute accent
+ 'Ocirc': chr(212), # capital O, circumflex accent
+ 'Otilde': chr(213), # capital O, tilde
+ 'Ouml': chr(214), # capital O, dieresis or umlaut mark
+ 'times': chr(215), # multiply sign
+ 'Oslash': chr(216), # capital O, slash
+ 'Ugrave': chr(217), # capital U, grave accent
+ 'Uacute': chr(218), # capital U, acute accent
+ 'Ucirc': chr(219), # capital U, circumflex accent
+ 'Uuml': chr(220), # capital U, dieresis or umlaut mark
+ 'Yacute': chr(221), # capital Y, acute accent
+ 'THORN': chr(222), # capital THORN, Icelandic
+ 'szlig': chr(223), # small sharp s, German (sz ligature)
+ 'agrave': chr(224), # small a, grave accent
+ 'aacute': chr(225), # small a, acute accent
+ 'acirc': chr(226), # small a, circumflex accent
+ 'atilde': chr(227), # small a, tilde
+ 'auml': chr(228), # small a, dieresis or umlaut mark
+ 'aring': chr(229), # small a, ring
+ 'aelig': chr(230), # small ae diphthong (ligature)
+ 'ccedil': chr(231), # small c, cedilla
+ 'egrave': chr(232), # small e, grave accent
+ 'eacute': chr(233), # small e, acute accent
+ 'ecirc': chr(234), # small e, circumflex accent
+ 'euml': chr(235), # small e, dieresis or umlaut mark
+ 'igrave': chr(236), # small i, grave accent
+ 'iacute': chr(237), # small i, acute accent
+ 'icirc': chr(238), # small i, circumflex accent
+ 'iuml': chr(239), # small i, dieresis or umlaut mark
+ 'eth': chr(240), # small eth, Icelandic
+ 'ntilde': chr(241), # small n, tilde
+ 'ograve': chr(242), # small o, grave accent
+ 'oacute': chr(243), # small o, acute accent
+ 'ocirc': chr(244), # small o, circumflex accent
+ 'otilde': chr(245), # small o, tilde
+ 'ouml': chr(246), # small o, dieresis or umlaut mark
+ 'divide': chr(247), # divide sign
+ 'oslash': chr(248), # small o, slash
+ 'ugrave': chr(249), # small u, grave accent
+ 'uacute': chr(250), # small u, acute accent
+ 'ucirc': chr(251), # small u, circumflex accent
+ 'uuml': chr(252), # small u, dieresis or umlaut mark
+ 'yacute': chr(253), # small y, acute accent
+ 'thorn': chr(254), # small thorn, Icelandic
+ 'yuml': chr(255), # small y, dieresis or umlaut mark
+}