Firefox in WebAssembly: A Browser Running Inside Your Browser
Originally published on Simon Willison's Weblog by Simon Willison

Summary & Key Takeaways
• Puter successfully compiled Firefox/Gecko to WebAssembly. • This allows a full browser to run within another browser environment. • Firefox/Gecko was chosen due to its strong single-process support. • The project utilized AI, specifically Claude Opus and Fable, for development. • All traffic is funneled over a WebSocket protocol (Wisp) through Puter's server. • This proxying is necessary as browsers cannot open arbitrary network connections. • The implementation supports end-to-end encryption for HTTPS traffic. • A similar project, WebkitWasm, also compiles WebKit to WASM.
Our Commentary
This is absolutely wild. We've seen WASM push boundaries, but a full browser running inside another browser? My mind is genuinely blown. The implications for sandboxing, cloud streaming, and even development environments are immense. I'm also fascinated by the use of Claude Opus and Fable for this; it feels like a glimpse into the future of AI-assisted engineering. The engineering challenge of proxying all traffic via WebSockets must have been immense. This is a true "what if" moment for the web.