Sill
Any 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; with Homebrew,
brew install --cask saffsanity/sill/sill installs the same download from
Sill's own tap. Sill for iPhone
and iPad is free on the App Store,
and you can also build it from source (below).
To try the next version before it ships: Sill for iPhone and iPad has a
public beta on TestFlight, and Sill for Mac
has nightly builds on
GitHub, notarized like a release but not supported. Your devices stay paired
(a nightly uses the release's identity), and Sill's update check never offers
a nightly: the release above is the one to use.
Screenshots
These are the iPad screenshots from the App Store; on iPhone and iPhone Duo,
Sill has layouts of its own.
Requirements
- A Mac with Apple silicon or an Intel processor, on macOS 14 or later.
- An iPhone or iPad with iOS 17 or iPadOS 17 or later.
- On your Mac, Sill asks for Screen Recording, to show your windows, and
Accessibility, to click, scroll and type for you and to move and size the
window it shows. On macOS 15 or later, also allow Local Network. On your
iPhone or iPad, Sill asks for Local Network, to find your Mac, and for the
camera when you scan your Mac's pairing code (you can type the code
instead).
- Your Mac and your device on the same network, joined by a USB cable, or near
each other with Direct Wireless Connection on. Away from home, your own VPN,
such as Tailscale, with Remote Access on.
How it works
- Sill for Mac lives in the menu bar. When your device picks a window, or
the whole desktop, Sill captures it with ScreenCaptureKit and encodes it as
HEVC with VideoToolbox, on the hardware video encoder in your Mac (or, while
that is busy, in software). It captures nothing while no device is connected.
- The picture goes over an encrypted connection (TLS 1.3) straight to the
Sill app on your iPhone or iPad, which decodes and shows it. When the
encoder or the link falls behind, Sill drops frames rather than queue them,
so the picture stays current.
- Your input goes back the same way: taps and clicks, scrolls with
momentum, the on-screen trackpad, keys and typed text, and Apple Pencil as
the pointer. Sill for Mac turns it into mouse and keyboard events, which
needs Accessibility. A keyboard attached to your device types on your Mac as
soon as the picture shows, Esc included, and a trackpad or a mouse scrolls
the window under its pointer. Chinese, Japanese, Korean and other languages
whose input methods compose text are typed with the keyboards you set up on
your device: you compose and choose there, and what you choose is typed on
your Mac. Dictation types on your Mac too. Reverse Scrolling, in the settings
panel, turns a finger's scroll and the on-screen trackpad's the other way.
Three fingers swipe and pinch as on a Mac's trackpad: Mission Control, App
Exposé, the Spaces, Apps and Show Desktop, through the keyboard shortcuts
your Mac has for them.
Pinch the picture to zoom it, up to 5×, around the point between your
fingers; two fingers move a zoomed picture, and a pinch all the way out
shows the whole picture again.
- On iPhone, held upright, the picture is on top with buttons, keys and a
trackpad below. Larger Picture, in the settings panel, gives a window's
picture the room of the window thumbnails, down to where the keyboard comes
up; the Desktop keeps the usual layout. With the virtual display (on unless
you turn it off in Sill for Mac), your Mac makes a window fill the taller
picture; with it off, once you set the window's text size with Aa.
- The clipboard goes both ways while Share Clipboard is on, in both apps:
text you copy on your Mac is ready to paste on your device, and Paste in
Sill pastes what you copied on your device where your Mac's cursor is (with
Paste on … Right Away off, it only goes to your Mac's clipboard, where you
press ⌘V). Sill never reads your device's clipboard by itself.
- Sound from your Mac is a beta, on by default; Send Audio (Beta) in the
Sill menu or Sill's Settings on your Mac, or in the settings panel of Sill on
your iPhone or iPad, turns it off and on. Sill for Mac captures the sound of
the window's app, or of every app for the Desktop, and every connected device
plays it a moment behind the picture, never ahead of it. Your Mac keeps
playing it too, and Mute in a device's settings panel silences it on that
device alone.
Good to know: Sill shows one window, or the whole desktop, at a time, and it
plays your Mac's sound on your device as a beta, on by default. While the
virtual display is on, the window your device shows isn't on your Mac's screen
until you stop. The clipboard carries text only, up to 256 KB at a time, and
only between apps that both have it. Your Mac needs to be awake, with Sill
open. Sill may not be able to wake it. After a restart Sill opens only once
someone logs in, with Launch at Login on.
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.
Nightly builds: every night main changes, a notarized Sill for Mac built from it
goes to the nightly pre-release,
and Sill for iPhone and iPad to TestFlight's testers. A nightly is tested less
than a release and can break; Sill's update check never offers one, and going back
from a nightly Sill for Mac to the release keeps its settings and paired devices.
Tips
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. Who sponsors Sill, who has contributed, and how to join
them: getsill.app/contribute.
Building from source
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:
- Open
iOSClient/Sill.xcodeproj.
- In the Sill target's Signing & Capabilities, pick your team, and change the
bundle identifier
me.saffer.sill to one of your own.
- Run it on an iPhone or iPad on the same network as your Mac, and tap your
Mac. The first time, a Sill for Mac built from this repository asks you to
pair: scan the code it shows, or connect the device with a USB cable.
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.
Contributing
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. These rules, with the sponsors and the contributors, are at
getsill.app/contribute.
License
Sill is licensed under the Apache License 2.0.
Copyright 2026 Noah Saffer.