diff --git a/requests_html.py b/requests_html.py
index 0a049d9..e49c3c7 100644
--- a/requests_html.py
+++ b/requests_html.py
@@ -309,6 +309,10 @@ class HTML(BaseParser):
def __init__(self, *, url: str = DEFAULT_URL, html: _HTML, default_encoding: str = DEFAULT_ENCODING) -> None:
+ # Convert incoming unicode HTML into bytes.
+ if isinstance(html, str):
+ html = html.encode(DEFAULT_ENCODING)
+
super(HTML, self).__init__(
# Convert unicode HTML to bytes.
element=PyQuery(html)('html') or PyQuery('{}'.format(html))('html'),