MirrorSim is a Windows app for mirroring an iPhone over AirPlay in a clean, presentation-ready device frame. It is built for demos, QA, product screenshots, app walkthroughs, and quick screen recordings without plugging in a cable.
It gives you a focused iPhone preview instead of a noisy receiver window: Minimal mode for floating over your desktop, Console mode for diagnostics and controls, screenshots, local recording, trusted-device handling, auto-rotation, and live preview tuning.
MirrorSim includes a bundled AirPlay receiver runtime built from a fork of AirPlayServer by xenos1337. MirrorSim provides the desktop app, UI, capture tools, diagnostics, and release packaging around that receiver layer.
- Live iPhone screen mirroring over Wi-Fi
- Minimal floating device-frame mode for demos and recordings
- Console mode with connection state, diagnostics, capture history, and controls
- Portrait and landscape framing with automatic orientation updates
- Screenshots to disk and/or clipboard
- Local
.webmscreen recordings from the preview surface - Adjustable preview quality and live-edge catch-up presets
- Trusted-device preferences and receiver access controls
- Bonjour readiness checks and helpful troubleshooting actions
- Windows 10 or later, x64
- Bonjour for Windows
- iPhone and PC on the same Wi-Fi network
- Windows Firewall allowing MirrorSim on the network you are using
MirrorSim bundles its AirPlay receiver runtime in release builds. You do not need to install a separate receiver package.
MirrorSim is currently shipping as an unsigned early beta while the project is still getting its first public releases out. Windows SmartScreen may warn on first launch.
To run the official GitHub release build:
- Click More info on the SmartScreen warning.
- Click Run anyway.
Only download MirrorSim from the official GitHub Releases page. Release assets include SHA-256 checksums so you can verify the installer or portable zip before running it.
MirrorSim ships in two formats:
- Installer: best for most users. Installs MirrorSim like a normal desktop app.
- Portable zip: extract and run without a full install.
Download the latest release from:
https://github.com/Mahcks/MirrorSim/releases/latest
- Download the latest MirrorSim installer.
- Run the installer.
- Install Bonjour for Windows if your iPhone cannot discover MirrorSim.
- Launch MirrorSim from Start or the desktop shortcut.
- Download the latest portable zip.
- Extract it to a folder you control.
- Run
MirrorSim.exe. - Install Bonjour for Windows if your iPhone cannot discover MirrorSim.
- Launch MirrorSim.
- Click Start.
- On your iPhone, open Control Center.
- Tap Screen Mirroring.
- Choose the receiver name shown in MirrorSim, usually
MirrorSim. - Approve the pairing/trust prompt if MirrorSim asks for it.
The live iPhone preview appears inside the device frame. Use Minimal mode when you want the clean floating overlay, or Console mode when you want diagnostics, settings, and capture history visible.
Minimal mode is the showcase view: just the device frame, a compact title bar, and quick controls for capture, recording, rotation, preferences, and switching back to Console.
Console mode is the control room: connection status, Bonjour state, diagnostics, capture history, recording controls, trusted devices, and troubleshooting tools.
By default, captures are saved under:
Pictures/MirrorSim/
Default filenames:
- Screenshots:
mirrorsim_screenshot_YYYYMMDD_HHMMSS.png - Recordings:
mirrorsim_recording_YYYYMMDD_HHMMSS.webm
Preferences let you choose whether screenshots save to disk, copy to clipboard, or both. You can also change the screenshot and recording folders.
| Shortcut | Action |
|---|---|
Ctrl+S |
Take screenshot |
Ctrl+R |
Toggle recording |
Ctrl+F or F |
Toggle fullscreen |
Ctrl+M |
Toggle Console/Minimal mode |
| Double-click the device | Toggle fullscreen |
F1 |
Toggle diagnostics, switching to Console mode if needed |
H |
Hide or show the Minimal mode toolbar |
Esc |
Close Preferences or the context menu |
Preview presets tune the desktop playback surface. They do not change the iPhone's AirPlay stream quality directly; they adjust scaling and how aggressively MirrorSim catches up to the live edge after small stalls or sleep/wake hiccups.
| Preset | Best for | Behavior |
|---|---|---|
| Good quality | Demos and review | Smooth scaling with a slightly steadier preview |
| Balanced | Everyday use | A practical balance between clarity and latency |
| Fast speed | Lowest latency | More aggressive live-edge catch-up and pixelated scaling |
MirrorSim is focused on screen mirroring.
- System audio capture/playback is not currently included. It's actively being worked on
- DRM-protected video playback is not supported.
- AirPlay discovery depends on Bonjour and local network/firewall conditions.
- Sleep/wake and reconnect behavior depends partly on how iOS resumes the AirPlay sender session.
- Install Bonjour for Windows.
- Make sure the Bonjour Service is running.
- Put the iPhone and PC on the same Wi-Fi network.
- Allow MirrorSim through Windows Firewall on private networks.
- Avoid VPNs, proxies, or VM/NAT networking while testing discovery.
MirrorSim can show Bonjour status in-app and can open the Bonjour download, Windows Services, and Windows Firewall pages for you.
- Open Console mode and expand diagnostics.
- Watch
Buffer,Rate,Dropped,Queued,Init,Appended, andLast error. - Try the Fast speed preset for lower latency.
- Disconnect and reconnect the iPhone from Control Center if iOS resumes from sleep in a bad state.
- Restart MirrorSim if the native receiver runtime has been left running from an older dev build.
The preview must be live and decodable before capture works. If MirrorSim says the live preview is not ready, wait for the iPhone frame to appear or reconnect the session.
Install dependencies:
bun installRun the frontend only:
bun run devRun the Tauri desktop app:
bun run tauri devBuild the frontend:
bun run buildRun Rust tests:
cargo test --manifest-path src-tauri\Cargo.tomlMirrorSim expects the receiver runtime under:
receivers/AirPlayServer/
Use the published runtime bundle:
bun run fetch:airplay-runtimeUse a local sibling AirPlayServer build:
bun run sync:airplay-runtimesync:airplay-runtime looks for a sibling checkout at ..\AirPlayServer and copies the built MirrorSimAdapter.exe plus required DLLs into MirrorSim.
Important: commands ending in :fetch download the runtime declared in receivers/runtime-manifest.json. Use those when you want to validate the published runtime. Do not use :fetch when you are trying to test local changes in the sibling AirPlayServer fork.
Release packaging is driven by scripts/build-release.ps1.
bun run release:prep
bun run release:installer
bun run release:portable
bun run release:allPublished-runtime variants:
bun run release:prep:fetch
bun run release:installer:fetch
bun run release:portable:fetch
bun run release:all:fetchRelease packaging uses Rust 1.88.0-x86_64-pc-windows-msvc through the release script and CI. Normal local development can use your installed stable Rust toolchain.
Updater-enabled release builds require:
TAURI_SIGNING_PRIVATE_KEYTAURI_SIGNING_PRIVATE_KEY_PASSWORD, if your key has a password
The GitHub release workflow expects receivers/runtime-manifest.json to point at a downloadable AirPlay runtime zip with a matching SHA-256 checksum. The workflow also publishes release/latest.json for Tauri updater checks.
The first public beta release uses MSI-safe numeric prerelease versions such as v0.1.0-1. Use a tag like:
git tag v0.1.0-1
git push origin v0.1.0-1The release workflow uploads installer, portable zip, updater metadata, and checksums.txt.
- Tauri 2
- Rust
- React
- TypeScript
- Tailwind CSS
- Bundled native AirPlay receiver runtime
MirrorSim depends on work from the AirPlay reverse-engineering and open-source desktop media communities.
- AirPlayServer by xenos1337
- airplay2-win by fingergit
- Bonjour, FFmpeg, SDL2, and related libraries used by the bundled receiver runtime
MirrorSim itself is licensed under MIT. The bundled AirPlay receiver runtime includes separate third-party license terms in LICENSES/AirPlayServer-LICENSE.
Apple, AirPlay, and iPhone are trademarks of Apple Inc. MirrorSim is an independent project and is not affiliated with or endorsed by Apple Inc.


