whatisgithub

What is refrax-browser?

kageroumado/refrax-browser — explained in plain English

Analysis updated 2026-06-24

12SwiftAudience · developerComplexity · 4/5LicenseSetup · hard

In one sentence

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.

Mindmap

mindmap
  root((refrax-browser))
    What it does
      Renders web pages
      Manages tabs
      CLI control
    Tech Stack
      Swift 6.2
      SwiftUI
      WebKit
      SwiftData
    Features
      Liquid Glass UI
      Widget extension
      Headless CLI
      CloudKit sync
    Build requirements
      Xcode 26
      Code signing
      macOS 26
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build and run a fully native macOS web browser with SwiftUI that uses Apple's WebKit for page rendering

USE CASE 2

Study how a real Swift browser manages a pool of WKWebView instances for tab performance and lazy creation

USE CASE 3

Control Refrax programmatically from a shell script using the included refrax-ctl headless CLI tool

What is it built with?

SwiftSwiftUIWebKitSwiftDataCloudKit

How does it compare?

kageroumado/refrax-browseroil-oil/notchnotesa9eelsh/heliocore
Stars121213
LanguageSwiftSwiftSwift
Setup difficultyhardeasyhard
Complexity4/52/53/5
Audiencedevelopergeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires Xcode 26, your own code-signing identity, and a personal iCloud container ID to enable CloudKit sync.

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.

So what is it?

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.

Copy-paste prompts

Prompt 1
How do I build refrax-browser in Xcode 26, configure my own code-signing identity, and run it on macOS 26?
Prompt 2
Walk me through how refrax-browser uses SwiftData to persist tabs and TabPages across app launches.
Prompt 3
How does the WKWebView pool in refrax-browser manage views on demand, and how do I adjust pool behavior?
Prompt 4
How do I use the refrax-ctl CLI to control the running Refrax browser from a shell script?

Frequently asked questions

What is refrax-browser?

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.

What language is refrax-browser written in?

Mainly Swift. The stack also includes Swift, SwiftUI, WebKit.

What license does refrax-browser use?

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.

How hard is refrax-browser to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is refrax-browser for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.