Mirror, control and live-stream your iPhone, iPad or Android phone on a Windows PC โ over the cable or Wi-Fi.
ZenLink v2.5 ยท Next: a native Rust window with hardware decoding and smooth OBS capture. Apple: Apple Driver (full control) or ZenLink Studio (USB capture or AirPlay). Android: the official scrcpy server over ADB, no app on the phone.
- ๐ฑ Device: iPad (11th generation), physical device running iOS 27.0.1
- ๐ป PC: Windows 11 Pro, build 26200, 64-bit
- ๐ Measured: ZenLink Studio cable 52โ56 fps at 12โ30 Mbps; ZenLink Studio AirPlay 3108ร2160 at ~46 fps with ~16 ms picture delay; native sound output ~23 ms (WASAPI)
- Creator & Lead Developer: Zenvy Zenshiro (GitHub
@zenvyzenshiroยท Sociabuzz). Designed and built ZenLink: the two-mode connection system with driver manager and safe rollback, ZenLink Studio (QuickTime capture over libusb0, and an AirPlay screen-mirroring receiver), Wi-Fi for Apple Driver mode without Bonjour, low-latency<video>playback with H.264 SPS rewriting, native WASAPI sound with lip sync and a Wi-Fi jitter buffer, OCR copy, stealth dim, wake & unlock, system tray, and the black + pink bilingual (ID/EN) interface.- Original open-source sources ZenLink builds on (all used under their own licenses):
- pane-iphone-mirror-windows by teyboxv1 (GPL-3.0) โ the original Pane project: iPhone mirroring on Windows through CoreDevice.
- pymobiledevice3 by Doron Zavelevsky (GPL-3.0) โ RemoteXPC / RSD tunnel, CoreDevice screen stream, lockdown and pairing.
- quicktime_video_hack by Daniel Paulus (MIT) โ reference for the QuickTime screen-capture USB protocol used by ZenLink Studio (cable).
- libusb-win32 by Stephan Meyer & Travis Lee Robinson (driver GPL, library LGPL) โ the libusb0 driver bundled in
drivers/libusb-win32(unmodified, signed binaries; source at the link).- libwdi / Zadig by Pete Batard (LGPL / GPL) โ the driver-package approach ZenLink follows; Zadig itself is not bundled.
- scrcpy by Genymobile & Romain Vimont (Apache-2.0) โ the official scrcpy server (v5.0.1, unmodified) runs on the Android phone; ZenLink's Android client is its own Rust code.
- Android SDK Platform-Tools
adbby Google (Android Open Source Project, Apache-2.0;NOTICE.txtincluded) โ bundled unmodified and Google-signed, see docs/THIRD_PARTY.md.- UxPlay by F. Duncanh and RPiPlay / shairplay (GPL-3.0) โ the AirPlay mirroring protocol reference. ZenLink's AirPlay receiver is written in Python; the playfair FairPlay code in
native/playfairis used unmodified (GPL-3.0).
| Feature | Description |
|---|---|
| ๐ค Android (new in v2.5) | Android 5.0+ over USB, or Wi-Fi (one click from a USB connection, or Android 11+ wireless debugging: scan a QR code shown by ZenLink, or enter a pairing code). Picture, sound (Android 11+), mouse/keyboard control, clipboard, real device names, per-device settings, video profiles and Smart Encoder Detection (H.264 by default; H.265 only when the phone and Windows both decode it, with automatic fallback). Uses Google's official adb and the official scrcpy server, both bundled. |
| ๐ Two Apple connection modes | Choose before anything connects: Apple Driver (Apple's own driver, full control) or ZenLink Studio (for live streaming, like TikTok LIVE Studio). Each offers Kabel or Nirkabel (Wi-Fi). "Remember my choice" skips the question next time. |
| ๐ก ZenLink Studio over Wi-Fi (AirPlay) | ZenLink is an AirPlay receiver: on the iPhone/iPad open Control Center โ Screen Mirroring โ ZenLinkStudio. No driver, no cable. The device's own stream is passed through untouched (HEVC or H.264, up to its native resolution); the how-to is shown on screen. |
| ๐ฅ ZenLink Studio over the cable | QuickTime capture over USB in H.264 at the device's full native resolution and high bitrate (measured 2360ร1640 on iPad 11th gen, 12โ30 Mbps, up to ~56 fps). Picture and sound only. |
| ๐ถ Apple Driver over Wi-Fi | Plug the device in once in Apple mode and ZenLink sets up Wi-Fi by itself; afterwards choose Nirkabel. ZenLink finds the device on the network itself, even where Windows gets no Bonjour replies. |
| ๐ Live stats | Measured decode and display FPS next to the device name (switchable in Settings). |
| โก Native window (Rust) | Media Foundation hardware decoding (H.264 / HEVC) into a Direct3D 11 swap chain, one frame per refresh, Liquid Glass UI (Slint). No WebView2, no Visual C++ runtime needed. |
| ๐ฌ OBS ready | Game Capture of the ZenLink window stays smooth and survives rotation (Settings โบ Record / stream in OBS). |
| ๐ Synced sound | Native WASAPI output (~22 ms) with an adaptive buffer and lip sync, so picture and sound arrive together. |
| ๐ฑ๏ธ Touch, keyboard & buttons | Mouse as touch, PC keyboard typing, scrolling, Home / Recent Apps / Notifications / Control Center or Quick Settings, hardware buttons โ follows rotation. |
| ๐ OCR copy & paste | Alt+C copies the text on the device screen to the PC (Windows OCR, stitches scrolled pages). Paste the PC clipboard: Alt+V (Apple), Ctrl+V (Android). |
| ๐ Stealth dim, wake & lock | Alt+D dims the device to 0% while the picture stays bright; Alt+U wakes and types your passcode (DPAPI-encrypted); Alt+L locks. |
| ๐ ๏ธ Safe driver manager | Install / restore drivers only after you confirm, with UAC, a backup and automatic rollback. Never stacks a libusb0 filter on Apple's driver. |
| ๐ฅ Tray & start with Windows | Optional: close to the notification area (the session keeps running) and start with Windows straight into the tray. One ZenLink at a time: opening it again brings the window back. |
| ๐ฎ๐ฉ / ๐ฌ๐ง Bilingual UI | Bahasa Indonesia by default, English with one click. Liquid Glass Dark by default; Light and System too. |
The same list is in Settings โบ Keyboard shortcuts. Click the picture first so the keys go to ZenLink; while the keyboard types to the device, plain keys go to the device and the Alt / Ctrl shortcuts stay with ZenLink.
| Shortcut | Action | Platform |
|---|---|---|
Alt + M |
Sound on the PC on / off | both |
F11 ยท Esc ยท Ctrl + , |
Full screen ยท leave full screen ยท Settings | both |
Alt + H |
Rotate the view (Auto, 90ยฐ, 180ยฐ, 270ยฐ, 0ยฐ) | both |
Alt + โ |
Back | both |
Alt + C ยท Alt + R |
Copy the text on the screen to the PC (OCR) ยท clear the copied-text history | both |
Alt + L |
Lock (Android: power button) | both |
Alt + U ยท Alt + D ยท Alt + V |
Wake & unlock (saved passcode) ยท stealth dim ยท type the PC clipboard | Apple Driver |
Ctrl + K ยท Ctrl + C / X / V / A / Z |
On-screen keyboard ยท copy, cut, paste, select all, undo in iOS | Apple Driver |
Ctrl + V ยท Ctrl + C / X / A / Z |
Paste the PC clipboard ยท copy, cut, select all, undo on the phone | Android |
Alt + N ยท Alt + Q ยท Alt + S |
Notifications ยท Quick Settings ยท Recent Apps | Android |
Alt + โ / โ |
Phone volume up / down | Android |
- Windows 10 (1809+) or Windows 11, 64-bit. No WebView2 and no Visual C++ runtime needed. Windows "N" editions need Microsoft's free Media Feature Pack (ZenLink tells you and opens the page).
- Android: Android 5.0+ with USB debugging on (Settings โบ About phone โบ tap Build number 7ร, then Developer options โบ USB debugging), a data cable, and Allow on the phone. Sound needs Android 11+. ZenLink brings its own
adb; some phones (for example Samsung) need the maker's USB driver, which Windows Update usually installs. - iPhone / iPad: Apple Devices (Microsoft Store) or iTunes, for Apple's USB driver and Apple Mobile Device Service.
- Apple Driver mode needs iOS 17 or newer with Developer Mode on: connect the cable, tap Trust This Computer, then Settings โ Privacy & Security โ Developer Mode โ On and restart. (If the toggle is missing, opening a screen-mirroring tool once โ e.g. 3uTools โ Realtime Screen โ makes it appear.) On iOS 17โ26 it runs Hybrid Control (see the matrix below).
- ZenLink Studio works without Developer Mode (cable or AirPlay). AirPlay needs the PC and the device on the same network; the installer (or the first run of
Start ZenLink.bat) offers to allow ZenLink through Windows Firewall.
| iOS | Apple Driver mode | Picture | Control (touch, keyboard, buttons) | Tested on a real device |
|---|---|---|---|---|
| 27 and newer | Native Control | CoreDevice DisplayService (HEVC, cable or Wi-Fi) | CoreDevice HID | โ iPad (11th gen), iOS 27.0.1 |
| 17 โ 26 | Hybrid Control (Experimental) | AirPlay to ZenLink (same Wi-Fi) | CoreDevice HID over the Apple driver (cable, or Wi-Fi after setup) | |
| 16 and older | Unsupported | Use ZenLink Studio | โ | โ |
| Any (ZenLink Studio) | โ | QuickTime capture over libusb0 (cable) or AirPlay (Wi-Fi) | Mirroring only | โ Studio cable and AirPlay |
How Hybrid Control works. Apple's screen service only sends frames from iOS 27, but older iOS still accepts the stream request, and the CoreDevice HID services only deliver touches while such a stream is open. Hybrid opens that stream just to hold the input path open (its data is discarded), shows the picture from AirPlay instead, and maps touches through the device's orientation. Both paths run at once: AirPlay uses the network, control uses Apple's own USB driver; libusb0 is never involved. ZenLink checks the device's own service list before it claims control; if control can't be opened (for example Developer Mode is off), the picture keeps running and the app shows Mirroring Only with the reason.
Not available on any version: forcing the device to rotate (ZenLink follows the device's orientation instead) and Bluetooth HID control from Windows (Windows doesn't let apps act as a Bluetooth keyboard or mouse).
- Download
ZenLink-vX.Y.Z-Setup.exefrom Releases. - Run it and follow the steps (Bahasa Indonesia or English). ZenLink appears in the Start Menu and, if you want, on the Desktop.
- Open ZenLink, choose iPhone / iPad or Android Smartphone / Tablet, plug in your device and press Mulai / Start.
- Download
ZenLink-vX.Y.Z-Portable.exefrom Releases and put it anywhere. - Double-click it. The first start takes a few seconds (it unpacks the Apple backend and
adb); data is kept in%LOCALAPPDATA%\ZenLink-Next.
git clone https://github.com/zenvyzenshiro/zenlink.git
cd zenlink
.\"Start ZenLink.bat"The first run sets everything up: it installs Python 3.13 with winget if needed, creates the environment and installs requirements.txt, offers Apple Devices (for Apple Driver mode) and the firewall permission for AirPlay. For Android it offers to download Google's official adb (platform-tools 37.0.1, about 8 MB, checksum and Google signature checked), unless an Android SDK is already there (ANDROID_HOME). Setup.exe and Portable.exe bundle adb. Later runs open straight away. run.bat starts ZenLink with a visible console log.
Tests: .venv\Scripts\python -m unittest discover -s tests (no device needed; tests\airplay_sim.py simulates an iPhone mirroring over AirPlay).
To build the release files yourself: powershell -ExecutionPolicy Bypass -File .\build_portable_release.ps1 -PlatformTools <Android SDK>\platform-tools (Rust, PyInstaller, Inno Setup 6 for the installer).
| Apple Driver (Standard) | ZenLink Studio ยท Kabel | ZenLink Studio ยท Wi-Fi (AirPlay) | |
|---|---|---|---|
| Driver | Apple's own, nothing to install | libusb0 as the device's driver (installed by ZenLink after you confirm) | None |
| Video | HEVC, about 4โ6 Mbps (device limit) | H.264 at native resolution, 12โ30 Mbps, up to ~56 fps | The device's own HEVC / H.264, up to native resolution |
| Control | Touch, keyboard, gestures, buttons | Picture and sound only | Picture and sound only |
| Wi-Fi | Yes (set up automatically once over the cable) | โ | Yes (Control Center โ Screen Mirroring) |
| Apple apps (iTunes, Apple Devices) | Keep working | Can't see the device until you restore Apple's driver | Keep working |
Switch any time in Settings โ Connection & Drivers. Changing the driver asks for administrator permission, saves a backup and rolls back on failure; unplug and reconnect the cable afterwards.
iPhone / iPad โ Apple Driver (RemoteXPC / RSD tunnel) โโ
โ Studio: QuickTime over libusb0, AirPlay โผโ Apple backend (Python, headless, 127.0.0.1)
โ
Android โ adb (Google) + scrcpy server โโโโโโโโโโโโโโโโโโผโ ZenLink.exe (Rust)
โ โข Slint UI, Liquid Glass
โ โข Media Foundation decode โ Direct3D 11
โ โข WASAPI sound, OBS-friendly frame pacing
- ZenLink.exe (Rust): window, settings, hardware decoding, rendering, Android client (ADB host protocol + scrcpy protocol), Android sound.
- Apple backend:
pymobiledevice3for Apple Driver mode (CoreDevice tunnel and DisplayService stream), the QuickTime USB protocol for ZenLink Studio over the cable, an AirPlay receiver for Studio over Wi-Fi. It runs headless on 127.0.0.1 and exits with the window. - Android: ZenLink pushes the official scrcpy server (v5.0.1) to the phone and reads its video, audio and control sockets through
adb. Nothing is installed on the phone; the server is removed when the session ends. - Local only: video, sound, OCR and keystrokes never leave your PC. No telemetry.
- The passcode for
Alt+Uis encrypted with Windows DPAPI for your account only; remove it any time in Settings. - Installer version: uninstall from Windows Settings โ Apps.
- Portable exe: delete the
.exeand the%LOCALAPPDATA%\ZenLink-Nextfolder. - Source: run
Uninstall-ZenLink.batโ it closes ZenLink, deletes its settings, passcode and logs, removes the shortcuts and can delete the folder. - If you used ZenLink Studio over the cable, press Restore Apple driver in Settings first so Apple apps see the device again.
Kalau ZenLink membantu streaming, kerja, atau main game kamu di Windows, kamu bisa mendukung pengembangannya lewat Sociabuzz:
- ๐ Sociabuzz: https://sociabuzz.com/zenvy/tribe
- Creator & Lead Developer: Zenvy Zenshiro.
- License: ZenLink โ Copyright ยฉ 2026 Zenvy Zenshiro โ is free software under the GNU General Public License v3.0 or later (GPL-3.0). It comes with ABSOLUTELY NO WARRANTY.
- Built on: pane-iphone-mirror-windows (teyboxv1, GPL-3.0) ยท pymobiledevice3 (Doron Zavelevsky, GPL-3.0) ยท quicktime_video_hack (Daniel Paulus, MIT) ยท libusb-win32 (GPL / LGPL) ยท libwdi (Pete Batard) ยท UxPlay / playfair (GPL-3.0) ยท scrcpy server (Genymobile, Apache-2.0) ยท Android platform-tools
adb(Google, AOSP Apache-2.0). - Libraries: aiohttp (Apache-2.0) ยท pywebview (BSD-3, classic window, source only) ยท PyAV (BSD-3) ยท pyusb (BSD-3) ยท python-sounddevice (MIT) ยท pystray (LGPL-3.0) and Pillow (MIT-CMU) (classic window, source only) ยท python-zeroconf (LGPL-2.1) ยท PyCryptodome (BSD / Public Domain) ยท cryptography (Apache-2.0 / BSD).
- Android is a trademark of Google LLC. iPhone, iPad and iOS are trademarks of Apple Inc. AirPlay is a trademark of Apple Inc. ZenLink is not affiliated with Apple, Google or TikTok.
