Any window from your Mac, live on your iPhone or iPad. Touch, Apple Pencil, trackpad and keys. Free, open source, no servers.
See the codeAny window from your Mac, on your iPhone and iPad.
Sill shows a window from your Mac, or the whole desktop, on your iPhone or iPad. You use it there with touch, a trackpad, a keyboard or Apple Pencil. Sill for Mac captures the window, encodes it as HEVC video and sends it to the Sill app on your device. Your taps, clicks, scrolls and keys go back to your Mac. Your Mac and your device connect on the same network, over a USB cable, with Direct Wireless Connection when they share no network, or through your own VPN, such as Tailscale, with Remote Access. There is no account and no server in between.
getsill.app · Download for Mac · Support · Privacy · Terms
Sill for Mac is a free, notarized download from getsill.app. Sill for iPhone and iPad is free on the App Store, and you can also build it from source (below).
These are the iPad screenshots from the App Store; on iPhone and iPhone Duo, Sill has layouts of its own.
Good to know: Sill shows one window, or the whole desktop, at a time, and it does not play sound from your Mac. Only the iPhones and iPads you paired can connect, unless you turn off Require pairing in Settings › Devices; then any device on your network can, still encrypted. Pairing at home came with Sill for Mac 0.4.0 and Sill for iPhone and iPad 0.5 (2), and each needs the other: the iPhone and iPad app shows an older Sill for Mac as "Update Sill", and an older iPhone and iPad app can't connect to Sill for Mac 0.4.0 or later at home. Since 0.5.1 the two apps share one version number for each release. With Sill for Mac 0.3.1 or earlier, connections on your local network, over the cable and over Direct Wireless Connection are not encrypted, and anything that reaches your Mac there can connect without pairing: update it.
Sill is free, with no ads, no tracking and no subscription. If it is useful to you, a tip through GitHub Sponsors helps pay for the developer account. A tip unlocks nothing: every feature is free.
You need a Mac with Xcode (Sill is built with Xcode 27; the iPhone and iPad app needs Xcode 27.1 or later, for the iPhone Duo's hinge and fold), selected as the active developer directory, with its license accepted.
Sill for Mac, from the repository's folder:
Scripts/make-app.sh --install --open
This builds Sill.app with SwiftPM, signs it with your Apple Development
identity, replaces /Applications/Sill.app and opens it. If that was the Sill
for Mac you downloaded, grant Screen Recording and Accessibility again and
pair each device again: the download keeps its key and paired devices in the
data-protection keychain, which only a Developer ID build with the project's
provisioning profile reads, and a build of your own keeps them in your login
keychain. Without --install it only builds .build/Sill.app. With no Apple
Development identity it signs ad hoc, and then Screen Recording and
Accessibility have to be granted again after every build.
For work on the host itself, swift run -c release SillHost runs the same
host on the command line, with one difference: unless you add --pairing, its
home door is plain and open, with no pairing and no encryption, and any device
on your network can connect to it, so run it only while developing. The App
Store's Sill for iPhone and iPad never dials such a door ("Update Sill"); a
Debug build from this repository can (docs/DEVELOPMENT.md,
Pairing at home). With --synthetic it streams a test pattern with no Screen
Recording needed.
The iPhone and iPad app:
iOSClient/Sill.xcodeproj.me.saffer.sill to one of your own.docs/DEVELOPMENT.md has the rest: every command-line flag, the test tools and the simulator harness, permissions and how to reset them, Remote Access, troubleshooting and releases.
Issues are welcome: bug reports, questions and ideas. For a pull request, keep
to the conventions and decisions in CLAUDE.md: Swift and Apple
frameworks only, no third-party dependencies, nothing that needs a server, and
latency before picture quality. Open an issue before starting anything large.
Before a pull request, Tests/checks/run-all.sh runs the same pure checks as
CI, in about five minutes and with no device.
Contributions are accepted under the project's license. Please report a
security problem privately, as SECURITY.md says, not in a
public issue.
Sill is licensed under the Apache License 2.0. Copyright 2026 Noah Saffer.
Any window from your Mac, live on your iPhone or iPad. Touch, Apple Pencil, trackpad and keys. Free, open source, no servers.
See the codeAny window from your Mac, on your iPhone and iPad.
Sill shows a window from your Mac, or the whole desktop, on your iPhone or iPad. You use it there with touch, a trackpad, a keyboard or Apple Pencil. Sill for Mac captures the window, encodes it as HEVC video and sends it to the Sill app on your device. Your taps, clicks, scrolls and keys go back to your Mac. Your Mac and your device connect on the same network, over a USB cable, with Direct Wireless Connection when they share no network, or through your own VPN, such as Tailscale, with Remote Access. There is no account and no server in between.
getsill.app · Download for Mac · Support · Privacy · Terms
Sill for Mac is a free, notarized download from getsill.app. Sill for iPhone and iPad is free on the App Store, and you can also build it from source (below).
These are the iPad screenshots from the App Store; on iPhone and iPhone Duo, Sill has layouts of its own.
Good to know: Sill shows one window, or the whole desktop, at a time, and it does not play sound from your Mac. Only the iPhones and iPads you paired can connect, unless you turn off Require pairing in Settings › Devices; then any device on your network can, still encrypted. Pairing at home came with Sill for Mac 0.4.0 and Sill for iPhone and iPad 0.5 (2), and each needs the other: the iPhone and iPad app shows an older Sill for Mac as "Update Sill", and an older iPhone and iPad app can't connect to Sill for Mac 0.4.0 or later at home. Since 0.5.1 the two apps share one version number for each release. With Sill for Mac 0.3.1 or earlier, connections on your local network, over the cable and over Direct Wireless Connection are not encrypted, and anything that reaches your Mac there can connect without pairing: update it.
Sill is free, with no ads, no tracking and no subscription. If it is useful to you, a tip through GitHub Sponsors helps pay for the developer account. A tip unlocks nothing: every feature is free.
You need a Mac with Xcode (Sill is built with Xcode 27; the iPhone and iPad app needs Xcode 27.1 or later, for the iPhone Duo's hinge and fold), selected as the active developer directory, with its license accepted.
Sill for Mac, from the repository's folder:
Scripts/make-app.sh --install --open
This builds Sill.app with SwiftPM, signs it with your Apple Development
identity, replaces /Applications/Sill.app and opens it. If that was the Sill
for Mac you downloaded, grant Screen Recording and Accessibility again and
pair each device again: the download keeps its key and paired devices in the
data-protection keychain, which only a Developer ID build with the project's
provisioning profile reads, and a build of your own keeps them in your login
keychain. Without --install it only builds .build/Sill.app. With no Apple
Development identity it signs ad hoc, and then Screen Recording and
Accessibility have to be granted again after every build.
For work on the host itself, swift run -c release SillHost runs the same
host on the command line, with one difference: unless you add --pairing, its
home door is plain and open, with no pairing and no encryption, and any device
on your network can connect to it, so run it only while developing. The App
Store's Sill for iPhone and iPad never dials such a door ("Update Sill"); a
Debug build from this repository can (docs/DEVELOPMENT.md,
Pairing at home). With --synthetic it streams a test pattern with no Screen
Recording needed.
The iPhone and iPad app:
iOSClient/Sill.xcodeproj.me.saffer.sill to one of your own.docs/DEVELOPMENT.md has the rest: every command-line flag, the test tools and the simulator harness, permissions and how to reset them, Remote Access, troubleshooting and releases.
Issues are welcome: bug reports, questions and ideas. For a pull request, keep
to the conventions and decisions in CLAUDE.md: Swift and Apple
frameworks only, no third-party dependencies, nothing that needs a server, and
latency before picture quality. Open an issue before starting anything large.
Before a pull request, Tests/checks/run-all.sh runs the same pure checks as
CI, in about five minutes and with no device.
Contributions are accepted under the project's license. Please report a
security problem privately, as SECURITY.md says, not in a
public issue.
Sill is licensed under the Apache License 2.0. Copyright 2026 Noah Saffer.