BetterCapture for macOS Screen Recording
The macOS screen recorder for the rest of us - always free and open source with a native look and feel 📺
At a glance
- What is it?
- BetterCapture is a native macOS screen recorder built with SwiftUI and ScreenCaptureKit. It supports ProRes, HEVC, H.264, HDR, alpha-channel recording, system audio, microphone capture, content filtering, and automation through a custom URL scheme.
- Who is it for?
- Adopt BetterCapture if you run macOS 15.2 or later and want a local, native screen recorder with professional encoding and URL-scheme automation. Do not choose it for Windows, Linux, hosted recording, or unattended workflows without confirming those requirements first.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 40 days ago.
- What is it written in?
- Mainly Swift, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What BetterCapture Captures on macOS
BetterCapture addresses a specific problem: recording a Mac screen while keeping the application inside the macOS interface rather than presenting a separate web dashboard or unfamiliar control panel. It is intended for people who need to capture screen content for tutorials, demonstrations, software walkthroughs, or other local video files. The README describes it as a native macOS application built with SwiftUI and ScreenCaptureKit, with the recorder placed in the menu bar.
The recording options are broader than a basic screen capture. The documented codecs are ProRes 422 and 4444, HEVC, also identified as H.265, and H.264. The README also states that the application supports alpha-channel and HDR recording. These options matter when the intended output will be edited in a video tool that expects a particular codec or color workflow. The project does not document every capture preset, bitrate, frame-rate choice, or color-management setting, so those details should be checked in the application before a production recording.
BetterCapture also supports system audio and microphone audio simultaneously. That combination is useful for a screen recording in which narration comes from a microphone while software or operating-system sound is captured from the Mac. The README does not explain audio-device selection, channel mapping, synchronization behavior, or per-source mute controls. Those are practical limits on how much can be concluded from the documented feature list.
The repository identifies the primary language as Swift and includes BetterCapture.xcodeproj, BetterCapture, and BetterCaptureTests. That layout is consistent with a native application rather than a browser wrapper. The project is MIT licensed, free, and open source, with recordings stored locally and no analytics or tracking according to the README.
ScreenCaptureKit, SwiftUI, and Local Recording Flow
The documented architecture is small but meaningful. BetterCapture uses SwiftUI for the user interface and ScreenCaptureKit for macOS screen capture. The application lives in the menu bar, which gives it a persistent entry point without requiring a large main window during ordinary use. The README does not expose a lower-level capture pipeline, frame-processing path, or file-writing implementation, so the exact internal sequence should not be inferred beyond those named technologies.
The feature set suggests a local workflow: choose what to record, encode the captured screen and audio into a supported format, and store the result on the Mac. The README identifies content filtering as a capability, including the ability to exclude specific content from recordings. It does not document the filter syntax, whether filtering applies before or after encoding, or whether it can target windows, applications, or display regions. This makes content filtering useful to be aware of, but not sufficiently specified for a deployment policy.
Privacy is described in terms of storage location and telemetry. The README says that there is no tracking, no analytics, and that all recordings are stored locally. Those statements describe the project's documented defaults, but they do not substitute for reviewing the build, permissions, and any cloud-related features that may be added in a future release. For this version of the repository, the local-storage claim is the relevant operational fact.
The project also exposes actions through a custom URL scheme. That mechanism does not replace the menu-bar interface. Instead, it gives external tools a way to request recording control or open the output directory, which is useful when a user already works with Shortcuts, Raycast, or Alfred.
Installing BetterCapture on macOS Sequoia
The README documents two installation paths. The Homebrew path is the shortest route for users who manage Mac applications with Homebrew. The command is:
brew install bettercaptureAfter that command completes, the application should be available according to Homebrew's normal installation behavior. The README does not document whether Homebrew installs a cask or formula, so it does not provide a command for opening the app or confirming the binary path.
The direct-download path uses the GitHub Releases page. Download BetterCapture.dmg from the latest release, then open that disk image and follow the macOS installation flow shown by the application package. The README names the file exactly and points to the releases page at https://github.com/jsattler/BetterCapture/releases/latest.
The stated operating-system requirement is macOS 15.2, also called Sequoia, or later. This is a hard platform boundary in the documentation. BetterCapture is not presented as a Windows or Linux recorder, and the repository does not provide packages for those systems.
After installation, the first useful action is to launch BetterCapture and inspect its menu-bar entry. The README does not document the exact labels or sequence for creating a recording, so a new user should not expect a command-line recording flow. The documented URL scheme below is the first concrete automation example.
Recording from Raycast, Shortcuts, or Alfred
BetterCapture registers a custom URL scheme for external automation. The README lists three URLs and their actions. `bettercapture://toggle` stops an active recording, or opens content selection, such as `Pick Content` or `Select Area`, when recording is not active. `bettercapture://toggle-copy` follows the same behavior but copies the saved recording to the clipboard when stopping. `bettercapture://open-recordings` opens the output folder in Finder.
The README gives one macOS command for invoking the toggle URL:
open "bettercapture://toggle"This is a useful first use because it exercises the external URL interface without requiring the user to reproduce an undocumented menu-bar click sequence. Depending on the current application state, the command either stops a recording or starts the documented content-selection step. The README does not state whether the command returns an error when the application is not running, so an automation setup should verify that BetterCapture is installed, launched, and permitted to handle its URL scheme.
The clipboard action is available through `bettercapture://toggle-copy`. Its documented behavior is specifically tied to stopping a recording. It does not say that an arbitrary existing file is copied, nor does it define clipboard formats. The `bettercapture://open-recordings` action opens the output folder in Finder, but the README gives no command example for that URL.
These URLs make BetterCapture suitable for a personal automation shortcut, but they do not constitute a documented scripting API. There are no documented HTTP endpoints, JSON commands, return values, or batch operation formats in the README.
Professional Codecs and Content Exclusions
The codec selection is BetterCapture's clearest differentiator within the documented scope. ProRes 422 and ProRes 4444 target editing workflows that value predictable intermediate files. HEVC provides an H.265 option, while H.264 remains available as a broadly familiar delivery format. The README also lists alpha-channel support and HDR support, although it does not provide compatibility tables or explain whether both features are available in every codec and capture mode.
That distinction matters for adoption. A user choosing ProRes may need substantially more disk space than a user choosing a compressed delivery codec, but the README gives no storage estimates or recording limits. The documentation also does not state how BetterCapture handles dropped frames, thermal limits, long sessions, or disk-full conditions. Those are operational questions for a screen recorder, and none should be filled in by assumption.
Content filtering can exclude specific content from recordings. That is valuable when a recording includes sensitive or irrelevant regions, but the absence of syntax and scope documentation is significant. A user who needs auditable redaction should not treat an undocumented exclusion feature as equivalent to post-production redaction. The README does not say whether excluded regions are removed from the encoded frames, hidden from viewers, or handled during capture.
System and microphone audio can be recorded together, but the README does not document levels, device switching during a recording, or failure handling when an audio source disappears. The practical conclusion is that BetterCapture exposes the right categories for professional capture, while the application itself is the place to verify exact codec combinations and recording behavior.
When BetterCapture Is the Wrong Choice
BetterCapture is the wrong choice for anyone who needs a hosted desktop-recording API. The README points readers to Recall.ai for recording Zoom, Google Meet, Microsoft Teams, and in-person meetings through an API. That is a different architecture. Recall.ai is presented as a hosted service with desktop SDK capabilities, while BetterCapture is a local macOS application whose documented integrations are menu-bar controls and custom URLs.
It is also unsuitable for non-macOS users, because the stated requirement is macOS 15.2 or later and the implementation uses ScreenCaptureKit. A team that needs one recording workflow across Windows, Linux, macOS, and mobile devices would need a different tool or a separate platform-specific process.
For unattended or server-side recording, the documentation does not provide evidence of a command-line daemon, scheduled capture facility, remote API, or headless mode. The URL scheme can request actions from an external tool, but it does not by itself establish unattended operation. Organizations requiring centralized storage, identity controls, retention enforcement, or administrative policy should verify those capabilities before adopting the application.
For maintenance planning, the repository is not archived, and the last push was on 2026-09-13. The latest listed release is v2026.4, also dated 2026-09-13, while v2026.4-beta.1 was listed for 2026-08-30 and v2026.3.1-beta.1 for 2026-03-29. The MIT License permits use and modification under its terms, but the license does not answer product-support or upgrade-compatibility questions.
Editorial conclusion
Adopt BetterCapture if you run macOS 15.2 or later and want a local, native screen recorder with professional encoding and URL-scheme automation. Do not choose it for Windows, Linux, hosted recording, or unattended workflows without confirming those requirements first. Verify codec, HDR, audio, content-filtering, and clipboard behavior in your own recording workflow.
Frequently asked questions
What are the macOS requirements for BetterCapture?
The README states that BetterCapture requires macOS 15.2 Sequoia or later. The repository describes a SwiftUI application using ScreenCaptureKit.
Can BetterCapture record system audio and microphone audio?
Yes. The README lists flexible audio capture and states that system audio and microphone audio can be recorded simultaneously. It does not document device selection or mixing controls.
How can I automate BetterCapture with a URL?
Use bettercapture://toggle to stop recording or begin content selection, bettercapture://toggle-copy to copy a stopped recording to the clipboard, or bettercapture://open-recordings to open the output folder. The README gives these as custom URL scheme actions.
Which video codecs does BetterCapture support?
The README lists ProRes 422, ProRes 4444, HEVC, and H.264. It also states that alpha-channel and HDR support are available, without documenting every codec combination.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/jsattler-bettercapture)Was this useful?