Zigzag
Free, open-source Mac browser on WebKit with spaces, Peek, split view and one-click Arc import.
Zigzag is a native Mac browser in Swift and AppKit on the WebKit engine that ships with macOS, about 18 MB installed. Tabs sit in a sidebar grouped into spaces, each with its own colour or gradient, pinned tabs and nested folders, plus Favorites shared by every space of a profile. Profiles keep sign-ins, extensions and history apart, and several spaces can share one. It has Peek, split view (two tabs in the 0.8.6 build, up to four in the latest code), a command bar, unused-tab archiving and a floating mini player that keeps a playing video on screen when you switch tabs, plus Zigzag Mini, a small one-page window that links from other apps can open in if you turn that on. It imports Arc spaces, pinned tabs, folders, Favorites, history, passwords, sign-ins and extensions, installs Chrome Web Store extensions, blocks ads by default and supports passkeys. It has no link rules, Boosts, sync or built-in AI. Zigzag is a Mac-only beta needing macOS 15.4 or later, with no account or telemetry.
No AI
No built-in AI model or assistant. An MCP server lets outside AI apps use your tabs; it stays off until turned on in Settings > Automation.
github.comNone found
No ads, wallet, feed, upsells, account or telemetry; only update, search-suggestion and extension-update requests.
github.comAds, crypto, paid upsells, news feeds, default-on telemetry, required accounts.
Organization
| Feature | Zigzag | Arc | Note |
|---|---|---|---|
| SidebarVertical sidebarTabs live in a vertical sidebar that is the main tab UI and can be hidden. | ✓ | ✓ | Tabs live in a sidebar, the main tab UI; a menu item hides and shows it.github.com |
| SpacesSeveral workspaces per window, each with its own pinned and open tabs, switched by swipe or shortcut. | ✓ | ✓ | Spaces each have own colour, icon, pinned tabs and folders; swipe the sidebar or wheel to switch.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. | ✓ | ✓ | Each space is on a profile with its own sign-ins, extensions and history; several spaces can share one. Chosen in the space editor, with New Profile…github.com |
| FavoritesGlobal favoritesPinned icons at the top of the sidebar shared by every Space (Zen calls them Essentials). | ✓ | ✓ | Favorites are tiles at the top of the sidebar, the same in every space of a profile.github.com |
| Pinned TabsPinned tabs & foldersPer-space pinned tabs that act like bookmarks, with nested folders. | ✓ | ✓ | Each space has pinned tabs and nested folders (folders carry a parentID); pinned splits too.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 527d3b2; a folder only holds a fixed list of pinned pages.github.com |
| ArchiveAuto-archive tabsUnpinned tabs close automatically after a set time and stay recoverable in an archive. | ◐ | ✓ | Unused tabs archive after 12 h, 1 day or 1 week (off by default); only the command bar finds them.github.com |
| Theme pickerSpace themesPer-space colour or gradient themes. | ✓ | ✓ | Each space has own colour, gradient, grain and see-through level.github.com |
Browsing
| Feature | Zigzag | Arc | Note |
|---|---|---|---|
| Split ViewTwo or more tabs side by side in one window. | ✓ | ✓ | Up to four tabs in halves and quarters, dragged to the page edges, with draggable dividers; a split can be pinned or made a favorite. Latest code only: the 0.8.6 build has two panes.github.com |
| PeekLink previewOpen a link in an overlay without leaving the current page (Zen calls it Glance). | ✓ | ✓ | Shift-click a link opens it in a panel over the page; a button keeps it as a tab.github.com |
| Little ArcMini windowA small, chrome-less window for links opened from other apps or a quick search. | ◐ | ✓ | Zigzag Mini (⌃⌘N) is a small one-page window; links from other apps use it only if turned on in Settings.github.com |
| Command barA ⌘T palette that searches tabs, history, bookmarks and browser commands. | ✓ | ✓ | Cmd+T or Cmd+L bar finds open tabs, history, bookmarks, archived tabs and browser commands.github.com |
| Air Traffic ControlLink routingRules that send links from other apps to a chosen space or profile. | ✕ | ✓ | External links open as a tab in the front window, or in Zigzag Mini if turned on; no rules, space or profile choice.github.com |
| BoostsSite customizationPer-site custom CSS/JS, or zapping elements off a page. | ◐ | ✓ | No built-in Boosts or zapping; Tampermonkey-style user scripts run through Chrome extensions.github.com |
| Auto PiPAuto picture-in-picturePlaying video pops out into picture-in-picture automatically when you switch tabs. | ◐ | ✓ | A playing video follows you in a floating mini player inside the window when you switch tabs; system Picture in Picture is manual only (⌥⌘P).github.com |
| Mini playerMedia still playing in a tab you left keeps play/pause controls in the sidebar. | ✓ | ✓ | When a tab you left plays sound, a sidebar control shows the site with play/pause and mute buttons; a playing video also floats in a mini player.github.com |
| Tab SwitcherRecent-tab switcherCtrl+Tab jumps back to the tab you used last and cycles in recently used order. | ✓ | ✓ | Control+Tab shows big thumbnails of the nine most recently used tabs; release Control to switch.github.com |
| Super CopyClean link copyA shortcut (⌘⇧C) copies the page URL with tracking parameters removed. | ◐ | ✓ | ⇧⌘C Copy Link copies the raw address with a toast (⌥⇧⌘C as Markdown); tracking parameters stay.github.com |
| CaptureScreenshotsBuilt-in capture of a chosen area or element, and of the full page. | ◐ | ✓ | ⇧⌘2 screenshots the whole page (auto-scrolls, stitches) to the clipboard with Save; no area or element picker.github.com |
Compatibility & migration
| Feature | Zigzag | Arc | Note |
|---|---|---|---|
| Arc importImports Arc spaces, pinned tabs and folders. | ✓ | – | Imports Arc spaces, pinned tabs, folders, Favorites, history, passwords, sign-ins and extensions.github.com |
| Chrome extensionsInstalls extensions from the Chrome Web Store. | ✓ | ✓ | Installs from the Chrome Web Store via WebKit extension support; some APIs, e.g. tab groups, webRequest blocking, missing.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. | ✓ | ✓ | Release build has Apple's browser passkey entitlement, so passkeys and Touch ID work as in Safari.github.com |
| SyncSpaces, pinned tabs and settings sync across devices. | ✕ | ✓ | Nothing syncs between devices except passwords through iCloud Keychain.github.com |
| Mobile appiPhone, iPad or Android app that shares spaces with desktop. | ✕ | ◐ | Mac app only; the README lists no sync to iPhone and no mobile app exists.github.com |
Extras
| Feature | Zigzag | Arc | Note |
|---|---|---|---|
| Built-in ad blockerAd and tracker blocking without installing an extension. | ✓ | ✓ | EasyList, EasyPrivacy and EasyList China as WebKit content rules, on by default.github.com |
| Custom ShortcutsShortcut editorMost browser keyboard shortcuts can be remapped in Settings. | ✓ | ✓ | Settings > Shortcuts lists every menu shortcut; record a new key, clear or reset it; a key taken from another item is reported.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 | Zigzag | Arc | Note |
|---|---|---|---|
| EaselsA shareable canvas of live page captures, notes and drawings. | ✕ | ◐ | README lists Easels and Notes as missing; no canvas or board code at 527d3b2.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. | ✕ | ✓ | File > Share… and the site panel share only the current page; no Space, folder or tab sharing.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. | ✕ | ✓ | README feature table has no pinned-app glance, next-meeting card or unread badges.github.com |
| Developer modeA developer view that turns on by itself for localhost: full URL, quick DevTools and dev tools in reach. | ✕ | ✓ | Only a View > Developer submenu with Web Inspector, JavaScript Console, Inspect Element and View Source; nothing is per site or localhost.github.com |
Extension support
Which extension formats and stores run, beyond the Chrome Web Store row above.
| Feature | Zigzag | Arc | Note |
|---|---|---|---|
| Manifest V2 extensionsThe older extension format Chrome removed in 2025. Needed for full uBlock Origin and other extensions that block requests. | ◐ | ✕ | MV2 only via developer-mode Load Unpacked; README: no request-blocking webRequest, so no full uBlock.github.com |
| Manifest V3 extensionsThe current extension format used by the Chrome Web Store (and supported by Firefox and Safari). | ✓ | ✓ | Chrome Web Store extensions run on WebKit; Zigzag bridges many Chrome APIs, but tab groups, debugger settings missing.github.com |
| Firefox add-onsAdd-ons from addons.mozilla.org or .xpi files install and run. | ◐ | ✕ | No Firefox Add-ons install; only an unzipped add-on folder via developer-mode Load Unpacked.github.com |
| Safari extensionsSafari web extensions (the App Store extension apps Safari uses) install and run. | ◐ | ✕ | No Safari extension import; only an extracted extension folder via developer-mode Load Unpacked.github.com |