Skip to content
pauljodaPublic

About

An open source browser for Mac, iPhone, and iPad.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

289 stars

Watchers

0 watching

Forks

Latest commit

 

History

529 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Crest app icon

Crest

An open source browser for Mac, iPhone, and iPad.

Built with SwiftUI, running Chromium and WebKit on Mac, with separate Spaces for different parts of your life.

Build Crest Latest release MPL-2.0 license

Visit the product site · Read the guides · Download for Mac · Roadmap · Community

Browse Mac releases by channel: Stable, Nightly, or Development.

Crest on Mac with Lion Work first, Winter Personal second, and Audience research open beside the Launch Atlas folder

A browser with boundaries

Most browsers put every login, tab, and distraction into one long-lived container. Crest begins with Spaces instead. Give work, home, research, or a private session its own banner; Crest gives each one its own cookies, website data, history, archive, tabs, credentials, settings, and sync identity.

Switching Spaces changes more than the color of the window. It changes the browsing context.

Crest 0.7: two engines on Mac

Crest for Mac opens pages in Chromium by default. Its engine is built on ungoogled-chromium, with Google integrations removed, and runs Chrome Web Store extensions. Any website or page can open in WebKit instead, which adds Reader, whole-page translation, built-in content blocking, and FairPlay video. When a page needs protected video, Crest switches to WebKit automatically, respecting any unsaved-changes prompt before moving it. Choose the default engine and per-website rules in Settings → Engines. iPhone and iPad use WebKit. The engine guide lists what each engine supports.

Crest Studio and Appearance

Crest Studio puts each Space's crest on that Space's own sidebar background. Start from a template, then step through shape, field, band, emblem, border, finish and sidebar, choosing from previews of your own crest. Every part of the crest and the sidebar has its own color, named by what it paints. Use heraldic artwork, emoji, monograms, or a searchable SF Symbols picker, and Shuffle and Undo freely.

Appearance lets you dock the sidebar on either edge, go borderless, adjust tab shape and scale, choose a pin layout, and tune tab and address-field colors, or let them follow each Space's accent. Start with a preset, see changes live, and reset individual settings. Choose an app icon palette, folder colors and icons, and a default page zoom from 50% to 300%.

Crest Studio with a Winter crest on its Space’s sidebar background, its colors, the shape step, and the live sidebar Appearance settings with window, accent, tab, and pin controls

Browsing features

  • A sidebar with structure. Pins for everyday sites, saved tabs with a home URL, nested folders for projects, and current tabs for what you are doing now. Select tabs, Split Views, and folders together to organize them in one step.
  • Split View. Keep two to four live pages in a group. Resize columns on Mac and iPad; move through focused cards on iPhone.
  • Peek. Preview a link above the current page, then close it or keep it as a tab. On Mac, drag a link into a live Peek. On iPhone and iPad, native link and image menus keep touch actions close by.
  • Quick Window on Mac. Open a link from another app using the right Space’s signed-in session. Promote it to a regular tab when it deserves to stay. Link Routing sends matching external links to their chosen Space.
  • Shared windows on Mac. Open another window onto the same Spaces and tabs, with its own selection. Use a disposable Blank Window for temporary tabs with your Space’s signed-in session, or create one by dragging a tab outside the window.
  • Search and commands. Open a URL, search the web, find tabs and history in your Space, or run a command from one field. Choose custom search engines and optional suggestions. Mac shortcuts can be rebound.
  • Getting Started. Learn tabs, pins, and folders in an interactive browser tab, with Split View practice on Mac.

Two pages open side by side in a Split View group in Crest on Mac

Page tools

Capability What it does
On-device translation On iPhone, iPad, and WebKit pages, detect a page’s language, translate it, or show the original. On Chromium pages, translate selected text. Optional automatic translation uses downloaded languages. Apple may ask to download additional languages.
Reader and page tools Read supported articles with fewer distractions on WebKit pages, find text, adjust zoom, share links, copy Markdown links, print, and export PDF or web archives where supported.
Extensions on Mac Install Chrome Web Store extensions in each Space. They run on Chromium pages, with popups and tab-specific side panels. Compatibility varies.
Developer tools on Mac Preview phone, desktop, and custom viewport sizes; capture pages; open Chromium DevTools or Web Inspector for the page's engine. The toolbar appears on localhost, or on any site with Shift-Command-I.
Media Control eligible active media from the sidebar. On Mac, keep supported videos visible with Picture in Picture, including optional automatic PiP.
Downloads and uploads Follow download progress and revisit files in Downloads. Pause and resume Chromium transfers when the server supports recovery. On iPhone and iPad, upload through Photos, camera, or Files.

Privacy and sync

Private Spaces use temporary website storage and stay out of normal history, restoration, and sync. They can require device authentication and relock when Crest leaves the foreground. Crest Passwords keeps origin- and Space-matched credentials in the system Keychain, with authentication for sensitive access.

Site permissions and content blocking are controlled per Space. Built-in ad and tracker blocking covers iPhone, iPad, and WebKit pages; on Chromium pages, install a blocking extension. Closed and cleaned-up tabs go to a recoverable Archive, subject to your retention settings. Keep Loaded protects a page from ordinary unloading when its live state matters.

Optional iCloud sync carries durable Spaces, tabs, folders, Split View groups, appearance, history, and Archive between devices. Password values stay out of CloudKit; eligible passwords can use iCloud Keychain separately. Start a browser import on Mac, review each destination Space, or export a portable Crest archive.

Read the privacy policy, Space isolation guide, and sync guide for the boundaries and controls.

Get Crest

The same Spaces, shaped for each screen. iPad keeps the sidebar beside your page; iPhone gives your tabs and folders their own view.

Lion Work first and Winter Personal second on iPad, with Audience research open The same Spaces, Launch Atlas folder, and selected Audience research tab in the iPhone sidebar

Platform Install
Mac · Apple silicon · macOS 26.1+ Signed, notarized download with built-in Sparkle updates.

Or install via Homebrew:
brew install --cask crest-browser
iPhone · iOS 26.1+ App Store
iPad · iPadOS 26.1+ App Store
iPhone & iPad beta TestFlight

Built as an Apple-platform app

Crest's browser state and rules live in a portable core written in C# and compiled with NativeAOT. The apps are written in Swift and SwiftUI: shared features live in CrestShared, and each platform owns its windows, engine hosting, commands, and adaptive presentation. On Mac, pages render in Chromium by default or in WebKit; iPhone and iPad use WebKit.

CrestCore/       Portable core: session, sync, pages, and browser rules
CrestContracts/  C ABI header and ABI checks for the core library
CrestEngines/    Chromium host overlay, patches, and engine binding
CrestShared/     Domain, application, infrastructure, features, design system
CrestMac/        macOS app and platform-specific presentation
CrestMobile/     iPhone and iPad app and platform-specific presentation

Read the architecture overview for Space isolation, persistence, credentials, synchronization, and the engine boundary.

Build Crest

Requirements:

  • Apple silicon Mac
  • Xcode with macOS and iOS SDKs supporting the 26.1 deployment targets
  • XcodeGen
  • .NET SDK pinned by CrestCore/global.json, installable with Scripts/control-plane/install-dotnet.sh
git clone https://github.com/pauljoda/Crest.git
cd Crest
Scripts/bootstrap.sh
open Crest.xcodeproj

Xcode builds and embeds the self-contained .NET core for Mac, iOS, and Simulator. Its intermediate files stay in Derived Data; the installed app does not require a .NET runtime. The Crest scheme builds the Mac app with WebKit only; releases add a prebuilt Chromium engine, described in the Chromium engine README. See the control-plane build workflow for isolated review builds and Chromium packaging.

project.yml is the source of truth for targets and build settings. Run xcodegen generate after changing source roots, targets, or project configuration.

Releases and updates

The Crest 0.7 release notes describe the new Mac browsing engines and shared browser core. Crest 0.7 requires Apple silicon and macOS 26.1 or later on Mac; iPhone and iPad continue to use WebKit.

When updating from a WebKit-only release, your Spaces, tabs, history, and Crest Passwords carry over. Chromium has separate website storage, so sites may ask you to sign in again. You can keep WebKit as your default. Reinstall older WebKit extensions from the Chrome Web Store in each Space. The upgrade guide explains these changes and the engine feature limits.

macOS releases are distributed directly through GitHub Releases as signed, notarized Apple-silicon disk images, one app with both engines. Crest uses Sparkle 2 with a native SwiftUI update interface. Stable and nightly builds share a signed appcast, and development builds have their own; choosing Nightly or Development is an explicit choice in Settings → About.

GitHub Actions builds every public release, verifies its Developer ID signature and notarization, publishes provenance and checksums, then updates the signed updates branch appcast and that channel's release-note cursor together only after the immutable release assets exist. Public downloads live in GitHub Releases rather than GitHub Packages. See the distribution runbook for the channel, credential, publication, and verification contracts.

Validate a change

Scripts/validate-identity.sh
Scripts/validate.sh
Scripts/validate-cache-hygiene.sh

Run the relevant behavioral tests and repository checks. Review visual, layout, and static-copy changes in the real app, Simulator, or browser.

Project status

Crest is under active development. The current implementation includes the core browsing, Space isolation, native platform chrome, credentials, data portability, synchronization foundations, Quick Window, Peek, and privacy features described above. The Crest Roadmap project is the public release view; approval-gated and physical-device work remains documented in the roadmap.

Community and support

Use r/CrestBrowser for questions, feedback, ideas, and website or extension compatibility discussion. Use GitHub Issues for reproducible bugs and concrete tracked outcomes. Security concerns belong in a private vulnerability report, never a public post. SUPPORT.md explains each route in detail.

Crest is one of several open source projects built by Paul Davis. You can support the work through Ko-fi or GitHub Sponsors. Sponsorship does not buy roadmap priority or private access.

Sponsors

Monthly support helps pay for hosting, signing, testing, and development across Paul's open source projects. Sponsors can be recognized in the public sponsor roll at one of three levels:

  • Sponsor — $25/month: top placement with an optional approved link.
  • Sustainer — $10/month: higher placement with an optional approved link.
  • Supporter — $3/month: name in the public roll.

Recognition is optional. A listing is a thank-you, not an endorsement or a way to buy roadmap priority, private support, or project ownership. See the membership tiers on Ko-fi to become a monthly sponsor.

AI usage

AI tools assist with Crest's development, audits, testing, documentation, and project maintenance. Maintainers direct product design and architecture, review generated changes, and remain responsible for everything that ships.

Contributors are welcome to use AI tools. You must understand, review, and validate what you submit, explain your decisions, and address feedback. The same quality standards apply regardless of how a contribution was produced.

Any change an AI tool helped produce must follow the crest-contribution skill. It carries the C# and Swift style, the architecture and UI rules, the test policy, and the pull request requirements that are not obvious from the code. Claude Code finds it through .claude/skills and Codex through .agents/skills; any other agent should start from AGENTS.md, which points to it. The pull request template asks you to confirm the skill was followed, and a check reads that answer. Every pull request also receives an automated CodeRabbit review; treat its comments as a first pass, not a verdict.

Submit only work you can stand behind. AI-generated code, test results, and claims need verification before they become part of a contribution.

Contributing

Want to help? Please do! While I feel confident doing the actual dev work, there are some areas that desperately need help.

  • Designer: if you are a designer, I would love any input or help with the website, promotional material, and feedback on the app's UI itself.
  • Security: I have some background in cyber security, mainly red team/blue team and some as a dev, so I welcome any and all security audits and improvements. Please report findings through the built-in security reporting.
  • Engine guru: if you have lots of experience with Chromium and browser engines in general, I would love any input or help.

While those are the larger needed roles, anyone is free to contribute. Please follow the guidelines and make sure your work is well done and aligns with the product. If you have a more drastic change, you can always fork it to try it out, then share it to see whether it would be a good fit to merge in.

See CONTRIBUTING.md for setup and change discipline, GOVERNANCE.md for project ownership, and the documentation index for engineering references. Architecture changes should preserve the Space boundary and the native shape of each platform.

Contributors

People who have contributed to Crest

License and brand

Crest source code is available under the Mozilla Public License 2.0. The source is open for inspection, modification, and commercial use under that license. The Crest name, app icon, logos, and official distribution identity are reserved; modified distributions must use their own branding as described in TRADEMARKS.md. Third-party notices are collected in THIRD_PARTY_NOTICES.md.

Star History

Star History Chart

About

An open source browser for Mac, iPhone, and iPad.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

289 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages