scrcpy (screen copy) is an open-source tool that streams your Android display to a desktop window and accepts keyboard and mouse input in return. It uses ADB as its transport, requires no app installed on the phone, and works without root. Latency over USB is typically 35–70ms — low enough for normal app use and light gaming. This guide covers installation on each platform, initial USB setup, useful launch options, and how to switch to wireless mode once USB is working.
scrcpy is a client that runs on top of ADB. Before scrcpy will work, ADB must be able to see your phone:
adb devices The output should list your device serial number with status device. If it shows unauthorized, tap Allow on the phone. If it shows nothing, the USB driver is not installed — refer to the driver guide for your phone brand.The easiest method on Windows is the pre-built release package from the scrcpy GitHub releases page (github.com/Genymobile/scrcpy/releases). Download the scrcpy-win64-vX.XX.zip file, extract it anywhere, and run scrcpy.exe. The package includes its own copy of ADB, so you do not need Platform Tools installed separately.
Alternatively, install via winget (available on Windows 10 1809+):
winget install Genymobile.scrcpy
Or via Chocolatey:
choco install scrcpy
Package managers handle updates cleanly. The winget and Chocolatey versions run from PATH, so you can open any terminal and type scrcpy.
macOS (Homebrew):
brew install scrcpy
Homebrew will pull in ADB as part of the android-platform-tools dependency if it is not already installed.
Ubuntu / Debian:
sudo apt install scrcpy
Note: the version in the Ubuntu repositories lags significantly behind the GitHub releases. For the latest features, build from source or use the snap package:
sudo snap install scrcpy
Arch Linux:
sudo pacman -S scrcpy
With the phone connected and authorized in ADB, run:
scrcpy
A window opens showing the phone's display in real time. Mouse clicks on the window register as taps. Scroll wheel works for scrolling. Keyboard input goes to the focused app on the phone.
Key shortcuts while the window is focused:
Drag an APK file onto the scrcpy window to install it on the phone via ADB install. Drag any other file to copy it to /sdcard/Download/.
scrcpy's behavior is controlled by command-line flags. Common ones:
scrcpy --max-size 1920 --bit-rate 8M
Caps the mirrored resolution at 1920px on the longer edge and sets the video bitrate to 8 Mbps. Higher bitrate means sharper image with less compression, but uses more USB bandwidth. Default bitrate is 8M; lower it to 4M or 2M if you see connection drops.
scrcpy --stay-awake
Prevents the phone screen from turning off while scrcpy is connected. Useful when using the phone as a remote control or monitor for longer sessions.
scrcpy --turn-screen-off
Turns the phone's physical screen off while streaming continues. The display still mirrors to your PC but the phone screen stays dark, saving battery.
scrcpy --record screen.mp4
Records the mirrored stream to a local MP4 file. Encoding happens on the PC, so phone performance is not affected.
Once ADB is working over USB, you can cut the cable and continue wirelessly on the same Wi-Fi network. On Android 11 and higher, wireless ADB is built in and can be enabled independently. On older versions, you enable TCP/IP mode via USB first:
Android 10 and older:
adb tcpip 5555
Then unplug USB and connect wirelessly:
adb connect 192.168.1.X:5555
scrcpy
Replace 192.168.1.X with your phone's IP address (found in Settings > Wi-Fi > your network > IP address).
Android 11 and higher: Go to Developer Options > Wireless Debugging > Pair device with pairing code. Use:
adb pair 192.168.1.X:PORT
Enter the 6-digit pairing code shown on the phone. Once paired, connect with the connection port shown on the Wireless Debugging screen and run scrcpy as normal. Wireless latency is 100–300ms on a typical home router, which is acceptable for most tasks but noticeable for gaming.