Genymobile

Genymobile/scrcpy

C Apache-2.0 Mobile

Display and control your Android device

145.4k stars
13.4k forks
active
GitHub +428 / week

145.4k

Stars

13.4k

Forks

2.9k

Open issues

100+

Contributors

v4.0 12 May 2026

AI Analysis

scrcpy is a free, open-source tool that mirrors and controls Android devices (video, audio, input) over USB or TCP/IP from a Linux, Windows, or macOS desktop, requiring no root access or app installation on the device. It is best suited for developers, testers, and power users who need fast, low-latency Android screen access from a PC — for debugging, recording, or remote control. It is not designed for general mobile users, enterprise MDM, or scenarios requiring cloud connectivity.

Mobile Application Discovery value: 2/10
Documentation 10/10
Activity 10/10
Community 10/10
Code quality 6/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 10/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

android screen-mirroring usb audio-forwarding hid-simulation
Actively maintained Well documented Popular Community favorite Beginner friendly Production ready
Deep Analysis · Based on README and public signals
3w ago

scrcpy: The definitive open-source Android screen mirroring tool, now at v4.0

scrcpy mirrors and controls Android devices over USB or TCP/IP from a Linux, Windows, or macOS desktop with no root access, no installed app, and no account required. It targets developers, QA engineers, power users, and anyone needing low-latency, high-quality device control. With 143k+ stars, widespread package manager availability (Homebrew, Chocolatey, apt, etc.), and a v4.0 release, it has become the de facto standard for free Android screen mirroring. Its combination of low latency (~35–70ms), high frame rates (up to 120fps), audio forwarding, and camera mirroring sets a high bar for the category.

Origin

Created by Genymobile (makers of Genymotion) in November 2017, scrcpy started as a lightweight ADB-based mirroring tool. Over 8+ years it evolved from basic mirroring to a full control suite with audio, virtual displays, HID simulation, and gamepad support, now at v4.0.

Growth

Initial growth was driven by developer word-of-mouth and tech media coverage highlighting its no-root, no-install design. Sustained growth came from regular feature additions, cross-platform support, and packaging in major repositories. The project appears to still gain ~400+ stars per week even after 8 years, indicating durable organic demand rather than viral spikes.

In production

scrcpy is available in major package managers (Homebrew, apt, Scoop, Chocolatey, pacman, and others), which is a strong signal of broad real-world adoption. Widely cited in developer tutorials, Android automation guides, and remote-work workflows. Multiple GUI wrappers (QtScrcpy with 29k stars, escrcpy with 10k stars) have been built on top of it, confirming active third-party ecosystem. Adoption is extensively documented in public discourse.

Code analysis
Architecture

Appears to use a client-server architecture: a small Java/Kotlin server component is pushed temporarily to the Android device via ADB, while the desktop client (written in C, using SDL and FFmpeg) handles display and input. Likely uses ADB for transport over USB or TCP/IP. The separation of concerns between device-side and host-side components appears clean based on the README structure.

Tests

not documented in README

Maintenance

Last push was 2026-05-29, approximately 3 weeks before the evaluation date, indicating active maintenance. The project reached v4.0, suggesting deliberate versioning. Genymobile is a commercial entity maintaining the project, which provides organizational continuity. Issue tracker and PR history (13k+ forks, active community) suggest responsive maintenance.

Honest verdict

ADOPT IF: you need reliable, low-latency, no-root Android screen mirroring and control on any major desktop OS, whether for development, QA, remote support, or personal use. AVOID IF: you need a fully graphical point-and-click experience with no CLI comfort, or if your Android device is below API 21. MONITOR IF: you rely on audio forwarding or camera mirroring features, as these depend on Android version constraints (API 30+ and 12+ respectively) that may affect compatibility with your device fleet.

Independent dimensions

Mainstream potential

8/10

Technical importance

9/10

Adoption evidence

9/10

Risks
  • USB debugging requirement is a friction point in enterprise or locked-down device environments; some manufacturers (notably Xiaomi) require additional security settings to enable full control.
  • Dependence on Android's ADB and internal APIs means Google platform changes could break functionality without notice, as has occurred in the past with specific Android releases.
  • Audio forwarding and camera mirroring require relatively recent Android versions (11+ and 12+ respectively), limiting utility on older device fleets.
  • The project is maintained by Genymobile as a goodwill open-source effort; if the company's priorities shift, maintenance continuity could be affected, though the Apache-2.0 license allows community forks.
  • Wireless TCP/IP mode performance is highly dependent on network quality; high-latency or congested Wi-Fi can make the experience noticeably worse than USB-connected use.
Prediction

scrcpy is likely to remain the dominant open-source Android mirroring tool for the foreseeable future. Feature velocity is steady, the ecosystem of GUI wrappers continues expanding, and no credible open-source alternative appears to be closing the gap.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

C
63.1%
Java
32.7%
Roff
1.7%
Shell
1.6%
Meson
0.7%
AIDL
0.2%
VBScript
0%
Batchfile
0%

Information

Language
C
License
Apache-2.0
Last updated
19h ago
Created
105mo ago
Analyzed with
anthropic/claude-sonnet-4-6

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Similar repos

viarotel-org

viarotel-org/escrcpy

Escrcpy is a graphical GUI wrapper around the scrcpy Android mirroring tool,...

10.4k JavaScript Mobile
barry-ran

barry-ran/QtScrcpy

QtScrcpy is a lightweight, cross-platform application for displaying and...

30.4k C++ Mobile
NetrisTV

NetrisTV/ws-scrcpy

ws-scrcpy is a web-based client for mirroring and controlling Android devices...

2.5k TypeScript Mobile
dkrivoruchko

dkrivoruchko/ScreenStream

ScreenStream is an Android application that streams device screen and audio to...

2.5k Kotlin Mobile
AkiChase

AkiChase/scrcpy-mask

Scrcpy Mask is a cross-platform desktop client built with Rust, Bevy, and React...

1k Rust Mobile
vs. alternatives
QtScrcpy

A C++ Qt-based GUI wrapper around scrcpy's protocol, offering a more polished desktop UI. Depends on scrcpy's underlying approach but adds graphical controls. More accessible to non-technical users; scrcpy itself is more flexible for scripting and automation.

escrcpy

A JavaScript/Electron GUI frontend for scrcpy, making it more approachable for casual users. Like QtScrcpy, it wraps scrcpy rather than replacing it, confirming scrcpy's role as the foundational engine in the ecosystem.

Vysor (commercial)

A commercial Android mirroring product requiring a paid subscription for full features and an installed Chrome app. scrcpy is free, open-source, requires no installation on the device, and has lower latency. Vysor may appeal to users wanting a polished UI without CLI setup.

Android Studio Device Mirror

Google's official mirroring built into Android Studio. Targets developers already in the IDE. More integrated with the Android development workflow but not a standalone tool and carries the full Android Studio overhead.

Gnirehtet (same author)

A companion project from Genymobile that provides reverse tethering (routing Android internet traffic through the PC). Complementary to scrcpy rather than competitive — the two tools cover different aspects of Android-PC interaction.