MirrorDeck

macOS · free & open source

Your iPhone, on your Mac.

MirrorDeck turns your Mac into a wireless screen-mirroring target. Pick it from Control Center and your phone appears in a window — then reach in and use it with your mouse and keyboard.

Free · macOS 14+ · Apple silicon & Intel · 4.4 MB · signed & notarized

SCREEN CONTROL

Two directions, two mechanisms

Video comes off the phone the same way an Apple TV receives it. Control is a separate channel travelling the other way — which is why one works instantly and the other asks something of you.

Works out of the box

Mirroring

Your Mac advertises itself on the network. Open Control Center on your iPhone, tap Screen Mirroring, pick your Mac, and the screen shows up in a device-shaped window — hardware-decoded, about one frame of latency. Nothing to install on the phone.

Requires setup

Control

Click to tap, drag to swipe, scroll to scroll, type to type. Arrow keys move between home screens. It drives the real device, not a simulator — but iOS only permits this through Apple's own testing tools, so it needs Xcode and a developer account.

How it works

Your Mac announces itself

It publishes the same network services an Apple TV does, so your iPhone lists it as a mirroring destination.

The phone streams its screen

Encrypted H.264 video arrives over Wi-Fi and is decoded on the GPU, straight into the window.

Your input travels back

Mouse and keyboard events become real touches on the device, sent over a second connection to a helper running on the phone.

What you need

Mirroring asks for very little. Control asks for more, and it is worth knowing before you download.

macOS
14 (Sonoma) or later, Apple silicon or Intel.
iPhone
Any iPhone on the same Wi-Fi network. Nothing to install for mirroring.
Network
Both devices on the same network. Your Mac may ask for local network permission the first time.
For control only
Xcode and your own Apple Developer account. You build and launch WebDriverAgent on the phone once — iOS offers no other way for a Mac to send touches, and there is no App Store route for it.

Mirroring works for anyone. Control is realistically for developers. If you do not already have Xcode installed, treat MirrorDeck as a mirroring tool and the control features as a bonus you may never turn on.

Getting started

Download, drag to Applications, open. MirrorDeck lives in the menu bar — there is no main window until a phone connects.

# Optional: enabling control, once per phone
$ git clone https://github.com/egarl004/mirrordeck.git
$ cd mirrordeck && ./scripts/bootstrap.sh
$ ./scripts/wda.sh install   # builds and installs the helper
$ ./scripts/wda.sh run       # leave running while you control

Then hover the top edge of the mirror window, click Enable Control, and enter the phone's IP. It is remembered per device and reconnects next time.

Free, and open

MirrorDeck is released under the GPL-3.0. You can read every line, build it yourself, change it, and pass it on. It is built on the work of the UxPlay project, whose AirPlay implementation made it possible, and on Appium's WebDriverAgent for touch input.

Support the project

MirrorDeck is free and always will be. If it saved you some time and you feel like putting something in the tin, it is appreciated and entirely optional.

Or search $emersongarland on Cash App, @emerson-garland on Venmo.