About SCRCPY
With the robust, open-source SCRCPY application, you can mirror and manage Android devices on your PC. SCRCPY simplifies connecting your Android device over a network (TCP/IP) or USB when using Windows, macOS, or Linux. It offers a smooth experience without requiring root access.
Key Features:
- Mirroring and Control: Use the keyboard and mouse on your computer to view and manage your Android device in real time.
- Outstanding Performance: Provides low-latency, high-resolution display mirroring to guarantee seamless interaction.
- Screen Recording: Easily record your Android device’s screen from your computer.
- Audio Support: Send sound alongside video for a fully immersive experience.
- Clipboard Sharing: Transfer text between your Android device and PC using the shared clipboard.
Extra Features:
- No Root Required: Works natively without requiring any modifications to your Android device.
- Cross-Platform: Compatible with Linux, macOS, and Windows.
- OTG Support: Advanced users can enable OTG mode to simulate physical keyboard and mouse inputs.
- Use as Webcam: On Linux, your Android device can be used as a webcam.
Download SCRCPY
Install SCRCPY
Installation Guide for SCRCPY on Windows.
Download SCRCPY:
- Download the file scrcpy-win64-vX.X.zip (X.X represents the version number).
Extract the archive:
- Once the download is complete, open the zip file.
- Extract the contents to a convenient location on your computer.
Launch the executable file:
- Navigate to the folder where you extracted the files.
- Find scrcpy.exe and double-click it to launch the application.
Connect your Android device:
- Use a USB cable to connect your Android device to your PC.
- Ensure that USB debugging is enabled on your device (Developer Options > USB Debugging).
Launch SCRCPY:
- Once connected, scrcpy.exe will launch and automatically mirror your Android screen on your PC.
- You can control your Android device using the keyboard and mouse.
Installation Guide for SCRCPY on Linux
Install dependencies:
- Open a terminal and install the necessary dependencies by running:
sudo apt install scrcpy
- For other Linux distributions, refer to the official installation instructions on the GitHub page.
- Open a terminal and install the necessary dependencies by running:
Launch SCRCPY:
- After the installation is complete, launch SCRCPY by simply typing
scrcpy
in the terminal.
- After the installation is complete, launch SCRCPY by simply typing
Connect your Android device:
- Connect your Android device to your computer using a USB cable.
- Ensure that USB debugging is enabled (Developer Options > USB Debugging).
Start using SCRCPY:
- SCRCPY will automatically mirror your Android screen and allow you to control the device via the terminal.
Installation Guide for SCRCPY on macOS
Install via Homebrew:
- If you use Homebrew, open the terminal and install SCRCPY by running:
brew install scrcpy
- If you use Homebrew, open the terminal and install SCRCPY by running:
Launch SCRCPY:
- After installation, type
scrcpy
in the terminal to launch the application.
- After installation, type
Connect your Android device:
- Use a USB cable to connect your Android device to your Mac.
- Ensure that USB debugging is enabled (Developer Options > USB Debugging).
Start using SCRCPY:
- Once you run SCRCPY, it will automatically display your Android screen on your Mac, and you can control it with the keyboard and mouse.
Additional Features SCRCPY
Wireless Connection:
- You can connect your Android device to SCRCPY wirelessly via TCP/IP. Follow these steps:
- Connect your Android device and PC to the same Wi-Fi network.
- Enable ADB over Wi-Fi using the following command in the terminal (replace
DEVICE_IP
with your Android device’s IP address):adb tcpip 5555
adb connect DEVICE_IP:5555
scrcpy
- This allows you to control your Android device without a USB cable.
- You can connect your Android device to SCRCPY wirelessly via TCP/IP. Follow these steps:
Screen Recording:
- SCRCPY allows you to record your Android device’s screen. To do this, use the following command:
scrcpy --record file.mp4
- The recorded video will be saved in the current directory.
- SCRCPY allows you to record your Android device’s screen. To do this, use the following command:
Adjust Resolution and Bitrate:
- If you need to reduce the load on the system or save bandwidth, you can decrease the resolution and bitrate. For example:
scrcpy --max-size 1024 --bit-rate 2M
- This reduces the resolution to 1024 pixels wide and sets the bitrate to 2 Mbps, which can be useful for weaker connections.
- If you need to reduce the load on the system or save bandwidth, you can decrease the resolution and bitrate. For example:
Copy and Paste Text:
- SCRCPY supports text transfer between your computer and Android device via the clipboard, making it easier to work with text across devices.
Window Scaling and Customization:
- If you need to adjust the size of the SCRCPY window, you can launch it with a custom scale:
scrcpy --window-title "My Device" --window-borderless
- This will add a custom window title and remove the borders, which can be useful for presentations.
- If you need to adjust the size of the SCRCPY window, you can launch it with a custom scale:
These additional features expand the capabilities of SCRCPY, making it more flexible for various use cases.
SCRCPY FAQ
1. How do I connect my device wirelessly?
- To connect via Wi-Fi, follow these steps:
- Make sure both your device and computer are on the same Wi-Fi network.
- Enable ADB over Wi-Fi by running the following command in the terminal:
adb tcpip 5555
adb connect DEVICE_IP:5555
scrcpy
- SCRCPY will automatically mirror your device’s screen to your computer.
2. Why isn’t my device being recognized?
- Ensure that USB debugging is enabled on your Android device. You can find this option in the Developer Options menu.
- Check if the cable is functioning correctly and properly connected to the USB port.
- Try restarting ADB using these commands:
adb kill-server
adb start-server
3. How can I reduce latency when mirroring the screen?
- You can reduce the resolution or bitrate to lower the latency:
scrcpy --max-size 1024 --bit-rate 2M
- This will reduce the system load and improve responsiveness.
4. How do I record the screen?
- SCRCPY allows you to record your device’s screen directly to your computer. Use the following command:
scrcpy --record file.mp4
- The video will be recorded in the specified format and saved in the current directory.
5. Which operating systems are supported?
- SCRCPY is supported on Windows, macOS, and Linux. Installation methods vary depending on the operating system, but the functionality remains consistent across all platforms.
6. Can I use SCRCPY without a USB cable?
- Yes, you can. Use a TCP/IP (Wi-Fi) connection. Detailed instructions can be found above in this section.
Releases (Chenge log)
To receive a notification on new releases, click on Watch > Custom > Releases on the top.
scrcpy v2.6.1
Changes since v2.6:
Highlights
See v2.6 release notes.
Some changes in scrcpy 2.6 caused issues with mouse events in some applications.
This hotfix version fixes them (773c23f).
Sorry for the inconvenience.
- Twitter:
@scrcpy_app
- Reddit:
r/scrcpy
scrcpy v2.6
Changes since v2.5:
- Add audio playback capture method (#4380, #5102)
- Add audio duplication feature (#3875, #4380, #5102)
- Add mouse secondary bindings with Shift+click (#5055, #5076)
- Rework mouse events (#5067, #5076)
- Fix “turn screen off” for Honor devices (#4823, #4943, #5109)
- Add clipboard workaround for Honor devices (#4822, #5073)
- Always apply device workarounds (#4922, #5140, #5148, #5154)
- Fix missing initialization (#5057, #5058)
- Do not report error on device disconnected (#5044)
- Upgrade SDL to 2.30.5 in Windows releases
- Various technical fixes
Highlights
Audio mirroring
Audio forwarding was introduced in scrcpy 2.0. Until now, when audio was captured by scrcpy, it was necessarily disabled on the device.
This release introduces a new audio capture method, which (optionally) supports audio duplication, to keep playing audio on the device. It is exposed as an alternative audio source named playback
(in addition to output
, the default, and mic
).
scrcpy --audio-source=playback # do not play on the device
scrcpy --audio-source=playback --audio-dup # keep playing on the device
For convenience, --audio-dup
automatically selects the playback
audio source. Therefore, to mirror audio rather than forward, this is sufficient:
scrcpy --audio-dup
However, this playback capture has some drawbacks:
- it requires Android 13 (rather than Android 11),
- Android apps can opt-out, in which case they are not captured.
See documentation, #4380, #5102.
Secondary mouse bindings
By default, with SDK mouse:
- right-click triggers BACK (or POWER on)
- middle-click triggers HOME
- the 4th click triggers APP_SWITCH
- the 5th click expands the notification panel
It was also possible to forward the clicks to the device instead, by using the --mouse-bind=xxxx
option introduced in the previous version (2.5). But that way, we had to choose at startup whether a button triggered a shortcut or a click.
This release introduces a new set of secondary bindings via Shift+click, so that both are possible at runtime.
By default, a simple (secondary) click triggers the shortcuts, and Shift+click forwards the click to the device.
In AOA and UHID mouse modes, the default bindings are reversed: all clicks are forwarded by default, and pressing Shift gives access to the shortcuts (since the cursor is handled on the device side, it makes more sense to forward all mouse buttons by default in these modes).
All these mouse bindings can be configured, check the documentation.
See #5076.
- Twitter:
@scrcpy_app
- Reddit:
r/scrcpy
scrcpy v2.5
Changes since v2.4:
- Add scrcpy window without video playback (#4727, #4793, #4868)
- Add a shortcut to pause/unpause display (#1632, #4748)
- Forward mouse hover events (#2743, #3070, #5039)
- Add option to configure mouse bindings (#5022)
- Forward all clicks by default for UHID/AOA (#5022)
- Simplify shortcut modifiers (#4741)
- Fix rotation shortcut for Android 14 (#4740, #4841)
- Fix YUV conversion for full color range (#4756)
- Fix camera sizes listing on some devices (#4852)
- Fix thread leak on Windows (#4973)
- Upgrade FFmpeg to 7.0.1 in Windows releases
- Upgrade SDL to 2.30.4 in Windows releases
- Upgrade platform-tools (adb) to 35.0.0 in Windows releases
- Various technical fixes
Highlights
Control-only
By default, scrcpy now always opens a window (unless --no-window
is passed), even without video stream (#4868).
In particular, this gives the possibility to solely control the device without screen mirroring:
scrcpy --no-video --no-audio
Pause/unpause display
New shortcuts allow to pause (MOD+z) and unpause MOD+Shift+z the display (#4748).
It only impacts rendering, the device is still captured, the video stream transmitted to the device, and recorded if recording is enabled.
This can be useful for example during a presentation, to temporarily move to a different app on the device without showing the content.
Mouse hover
Initially, mouse motion (hover) events were not forwarded to the device when no mouse button was pressed. The reason was that at the time (6 years ago), these events had absolutely no impact on the devices I tested.
But on newer Android versions and newer apps, mouse hover events trigger animations and highlight items. So this new release forwards hover events, with a new option --no-mouse-hover
to disable them.
Mouse bindings
By default, mouse secondary clicks triggers shortcuts:
- right click: BACK
- middle click: HOME
- 4th click: APP_SWITCH
- 5th click: expand notification panel
An option --forward-all-clicks
had been added some time ago to forward all clicks to the device instead.
This release replaces --forward-all-clicks
by a more flexible option --mouse-bind=xxxx
. The argument must be exactly 4 characters, one for each secondary click:
--mouse-bind=xxxx
^^^^
||||
||| `- 5th click
|| `-- 4th click
| `--- middle click
`---- right click
Each character must be one of the following:
+
: forward the click to the device-
: ignore the clickb
: trigger shortcut BACK (or turn screen on if off)h
: trigger shortcut HOMEs
: trigger shortcut APP_SWITCHn
: trigger shortcut “expand notification panel”
For example:
scrcpy --mouse-bind=bhsn # the default mode
scrcpy --mouse-bind=++++ # forward all clicks (default for AOA/UHID)
scrcpy --mouse-bind=++bh # forward right and middle clicks, # use 4th and 5th for BACK and HOME
With UHID and AOA mouse modes (when the mouse cursor appears on the device), all clicks are now forwarded by default (but the behavior can be changed using --mouse-bind
).
- Twitter:
@scrcpy_app
- Reddit:
r/scrcpy