kageroumado/refrax-browser — explained in plain English
Analysis updated 2026-06-24
Build and run a fully native macOS web browser with SwiftUI that uses Apple's WebKit for page rendering
Study how a real Swift browser manages a pool of WKWebView instances for tab performance and lazy creation
Control Refrax programmatically from a shell script using the included refrax-ctl headless CLI tool
| kageroumado/refrax-browser | oil-oil/notchnotes | a9eelsh/heliocore | |
|---|---|---|---|
| Stars | 12 | 12 | 13 |
| Language | Swift | Swift | Swift |
| Setup difficulty | hard | easy | hard |
| Complexity | 4/5 | 2/5 | 3/5 |
| Audience | developer | general | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires Xcode 26, your own code-signing identity, and a personal iCloud container ID to enable CloudKit sync.
Refrax is a web browser for macOS, built entirely in Swift using Apple's native WebKit rendering engine. It targets macOS 26 and later, requires Xcode 26 and Swift 6.2 to build, and uses SwiftUI for its interface with a visual style described as Liquid Glass. The browser is free and open source under the GNU General Public License version 3, which means you can study, modify, and share the code. The Refrax name and icon are trademarks and are not covered by that license: anyone distributing a modified version must rebrand and use a different name and icon. Builds and updates are distributed from the project website rather than through this repository. Internally, the browser organizes browsing through Tabs that can hold multiple TabPages, stored with SwiftData for persistence. The WebPage type wraps WKWebView, Apple's component for displaying web content, and a pool manages those views so they are created on demand rather than up front. The SwiftUI layer sits on top, consuming shared state through environment injection with a Manager pattern. The repository also contains a headless command-line tool called refrax-ctl for controlling the browser programmatically, a widget extension, a shared Swift package used by both the app and the CLI, and build scripts for generating color palettes. The project layout uses folder references in Xcode rather than Xcode groups, so files are added and removed on disk. Building requires setting your own code-signing identity in Xcode, since signing is not preconfigured in the public repository. CloudKit sync also needs your own iCloud container identifier. A setup script handles the first-time installation of SwiftFormat, SwiftLint, and a pre-commit hook.
An open-source macOS web browser written in Swift 6.2 using Apple's WebKit and SwiftUI, targeting macOS 26, with a headless CLI for programmatic control, SwiftData tab persistence, and optional CloudKit sync.
Mainly Swift. The stack also includes Swift, SwiftUI, WebKit.
You can use, modify, and share the code freely, but any modified version must use a different name and icon and must also be released under GPL v3.
Setup difficulty is rated hard, with roughly 1day+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.