Stream your Mac to any browser
MoonlightWeb is a free, open-source (GPL-3.0) server that streams your Mac to any device with a browser. One download on the Mac that runs the games. Every other device just opens a URL.
What you need
- An Apple Silicon Mac (M1 or newer) — the machine that runs your games.
- Nothing else. MoonlightWeb captures and encodes this Mac itself (ScreenCaptureKit → VideoToolbox) — no second streaming server to install. Already running Sunshine, Wolf or MultiSeat somewhere? Those machines are paired from the same page.
- Any device with a modern browser as the client: Safari, Chrome, Edge or Firefox. No app, no account.
Installation, step by step
Download the installer
Grab the arm64 .pkg from the
releases page.
Run the guided installer — on the Mac that runs your games
The setup wizard walks you through the configuration, including the optional Internet link (remote streaming sessions, off by default). When it finishes, the server is running.
macOS will then ask you to allow Screen Recording for MoonlightWeb — without it, this Mac cannot stream its own screen. The wizard opens that settings pane for you.
Open a browser on any device
On the Mac itself: https://localhost. From another device on your network: your LAN IP.
Playing from outside your network: turn on Internet access and the app gives you a remote entry link straight to this machine. You can also bring your own domain and certificate.
Your Mac is already there
This Mac is listed straight away, with one card per screen — nothing to pair, no PIN. Other hosts on your network (Sunshine, Wolf, MultiSeat) are discovered by mDNS next to it: those pair once with the PIN they display, and the pairing is remembered forever.
Press play
Pick a screen, a game or the full desktop. iPhone, iPad, another laptop, a TV — anything with a browser becomes a client.
One command instead — and no warning
MoonlightWeb is free and open source, which also means it isn't signed with a paid Apple
Developer ID. macOS therefore greets a downloaded .pkg with
“cannot be opened because it is from an unidentified developer”. That check only applies to files
a browser downloaded, so either of these installs the very same package with nothing to click through:
brew install --cask linckosz/tap/moonlightweb
curl -fsSL https://moonlightweb.top/install.sh | bash
Both ask for your administrator password, install into /Applications and open the setup wizard — same installer, same result, one step less.
Troubleshooting
macOS refuses to open the installer: “unidentified developer”
Expected, and harmless: clearing that dialog requires a paid Apple Developer ID. Use one of
the two commands above and it never appears. If you'd rather keep the file you already downloaded, on
macOS 15 Sequoia and newer double-click it once, let it be refused, then open
System Settings → Privacy & Security, scroll to the bottom and click Open Anyway
— the old Control-click → Open shortcut no longer works. The terminal equivalent is
xattr -dr com.apple.quarantine ~/Downloads/moonlightweb-*.pkg.
The host doesn't appear in the browser
Make sure the client device is on the same network as the Mac, and that macOS allowed incoming connections for MoonlightWeb when prompted. You can also add a host manually by IP.
Playing on iPhone or iPad
Open the same URL in Safari — no App Store download needed. You get a multi-touch trackpad, a native virtual keyboard with modifier keys, and full game-controller support with rumble.
Stream feels choppy on a weak connection
Lower the streamed resolution and enable Video Enhancement: the stream is upscaled and sharpened on the client's GPU (WebGPU running SGSRv1 + FSR1), so a 720p stream looks close to 1440p.