diff --git a/yt_dlp/downloader/mhtml.py b/yt_dlp/downloader/mhtml.py
index 3d4f2d7634..6986eadd4b 100644
--- a/yt_dlp/downloader/mhtml.py
+++ b/yt_dlp/downloader/mhtml.py
@@ -119,7 +119,7 @@ body > figure > img {
fragments=fragments,
frag_boundary=frag_boundary,
title=title,
- )
+ ).encode()
ctx['dest_stream'].write((
'MIME-Version: 1.0\r\n'
@@ -135,7 +135,7 @@ body > figure > img {
'Content-Type: text/html; charset=utf-8\r\n'
f'Content-Length: {len(stub)}\r\n'
'\r\n'
- f'{stub}\r\n').encode())
+ ).encode() + stub + b'\r\n')
extra_state['header_written'] = True
for i, fragment in enumerate(fragments):