Feather
Experimental open-source WebKit browser for macOS 26+ with vertical tabs, Spaces, Favorites and split view.
Feather is a native macOS browser written in Swift and SwiftUI on the system WebKit engine, by solo developer Nassim (Nesbesss). It has an Arc-style sidebar with Favorites shared by every Space, per-space pinned tabs and separate cookies per Space. It adds a command bar, two-pane split view, Shift-click link preview, auto picture-in-picture and a built-in ad blocker. On Macs with Apple Intelligence, an on-device model groups loose tabs. It needs macOS 26 or later and is an unnotarized 0.1.0 preview that uses private WebKit APIs.
AI on by default
On-device Apple Intelligence groups loose tabs and decides when to hide the sidebar; both on by default, toggles in Settings. Inert without Apple Intelligence.
github.comNone found
No analytics, account, ad or upsell code in the source. Network use: favicons, extension updates and a YouTube SponsorBlock lookup (on by default, toggle).
github.comAds, crypto, paid upsells, news feeds, default-on telemetry, required accounts.
Organization
| Feature | Feather | Arc | Note |
|---|---|---|---|
| SidebarVertical sidebarTabs live in a vertical sidebar that is the main tab UI and can be hidden. | ✓ | ✓ | Sidebar is the only tab UI (no toolbar); ⌘S hides it, and it can auto-hide on sites with their own sidebar.github.com |
| SpacesSeveral workspaces per window, each with its own pinned and open tabs, switched by swipe or shortcut. | ✓ | ✓ | Each Space has its own pinned and regular tabs and archive; ⌃1–9 switches.github.com |
| ProfilesProfiles per Space (shareable)Each Space can use its own browser profile (separate cookies, logins, history), and one profile can be shared by several Spaces. | ◐ | ✓ | Every Space after the first gets its own cookie store; no profile picker, so none can be shared across Spaces.github.com |
| FavoritesGlobal favoritesPinned icons at the top of the sidebar shared by every Space (Zen calls them Essentials). | ✓ | ✓ | Favorites tiles at the top of the sidebar are shared by every Space; each Space opens its own tab for one.github.com |
| Pinned TabsPinned tabs & foldersPer-space pinned tabs that act like bookmarks, with nested folders. | ◐ | ✓ | Per-Space pinned tabs; no folders for them. Named groups exist only for unpinned tabs.github.com |
| Live foldersSidebar folders that fill and refresh themselves from an outside source, such as GitHub pull requests or an RSS feed. | ✕ | ✓ | No live-folder code at 1689520; the sidebar has favorites, pinned tabs, tab groups and the tab list only.github.com |
| ArchiveAuto-archive tabsUnpinned tabs close automatically after a set time and stay recoverable in an archive. | ✓ | ✓ | Unpinned tabs archive after 12 h (default), 1 day, 1 week or never; the command bar finds them.github.com |
| Theme pickerSpace themesPer-space colour or gradient themes. | ◐ | ✓ | Each Space gets a tint hue that colours its window and sidebar; assigned automatically, no picker found.github.com |
Browsing
| Feature | Feather | Arc | Note |
|---|---|---|---|
| Split ViewTwo or more tabs side by side in one window. | ◐ | ✓ | Two panes side by side only (primary and secondary tab); ⇧⌘= toggles.github.com |
| PeekLink previewOpen a link in an overlay without leaving the current page (Zen calls it Glance). | ✓ | ✓ | ⇧-click a link to preview it in a floating panel; ⌘↩ opens it as a tab.github.com |
| Little ArcMini windowA small, chrome-less window for links opened from other apps or a quick search. | ✕ | ✓ | Links from other apps open as a normal tab in the current window; small windows only for sign-in popups.github.com |
| Command barA ⌘T palette that searches tabs, history, bookmarks and browser commands. | ◐ | ✓ | ⌘T/⌘L palette searches open tabs, archive, history and Favorites; no browser commands.github.com |
| Air Traffic ControlLink routingRules that send links from other apps to a chosen space or profile. | ✕ | ✓ | External links all open in the key window; no routing rules or per-Space default found.github.com |
| BoostsSite customizationPer-site custom CSS/JS, or zapping elements off a page. | ◐ | ✓ | No per-site CSS/JS editor or zap; content scripts and styles only via installed WebExtensions.github.com |
| Auto PiPAuto picture-in-picturePlaying video pops out into picture-in-picture automatically when you switch tabs. | ✓ | ✓ | Switching away from a playing video pops it into PiP; on by default and a Settings toggle.github.com |
| Mini playerMedia still playing in a tab you left keeps play/pause controls in the sidebar. | ✓ | ✓ | Sidebar card for a tab playing elsewhere: play/pause, mute and picture-in-picture; click it to jump to the tab.github.com |
| Tab SwitcherRecent-tab switcherCtrl+Tab jumps back to the tab you used last and cycles in recently used order. | ✕ | ✓ | ⌃Tab and ⇧⌘] step through the Space's tabs in sidebar order via selectAdjacentTab; no recent-order list.github.com |
| Super CopyClean link copyA shortcut (⌘⇧C) copies the page URL with tracking parameters removed. | ✓ | ✓ | ⇧⌘C Copy Page URL strips utm_, fbclid and similar parameters when "Clean shared links" is on (default on); no toast.github.com |
| CaptureScreenshotsBuilt-in capture of a chosen area or element, and of the full page. | ✕ | ✓ | No user screenshot feature; only the opt-in agent socket can return a viewport PNG.github.com |
Compatibility & migration
| Feature | Feather | Arc | Note |
|---|---|---|---|
| Arc importImports Arc spaces, pinned tabs and folders. | ✕ | – | No Arc importer found; only a password CSV import (Passwords app, Safari, Chrome, Firefox, Bitwarden).github.com |
| Chrome extensionsInstalls extensions from the Chrome Web Store. | ◐ | ✓ | Installs from Web Store links, CRX/ZIP or folders on WebKit's runtime; Chrome-only APIs are unavailable.github.com |
| DRM streamingNetflix, Disney+, Spotify web and other DRM video/audio play, through Widevine or, on WebKit, FairPlay. Chromium forks need a Google Widevine licence; FairPlay counts once a major service is confirmed playing in the app. | ? | ✓ | |
| PasskeysWebAuthn passkeys, Touch ID and the system/iCloud keychain. | ✕ | ✓ | 0.1.0 is ad-hoc signed without Apple's passkey entitlement; pages see no WebAuthn. Passwords use Touch ID.github.com |
| SyncSpaces, pinned tabs and settings sync across devices. | ✕ | ✓ | No sync or account code in the source; spaces and settings stay on the Mac.github.com |
| Mobile appiPhone, iPad or Android app that shares spaces with desktop. | ✕ | ◐ | macOS-only Xcode project (macOS 26.0 target); no iOS or Android app.github.com |
Extras
| Feature | Feather | Arc | Note |
|---|---|---|---|
| Built-in ad blockerAd and tracker blocking without installing an extension. | ✓ | ✓ | Bundled HaGeZi domain list as WebKit content rules, on by default; plus cookie pop-up rejection.github.com |
| Custom ShortcutsShortcut editorMost browser keyboard shortcuts can be remapped in Settings. | ✕ | ✓ | Settings pages are General, Appearance, Sidebar, Privacy, Performance, Media, Passwords, Extensions; menu shortcuts are hardcoded.github.com |
More Arc features
Arc features shown but not counted in the score, because almost no replacement has them or only a few people need them.
| Feature | Feather | Arc | Note |
|---|---|---|---|
| EaselsA shareable canvas of live page captures, notes and drawings. | ✕ | ◐ | No canvas or board code at 1689520; the sidebar has no capture or notes board.github.com |
| Shared CollectionsShared spaces & foldersShare a Space, folder or set of tabs as a link anyone can open, or another user can add to their sidebar. | ✕ | ✓ | Only copies one page's link as Markdown (⌥⇧⌘C); no space, group or tab-set sharing or export.github.com |
| PreviewsWeb app previewsHover a pinned Gmail, Calendar or other web app to glance at it; a pinned calendar shows the next meeting with Join. | ✕ | ✓ | Sidebar has favorites, pinned tabs and tab list only; no live web-app glance, unread badges or meeting widget.github.com |
| Developer modeA developer view that turns on by itself for localhost: full URL, quick DevTools and dev tools in reach. | ✕ | ✓ | The Develop menu only enables or copies the opt-in agent socket path; no developer mode or dev UI.github.com |
Extension support
Which extension formats and stores run, beyond the Chrome Web Store row above.
| Feature | Feather | Arc | Note |
|---|---|---|---|
| Manifest V2 extensionsThe older extension format Chrome removed in 2025. Needed for full uBlock Origin and other extensions that block requests. | ◐ | ✕ | WebKit loads MV2 but ignores blocking webRequest, so uBlock Origin can't block. No Feather patch.github.com |
| Manifest V3 extensionsThe current extension format used by the Chrome Web Store (and supported by Firefox and Safari). | ✓ | ✓ | Runs MV3 on WebKit's native extension runtime; Chrome-only APIs are unavailable.github.com |
| Firefox add-onsAdd-ons from addons.mozilla.org or .xpi files install and run. | ◐ | ✕ | Manual import only: any ZIP-format file (so a .xpi) is accepted; no addons.mozilla.org install flow.github.com |
| Safari extensionsSafari web extensions (the App Store extension apps Safari uses) install and run. | ◐ | ✕ | Can't install App Store Safari extension apps; only unpacked extension folders or ZIPs load.github.com |