MHTML to PDF and HTML bundle — local web archive reader
Turn a saved web archive into a portable reading copy without uploading it or fetching tracking images. Keep the original MIME bytes and see exactly what changed.
Web Archive Desk
Local, bounded conversion. The example is generated as real MIME and uses the same parser as your archive.
Supported scope: One MHTML/MHT up to 20 MiB; 400 MIME nodes; 1.5 MB root HTML; 30,000 HTML tokens; 250,000 text characters; 80 PNG/JPEG images, 16 megapixels each and 50 combined; 100 PDF pages. PDF is a reflowed reading copy, not original CSS/layout. GIF/WebP/SVG, custom fonts, video, scripts and frames remain raw parts only. Unsupported PDF characters become explicit markers; HTML/TXT retain the text.
Open a saved web page
Required fields are marked with an asterisk.
Reading copies and resource coverage
Review your output, then save it to your device.
Make the next step clear.
Your findings, assumptions and next steps will appear here after you run the check.
Web Archive Desk · https://webarchive.kitforma.com/ · KitForma
Real PDF and HTML + assets ZIP
Embedded resources matched by CID and location
Explicit missing-resource and fidelity report
Understand the evidence.
Focused guides explain the rules, the edge cases and the checks worth doing before you act.
Convert MHTML to a useful PDF reading copy
Understand the distinction between archive contents and web-page appearance.
Read the guide ↗Field guide / 02Extract embedded resources with a traceable manifest
Use MIME references instead of guessing filenames.
Read the guide ↗Field guide / 03Read web archives without activating their content
Keep a passive view and an unchanged source together.
Read the guide ↗Before you start
Is the PDF a real downloaded file?
Yes. The tool generates PDF pages with selectable text and supported embedded raster images. It does not rename the input or rely on a browser print dialog. It uses a reading layout, so original web CSS and page positioning are not reproduced.
Can a saved page contact its original website?
The converter never fetches content URLs. The passive preview contains only generated markup and embedded PNG/JPEG data, with scripts, links, forms and active embeds removed. Self-hosted engine/font files may load from KitForma, but your archive is not uploaded.
Why do I see missing or unsupported images?
A reference may not have been included when the page was saved, multiple parts may claim the same URL, or the image may be outside PNG/JPEG support or size limits. The manifest names the reason. The original and decoded bytes remain in the ZIP.
Are the original bytes preserved?
Yes. source-original.mhtml.bin is the untouched input, and each MIME leaf is also retained separately. The .bin extension discourages accidental execution; raw parts may still contain active content and should be inspected as text or bytes.
What happens to Unicode and complex tables?
The HTML and text exports preserve decoded Unicode. The PDF embeds Liberation Sans for its supported glyphs; unsupported characters are visible [U+XXXX] markers and listed in the manifest. Complex scripts need review. Tables retain basic rows in HTML and become numbered cell rows in PDF so long content is not silently clipped.
Does it recover pages that were never saved?
No. A snapshot can omit content loaded later by scripts, authentication or network requests. The tool can extract included bytes and report unresolved references, but it cannot reconstruct absent content or certify archival completeness.
Sources & assumptions
Formats, algorithms and supported features are documented below. Check the stated scope and inspect your output before using it.
- MHTML aggregation and resource references — RFC 2557 ↗
Multipart/related, Content-ID and Content-Location are the basis of the bounded parser; this tool does not claim complete RFC conformance.
- MIME transfer encodings — RFC 2045 ↗
Base64, quoted-printable and declared text charsets.
- Creating DOM elements ↗
The preview constructs new allow-listed DOM nodes with textContent, rather than injecting archived markup.
- pdf-lib ↗
Self-hosted MIT PDF engine. fflate is MIT; Liberation Sans is distributed with its font licence.
Reviewed 2026-10-18. Read our methodology or report an issue.