The modern, native macOS archive manager.
Browse, preview, and extract — without the bloat.
Most archive tools on macOS either extract blindly (The Unarchiver) or cost money and feel outdated (BetterZip at $24.95). Filesnake gives you the best of both worlds — a free, beautifully native archive manager that lets you see what's inside before extracting.
| Feature | Filesnake | BetterZip | The Unarchiver |
|---|---|---|---|
| Price | 🟢 Free | 🔴 $24.95 | 🟢 Free |
| Browse before extracting | ✅ | ✅ | ❌ |
| Quick Look preview | ✅ Images, text, PDFs, audio, video | ✅ | ❌ |
| Selective extraction | ✅ Pick individual files | ✅ | ❌ |
| Extract Here (in-place) | ✅ Right-click → Extract Here | ❌ | |
| Batch extract | ✅ Check & extract multiple | ✅ | ✅ All-or-nothing |
| Delete from archive | ✅ ZIP | ✅ | ❌ |
| Native macOS UI | ✅ SwiftUI + AppKit | ❌ Invisible | |
| Single-instance app | ✅ Reuses window | ❌ Multiple windows | N/A |
| Folder navigation | ✅ Breadcrumb + drill-in | ✅ | ❌ |
| Drag & drop | ✅ | ✅ | ✅ |
| Search / filter | ✅ Real-time | ✅ | ❌ |
| Sort by column | ✅ Name, size, compressed, date | ✅ | ❌ |
| Open With integration | ✅ Finder "Open With" | ✅ | ✅ |
| Three-pane layout | ✅ Sidebar + list + preview | ✅ | ❌ |
| Resizable panels | ✅ Smooth dividers | ✅ | N/A |
| Open source | ✅ MIT | ❌ Proprietary | ❌ Proprietary |
| Lightweight | ✅ ~5 MB | ❌ ~30 MB | ✅ ~15 MB |
- A redesigned welcome experience with recent archives and clearer drag-and-drop guidance
- A focused toolbar that groups selection and extraction actions
- Refined archive chrome, breadcrumbs, dirty-state feedback, and keyboard shortcuts
- A completely new, simplified Filesnake logo and macOS app icon
- Safer archive extraction with path-traversal protection
- Reliable save-before-open, save-before-close, and save-before-quit behavior
- Robust RAR metadata parsing and large-output process handling
- Browse before extracting — see every file inside an archive in a native table view with file icons, sizes, compressed sizes, and dates
- Quick Look preview — select any file and instantly preview it: images, PDFs, text, code, audio, video, and anything else Quick Look supports
- Selective extraction — right-click to extract individual files or check multiple files and extract them all at once into a single folder
- Extract Here — extract selected files directly next to the archive, no dialog needed
- Delete from ZIP — remove entries from ZIP archives in-place (rewrites the archive)
- Folder navigation — double-click folders to drill in, with a breadcrumb bar to jump back
- Full-text search — filter entries by name or path as you type
- Sort by any column — click column headers to sort by name, size, compressed size, or modified date
- Drag & drop — drop any supported archive onto the window to open it
- Single-instance — double-clicking a file while Filesnake is open reuses the existing window
- Finder-style selection — blue accent-color highlights with clean white separators
- Responsive preview — file info footer adapts to panel width
- Three-pane layout — sidebar, file list, and preview pane with smooth resizable dividers
- Native macOS — built with SwiftUI + AppKit, feels right at home on macOS 13+
| Format | Browse | Extract | Delete | Preview |
|---|---|---|---|---|
.zip |
✅ | ✅ | ✅ | ✅ |
.tar |
✅ | ✅ | — | ✅ |
.tar.gz |
✅ | ✅ | — | ✅ |
.gz |
✅ | ✅ | — | ✅ |
.rar |
✅ | ✅ | — | ✅ |
Note: RAR support requires
unar— install withbrew install unar.
- Grab
Filesnake.zipfrom the latest release - Unzip and move
Filesnake.appto/Applications - Done — open any archive from Finder or drag it onto the app
git clone https://github.com/Djozman/Filesnake.git
cd Filesnake
make install # builds release + installs to /ApplicationsOr run in dev mode:
swift run FilesnakeRequires Xcode 15+ / macOS 13+.
- ZIPFoundation — pure-Swift ZIP read/write (MIT)
- SWCompression — pure-Swift TAR/GZIP/XZ/7z (MIT)
unar— for RAR support (LGPL, installed separately via Homebrew)
Sources/Filesnake/
├── FilesnakeApp.swift # @main, single-instance, AppDelegate
├── Archive/
│ ├── ArchiveFormat.swift # format detection + UTI mapping
│ ├── ArchiveHandler.swift # protocol + factory
│ ├── ZipHandler.swift # ZIPFoundation-backed
│ ├── TarHandler.swift # SWCompression TAR / TAR.GZ
│ ├── GzipHandler.swift # single-file .gz
│ └── RarHandler.swift # unar/lsar-backed
├── Models/
│ ├── ArchiveEntry.swift # file entry model
│ └── ArchiveDocument.swift # observable app state
├── Views/
│ ├── ContentView.swift # three-pane split view
│ ├── SidebarView.swift # archive info sidebar
│ ├── ArchiveListView.swift # NSTableView file list
│ ├── ArchiveToolbar.swift # toolbar actions
│ ├── PreviewPane.swift # QLPreviewView wrapper
│ ├── SearchBarView.swift # search field
│ └── EmptyStateView.swift # drop target landing
└── Utils/
└── Formatters.swift # bytes, dates, file icons
- v1.2 — Password-protected ZIP support; content search (grep inside archive)
- v1.3 — 7z, bz2, xz format support; nested archive drill-in
- v1.4 — Create new archives (drag files → build ZIP); progress bars
- v2.0 — Sandbox, notarization, and Mac App Store release
MIT — see LICENSE.
