ADB

Mirror Your Android Screen to PC via USB with scrcpy

Published: June 30, 2026 Applies to: Android 5.0 and higher — Windows, macOS, Linux

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.

Prerequisites: ADB Must Work First

scrcpy is a client that runs on top of ADB. Before scrcpy will work, ADB must be able to see your phone:

  1. On the Android phone, go to Settings > About Phone and tap Build Number seven times to unlock Developer Options.
  2. Go to Settings > Developer Options and enable USB Debugging.
  3. Connect the phone via USB. An authorization dialog will appear on the phone: tap Allow. Check Always allow from this computer to avoid the prompt on every connection.
  4. Confirm ADB sees the device:
    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.

Installing scrcpy on Windows

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.

Installing on macOS and Linux

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

First Run and Basic Controls

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/.

Useful Launch Flags

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.

Switching to Wireless Mode

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.