Game streaming in the browser, explained
Everything people ask about MoonlightWeb — latency, codecs, devices, Internet play, security. Can't find your answer? Ask on GitHub.
Basics
What is MoonlightWeb?
A free, open-source (GPL-3.0), self-hosted server that streams your Sunshine-powered gaming PC to any device with a browser — phone, tablet, laptop, TV. You install one small server on the gaming PC; every other device just opens a URL. Nothing to install on the client.
Is MoonlightWeb really free?
Yes. GPL-3.0 licensed, no accounts, no subscriptions, no paid tiers. It's self-hosted: your games stream directly from your own PC and never touch a third-party cloud.
What do I need to use it?
Two things: a gaming PC running Sunshine as the streaming host (Windows, macOS Apple Silicon or Linux), and any client device with a modern browser — Chrome, Edge, Safari or Firefox.
On Windows, the guided installer can set up Sunshine for you.
Do I need to install an app on my phone, tablet or TV?
No. The client is 100% web: you just open a URL in the browser. The only install is the server, on the gaming PC itself.
Devices
Can I play PC games on an iPhone or iPad?
Yes — open the URL in Safari, nothing from the App Store. Your phone becomes a full client: multi-touch trackpad (1 finger aims, 2 scroll & pinch), a native virtual keyboard with modifier keys, and game controllers with rumble — up to 240 fps with under 20 ms Wi-Fi latency.
Can I play on a smart TV?
Any device with a modern browser can be a client. On TVs, the experience depends on the built-in browser; a recent browser with hardware video decoding gives the best results, and a plugged-in or Bluetooth gamepad completes the couch setup.
Does it work with game controllers?
Yes — Xbox and PlayStation controllers work, rumble included, alongside keyboard, pointer-lock mouse, touch trackpad and a virtual keyboard.
Performance
What latency can I expect?
Under 20 ms over Wi-Fi. MoonlightWeb uses a WebRTC UDP transport with adaptive congestion control, designed for fast-paced games rather than remote-desktop use.
What resolutions, frame rates and codecs are supported?
Up to 4K HDR at up to 240 fps, with H264, HEVC and AV1 — hardware-decoded in the browser via WebCodecs. Codec options your browser can't decode are automatically greyed out. HDR displays get real HDR output.
What is Video Enhancement?
GPU upscaling and sharpening running in the browser via WebGPU (SGSRv1 + FSR1 shaders). Stream at 720p over 4G or hotel Wi-Fi and display near-1440p quality — with zero extra load on the gaming PC, since it runs client-side.
What happens on strict firewalls or hotel Wi-Fi?
The transport falls back automatically: UDP first for lowest latency, then TCP, then WSS. The stream keeps working through restrictive networks — it just picks the best path available.
Internet play & security
How do I play over the Internet, away from home?
Tick one box in the admin page: MoonlightWeb registers a personal sub-domain
(https://you.moonlightweb.top), issues a free auto-renewed TLS certificate and maps the
ports via UPnP. No dynamic-DNS accounts, no reverse-proxy configuration.
Is it secure? Where does my stream go?
MoonlightWeb is self-hosted: the stream goes directly from your PC to your browser, never through anyone else's cloud. Hosts are paired with a PIN, and Internet access uses HTTPS with a free auto-renewed TLS certificate.
How does MoonlightWeb work under the hood?
A small C++/Qt server runs on the gaming PC next to Sunshine. It embeds
moonlight-common-c, speaks the GameStream protocol (RTSP/RTP/ENet) to Sunshine, and relays
video, audio and input to browsers over WebRTC. In the browser: WebCodecs decodes, WebGPU renders,
and an AudioWorklet plays Opus audio.