savedpixel-instant-mhtml-server is an open-source macOS app and local HTTP server for turning captured MHTML, HTML, CSS, JavaScript, and static website exports into working private local web apps.
It gives every imported capture a real http://127.0.0.1 origin so ES modules,
dynamic imports, workers, root-relative assets, fonts, and framework bootstraps
work locally instead of breaking under file://.
Companion app for the SavedPixel HTML CSS JS Extractor Chrome extension.
Modern websites are not just static files.
When an exported site is opened directly:
file:///Users/you/Downloads/captured-site/index.html
the browser applies file:// security rules. That often breaks:
- ES modules
- dynamic
import() - root-relative assets
- web workers
- font loading
- framework bootstraps
- scripts that expect a real HTTP origin
This app fixes that by serving each imported export from an isolated loopback server:
http://127.0.0.1:48231/index.html
The files stay local, private, and runnable.
Use this app when you need to:
- preview SavedPixel exports locally
- run captured HTML, CSS, JavaScript, fonts, and assets from a real local origin
- open exported sites without breaking modern JavaScript
- inspect captured projects through a native macOS workspace
- debug missing assets, remote references, and request issues
- organize captured websites into a reusable local library
- avoid uploading private captures to remote preview tools
website capture or ZIP
-> import into local library
-> start isolated 127.0.0.1 server
-> serve files with correct MIME types
-> open index.html in Chrome
-> inspect files, diagnostics, previews, and request logs
- Native macOS SwiftUI + AppKit app
- Drag-and-drop folder and ZIP import
- Per-project local HTTP server
- Correct MIME types for
.js,.mjs,.wasm, fonts, images, and assets - ES module, dynamic import, worker, and root-relative path support
- Recursive file browser with source and image previews
- Diagnostics for missing assets, unresolved
cid:links, and remote references - Live request log
- Favorites, collections, tags, search, sort, trash, restore, and rename
- One-click Chrome launch
- Copy served URL to clipboard
- Fully local and private
git clone https://github.com/savedpixel/savedpixel-instant-mhtml-server.git
cd savedpixel-instant-mhtml-server
bash scripts/build-app.shThe build script handles the release build, .app bundle creation, icon
generation, and ad-hoc code signing.
You can also run the checker:
swift run SavedPixelHTMLExtractorChecks- Build and open the app.
- Import a captured website folder or ZIP.
- Select
index.html. - Click Open in Chrome.
- Use the workspace, diagnostics, and request log to inspect the capture.
The repo includes sample OpenAI Platform exports under:
data/extracted-sites/
These were used to verify the difference between broken file:// behavior and
working local HTTP behavior.
The project uses:
- Swift Package Manager
- SwiftUI + AppKit
- Hummingbird embedded HTTP server
- loopback-only per-project server sessions
- safe path normalization
- directory traversal blocking
- optional serve-time HTML rewriting
- local JSON metadata snapshots
More details are in:
docs/architecture/
docs/product/
docs/verification/
# Build the app
bash scripts/build-app.sh
# Run checks
swift run SavedPixelHTMLExtractorChecks
# SwiftPM build only
swift buildCurrent version:
1.0.0 build 18
This is the first public v1 macOS companion release. The core import, library, local serving, preview, diagnostics, and Chrome launch flows are working.
Planned improvements include duplicate detection, import progress UI, more Chrome launch modes, expanded diagnostics, and cross-platform considerations.
Native macOS app and local HTTP server for turning captured MHTML, HTML, CSS, JavaScript, and static website exports into working private local web apps on 127.0.0.1.
savedpixel, mhtml, html-export, local-server, macos-app, swiftui,
appkit, hummingbird, web-archive, website-capture, static-site,
developer-tools, frontend-tools, es-modules, local-preview
SavedPixel
GitHub: @savedpixel
MIT License. See LICENSE.
Copyright © 2026 SavedPixel. All rights reserved.
Made for people who want captured web moments to actually work again.