MacSurf
A modern web browser for classic Mac OS 9
About
MacSurf is a full-time, one-person project bringing modern web rendering to Mac OS 9. Built as a derivative of NetSurf, it adds a native Carbon UI, Open Transport networking, and a CSS3-capable layout engine that runs on PowerPC hardware as old as the WallStreet G3. Full code available on GitHub.
It is the only browser for classic Mac OS to support TLS 1.3, CSS Grid, and JavaScript natively with no proxy required on Mac OS 8.6–9.2.2.
Highlights
- CSS3 Cascade
- All major properties including Grid V1, running on G3 hardware.
- TLS 1.3
- Native modern HTTPS support — no proxy required.
- JavaScript
- Duktape tree-walking interpreter for scripting support.
- Offscreen GWorld
- Tear-free scrolling and layout via back-buffer compositing.
- Cooperative Multitasking
- Runs within Mac OS 9’s single-threaded WaitNextEvent model.
- 16 MB Carbon Partition
- 2 MB image cache and 128 concurrent fetcher slots.
Rendering Pipeline
Fetch
Open Transport
→
Open Transport
Parse
libhubbub
→
libhubbub
CSS
libcss
→
libcss
Layout
libdom
→
libdom
Plot
QuickDraw
→
QuickDraw
Display
Carbon UI
Carbon UI
Download
1.2 MB — Decompress with StuffIt Expander. Ready to run.
Version History
| Version | Date | Highlights |
|---|---|---|
| v0.5 | Current | font-family aliases, clamp() fixes, full CSS Grid V1 |
| v0.4 | May 2026 | CSS3 cascade on G3 hardware, all major properties, offscreen GWorld composite |
| v0.3 | April 2026 | Full NetSurf pipeline wired, CSS cascade with var() |
| v0.2 | March 2026 | Plain text rendering, JavaScript via Duktape |
| v0.1 | April 2026 | First HTTP fetch over Open Transport |
Links