What Moonlight does and why you might want it
Moonlight is free software that lets you stream games and applications from one PC to another device — a laptop, tablet, phone, or another computer on your home network or over the internet. It works by connecting to an Nvidia graphics card on your host PC (the one with the games) and sending the video and audio to a client device (the one you're playing on), while sending your controller or keyboard input back.
The main reason people use Moonlight is to play games installed on a powerful desktop from a weaker laptop or phone without moving the desktop itself. It can also stream desktop applications, though it works best with games. Moonlight is open-source, meaning the code is public and maintained by volunteers, and it costs nothing to download or use.
Key Takeaways
- Moonlight requires an Nvidia graphics card (GeForce GTX 650 or newer) on the PC you're streaming from, and it works on Windows, Mac, Linux, Android, iOS, and web browsers.
- You must install Nvidia GameWorks on your host PC first, then install Moonlight on both the host and the device you want to stream to.
- Both devices need to be on the same network initially to pair them, but once paired, Moonlight can stream over the internet if you set up port forwarding or use Nvidia's GFXBench relay service.
- Controller input, keyboard, and mouse all work through Moonlight, though some games may need controller mapping adjustments in Moonlight's settings.
Check your graphics card and system requirements
Moonlight only works with Nvidia graphics cards, and only certain models. Your host PC (the one with the games) needs a GeForce GTX 650 or newer, or a GeForce GT 730 or better. If you have an older Nvidia card, an AMD card, or integrated graphics, Moonlight will not work. You can check what card you have by opening Device Manager on Windows (right-click the Start button, select Device Manager, then expand Display adapters) or by running nvidia-smi.exe from the command prompt if Nvidia drivers are installed.
Your host PC also needs Windows 7 or newer, macOS 10.11 or newer, or a Linux distribution with X11 or Wayland. The device you're streaming to can run almost anything — Windows, macOS, Linux, Android 5.0 or newer, iOS 11 or newer, or even a web browser on any operating system. Internet connection speed matters: Moonlight works best on a local network, but can stream over the internet if you have at least 5 Mbps upload speed on your host PC and 5 Mbps download speed on the client device.
Install Nvidia GameWorks on your host PC
Before you install Moonlight itself, your host PC needs Nvidia GameWorks, which is Nvidia's streaming server software. Go to nvidia.com/en-us/geforce/gameworks/streaming and download the latest version for your operating system. On Windows, this is usually called GeForce Experience or Nvidia GameWorks; on Mac and Linux, look for the Nvidia driver package that includes streaming support.
Run the installer and follow the on-screen prompts. You will need to sign in with an Nvidia account (create one for free if you don't have one). Once installed, open Nvidia GameWorks and go to Settings. Enable Shield Streaming or GameWorks Streaming (the exact name varies by version). You may also need to enable hardware encoding in the same settings menu — this tells your graphics card to compress the video stream, which reduces bandwidth and improves performance. Restart your PC after making these changes.
Download and install Moonlight on your host PC
Go to moonlight-stream.org and download the Moonlight installer for Windows, Mac, or Linux. On Windows, run the .exe file and follow the installer. On Mac, drag the Moonlight app into your Applications folder. On Linux, follow the distribution-specific instructions on the website (usually a package manager command).
Open Moonlight on your host PC. It will ask you to pair with a client device. Do not pair yet — first, install Moonlight on the device you want to stream to (your laptop, phone, tablet, or another PC). Once both devices have Moonlight installed, come back to the host PC and proceed to pairing.
Install Moonlight on your client device and pair
Download Moonlight on the device you want to stream to. For Android, search for Moonlight in the Google Play Store. For iOS, search the App Store. For Windows, Mac, or Linux, download from moonlight-stream.org just as you did for the host. For web browsers, go to moonlight.play.it and open it in Chrome, Firefox, or Edge.
Make sure both your host PC and client device are on the same Wi-Fi network. Open Moonlight on the client device and it should automatically discover your host PC. Tap or click on the host PC's name. Moonlight will display a four-digit PIN on your host PC — enter this PIN on the client device to complete pairing. Once paired, Moonlight will remember the connection and you won't need to pair again, even if you restart either device.
Start streaming and configure your settings
After pairing, open Moonlight on your client device and select your host PC. Moonlight will start streaming your host PC's desktop to your client device. You can now launch games or applications on the host PC using your keyboard, mouse, or controller connected to the client device. Most controllers (Xbox, PlayStation, generic USB controllers) work automatically, but you may need to map buttons in Moonlight's controller settings if a game doesn't recognize your input correctly.
In Moonlight's settings, you can adjust video quality, resolution, and frame rate. Higher settings use more bandwidth and battery on the client device but look better. For local network streaming, you can usually set resolution to 1080p or 1440p and frame rate to 60 fps. For internet streaming, lower the resolution to 720p and frame rate to 30 fps to reduce bandwidth. You can also enable or disable audio streaming, adjust bitrate, and set whether Moonlight should optimize for performance or visual quality.
Stream over the internet using port forwarding or relay
By default, Moonlight only works on your local network. To stream from outside your home network, you have two options: port forwarding or using Nvidia's relay service.
Port forwarding requires you to log into your router's settings (usually at 192.168.1.1 or 192.168.0.1 in a web browser) and forward port 47989 (TCP and UDP) to your host PC's local IP address. This exposes your host PC to the internet, so only do this if you understand the security implications. Once port forwarding is set up, open Moonlight on your client device, go to Settings, and enter your host PC's public IP address (find this by searching "what is my IP" on the host PC). Moonlight will connect over the internet.
Nvidia's relay service is simpler and safer: in Moonlight's settings on your client device, enable Nvidia GameWorks Relay or Nvidia Shield Relay (exact name varies). This routes your connection through Nvidia's servers instead of directly to your host PC, so you don't need to open ports on your router. The trade-off is slightly higher latency (delay between your input and the game's response), but it's usually not noticeable for most games.
Frequently Asked Questions
Can I use Moonlight with an AMD graphics card?
No. Moonlight requires Nvidia hardware encoding, which only Nvidia cards provide. AMD cards do not support the same encoding standard. If you have an AMD card, you can use AMD's own streaming software (AMD Link) or other third-party options like Parsec, but not Moonlight.
What should I do if Moonlight says "host not found"?
This usually means your client device cannot see your host PC on the network. Make sure both devices are on the same Wi-Fi network and that your host PC is powered on and has Moonlight running. If they're on different networks, you'll need to set up port forwarding or enable Nvidia's relay service. Restart both devices if the problem persists.
Why is my stream lagging or stuttering?
Lag usually comes from network congestion, low bandwidth, or distance from your router. Move closer to your Wi-Fi router, reduce video quality in Moonlight's settings, or close other applications using your network. If streaming over the internet, check your upload speed on the host PC (use speedtest.net) — you need at least 5 Mbps for smooth streaming.
Do I need to keep my host PC on all the time?
Yes, your host PC must be powered on and awake (not in sleep mode) for Moonlight to connect. You can set your PC to never sleep in Windows Settings under Power & Sleep, or use a wake-on-LAN tool to turn it on remotely if you want to save power.
Can I use Moonlight with games that require anti-cheat software?
Some anti-cheat systems block streaming software, including Moonlight. Games like Valorant, Fortnite, and Apex Legends may not work. Check the game's documentation or community forums to see if streaming is supported before trying.