Somnia
Native macOS WebKit browser with a vertical sidebar, Spaces and an Obsidian-style notes vault.
Somnia is a native macOS browser written in SwiftUI on the system WebKit, with no third-party dependencies. It has a vertical tab sidebar, colour-coded Spaces, tab sleeping to save memory, a command palette that also searches your notes, Reader Mode, private tabs, an optional tracker blocker and a per-window SOCKS5/HTTP proxy. Its distinguishing half is a plain-markdown notes vault with wiki-links, backlinks and a graph view. It is not a one-to-one Arc clone: it has no pinned tabs, split view, Peek, profiles, Arc import or extensions. The release build is Apple-silicon only, ad-hoc signed (not notarized) and needs macOS 14 or later; it is a personal early-stage project.
19% Arc feature parity (yes = 1, partial = ½).
No AI
No AI assistant, summaries or model hooks in the feature list or sources.
github.comNot counted in Arc parity: some people want AI, some avoid it.
None found
No ads, wallet, feed, upsells or account. Zero dependencies, so no analytics SDK; the only own network request is favicon fetching. Notes and history stay local.
github.comAds, crypto, paid upsells, news feeds, default-on telemetry, required accounts.
Organization
| Feature | Somnia | Arc | Note |
|---|---|---|---|
| Vertical sidebarTabs live in a vertical sidebar that is the main tab UI and can be hidden. | ✓ | ✓ | Tabs live only in a vertical sidebar with the address bar on top; it resizes and collapses to a narrow rail.github.com |
| SpacesSeveral workspaces per window, each with its own pinned and open tabs, switched by swipe or shortcut. | ◐ | ✓ | Spaces with their own tab lists, switched by clicking dots; no pinned tabs and no space shortcut or swipe.github.com |
| Profiles 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 normal tab uses the one default data store, so cookies are shared across Spaces.github.com |
| Global favoritesPinned icons at the top of the sidebar shared by every Space (Zen calls them Essentials). | ◐ | ✓ | One global bookmark list sits above the tabs in every Space, but these are bookmarks, not pinned icons.github.com |
| Pinned tabs & foldersPer-space pinned tabs that act like bookmarks, with nested folders. | ✕ | ✓ | Bookmarks are one flat list with no folders; tabs cannot be pinned per Space.github.com |
| Auto-archive tabsUnpinned tabs close automatically after a set time and stay recoverable in an archive. | ◐ | ✓ | Tabs idle 15 min are put to sleep (unloaded) but stay in the list; no archive, fixed time.github.com |
| Space themesPer-space colour or gradient themes. | ◐ | ✓ | Each Space has an accent dot colour; the actual app theme and accent are global.github.com |
Browsing
| Feature | Somnia | Arc | Note |
|---|---|---|---|
| Split ViewTwo or more tabs side by side in one window. | ✕ | ✓ | No split-view feature in the README feature list or in the sources.github.com |
| Link previewOpen a link in an overlay without leaving the current page (Zen calls it Glance). | ✕ | ✓ | Links with target=_blank open as a normal new tab; there is no overlay preview.github.com |
| Mini windowA small, chrome-less window for links opened from other apps or a quick search. | ✕ | ✓ | Single window type; no mini window or external-link window. Dock menu only has New Window.github.com |
| Command barA ⌘T palette that searches tabs, history, bookmarks and browser commands. | ◐ | ✓ | ⌘K searches this Space's tabs, bookmarks, history and notes; no browser commands, not ⌘T.github.com |
| Link routingRules that send links from other apps to a chosen space or profile. | ✕ | ✓ | Bundle declares no URL types, so links from other apps cannot be routed to it.github.com |
| Site customizationPer-site custom CSS/JS, or zapping elements off a page. | ✕ | ✓ | No per-site CSS/JS or element zapping in the feature list or sources.github.com |
| Auto picture-in-picturePlaying video pops out into picture-in-picture automatically when you switch tabs. | ✕ | ✓ | No picture-in-picture code in the sources; web views are plain WKWebView.github.com |
Compatibility & migration
| Feature | Somnia | Arc | Note |
|---|---|---|---|
| Arc importImports Arc spaces, pinned tabs and folders. | ✕ | – | No import feature of any kind in the sources; only an external Obsidian vault can be connected.github.com |
| Chrome extensionsInstalls extensions from the Chrome Web Store. | ✕ | ✓ | Plain WKWebView with no extension runtime or Chrome Web Store installer.github.com |
| DRM (Widevine)Netflix, Disney+, Spotify web and other DRM video/audio play. Chromium forks need a Google Widevine licence. | ? | ✓ | |
| PasskeysWebAuthn passkeys, Touch ID and the system/iCloud keychain. | ? | ✓ | |
| SyncSpaces, pinned tabs and settings sync across devices. | ✕ | ✓ | Local-first: notes, session and history stay on the machine; no account or sync code.github.com |
| Mobile appiPhone, iPad or Android app that shares spaces with desktop. | ✕ | ◐ | macOS-only app; the README badge and requirements list macOS 14+ only.github.com |
Extras
| Feature | Somnia | Arc | Note |
|---|---|---|---|
| Built-in ad blockerAd and tracker blocking without installing an extension. | ◐ | ✓ | Blocks 21 hard-coded ad/tracker domains with WebKit rules, but the toggle is off by default.github.com |
Extension support
Which extension formats and stores run, beyond the Chrome Web Store row above. Not counted in Arc parity.
| Feature | Somnia | Arc | Note |
|---|---|---|---|
| Manifest V2 extensionsThe older extension format Chrome removed in 2025. Needed for full uBlock Origin and other extensions that block requests. | – | ✕ | Plain WKWebView with no extension runtime or Chrome Web Store installer.github.com |
| Manifest V3 extensionsThe current extension format used by the Chrome Web Store (and supported by Firefox and Safari). | – | ✓ | Plain WKWebView with no extension runtime or Chrome Web Store installer.github.com |
| Firefox add-onsAdd-ons from addons.mozilla.org or .xpi files install and run. | – | ✕ | Plain WKWebView with no extension runtime, so no add-ons of any kind.github.com |
| Safari extensionsSafari web extensions (the App Store extension apps Safari uses) install and run. | – | ✕ | Plain WKWebView with no extension runtime, so no web extensions of any kind.github.com |