Fastest and most accurate file search app for macOS — with the search brought up to the surface.
Signed and notarized · Apple silicon · macOS 12+
This is a fork of Cardinal by cardisoft — the best Everything alternative for macOS. The engine is theirs and it is excellent; what this fork changes is how much of it you can reach without knowing the syntax first — and a few bugs found while getting there, reported back upstream.
- A file-type dropdown beside the search bar: Image, Video, Audio, Document, Email, Archive, Code, App, Folder. Picking one writes the filter into the query —
type:image— instead of hiding it, so the bar stays the single source of truth and the syntax is there to be learned. - A "Contains" field for searching inside files, next to the one for names. It writes
content:"…"the same way. - A context column showing the matching text from inside each file, with the searched term highlighted, so a content search tells you why every result is there.
type:email—.eml,.emlx,.emlxpart,.msg,.mbox, plus Outlook's own: the one-file-per-message.olk15Messagegeneration and the.olm,.pst,.ostand.nstmailboxes. Mail is what nobody finds by name.- Folder sizes in the Size column, which was blank for folders. Summed from the index in memory rather than by walking the disk, and only for the rows on screen; a second preference completes the total by walking the directories the index leaves out. Off by default.
- Folders grouped ahead of files, whichever column is sorting and in both directions, with your order still deciding within each group. On by default.
- A folder picker. The folder icon opens one, instead of folding the field away.
- Columns you can reorder and hide, the way Finder does, with the snippet next to the name by default. The layout is remembered.
- Plain wording. "Folder scope" is now "Search in… (whole disk)", in all 15 languages.
- An updater that installs. "Check for Updates…" lists what changed and, on one click, downloads the disk image and replaces the app with it: a small script waits for the app to quit, verifies the new bundle's signature before removing anything, swaps it and relaunches. Doing it by hand is still offered. No update channel and no silent replace — the app makes no network request unless asked.
- An accessible name on the search input, contributed upstream by @dkattan (#220).
Three upstream bugs, each reported back with the measurements that found it:
- Deletions stop being lost. One filesystem event at the watch root made the whole batch return early, throwing away every other change bundled with it — and nothing ever performed the rescan it asked for, so those changes were gone for good. Measured on a real 5.36M-node index: 237 discarded batches, and every sampled entry under
DerivedDataand.Trashno longer existed on disk while the index still offered it. (#229) - A content search stops downloading your iCloud Drive. Reading a file is what makes macOS materialise a placeholder, so searching a synced home folder quietly pulled down every PDF, video and archive that was not on the disk. The flag is now read without materialising anything, and the app says how many files it skipped and what they weigh. (#231)
content:stops costing 60× more depending on word order. It shared a filter priority withtype:, socontent:invoice type:emailopened and read every file on the disk whiletype:email content:invoiceread only the mail. It now always runs last, on the smallest candidate set. (#230)
Everything below is the original project's documentation, unchanged.
English · Español · 한국어 · Русский · 简体中文 · 繁體中文 · Português · Italiano · 日本語 · Français · Deutsch · Українська · العربية · हिन्दी · Türkçe
Download Cardinal 0.5.1 for macOS — signed with a Developer ID and notarized by Apple, so it opens without Gatekeeper warnings.
Every build lives in Releases. Open the DMG, drag Cardinal to Applications, and grant Full Disk Access when macOS asks — Cardinal needs it to index and watch your files.
Need a different language? Click the ⚙️ button in the status bar to switch instantly.
Cardinal now speaks an Everything-compatible syntax layer on top of the classic substring/prefix tricks:
report draft– space acts asAND, so you only see files whose names contain both tokens.*.pdf briefing– filter to PDF results whose names include “briefing”.*.zip size:>100MB– search for ZIP files larger than 100MB.in:/Users demo !.psd– restrict the search root to/Users, then search for files whose names containdemobut exclude.psd.tag:ProjectA;ProjectB– match Finder tags (macOS);;acts asOR.*.md content:"Bearer "– filter to Markdown files containing the stringBearer."Application Support"– quote exact phrases.brary/Applicat– use/as a path separator for sub-path searching, matching directories likeLibrary/Application Support./report·draft/·/report/– wrap tokens with leading and/or trailing slashes to force prefix, suffix, or exact name matches when you need whole-word control beyond Everything syntax.~/**/.DS_Store– globstar (**) dives through every subfolder under your home directory to find stray.DS_Storefiles anywhere in the tree.
For the supported operator catalog—including boolean grouping, folder scoping, extension filters, regex usage, and more examples—see doc/pub/search-syntax.md.
Cmd+Shift+Space– toggle the Cardinal window globally via the quick-launch hotkey.Cmd+,– open Preferences.Esc– hide the Cardinal window.ArrowUp/ArrowDown– move the selection.Shift+ArrowUp/Shift+ArrowDown– extend the selection.Space– Quick Look the currently selected row without leaving Cardinal.Cmd+O– open the highlighted result.Cmd+R– reveal the highlighted result in Finder.Cmd+C– copy the selected files to the clipboard.Cmd+Shift+C– copy the selected paths to the clipboard.Cmd+F– jump focus back to the search bar.ArrowUp/ArrowDown(in search bar) – cycle search history.
Happy searching!
- macOS 12+
- Rust toolchain
- Node.js 18+ with npm
- Xcode command-line tools & Tauri prerequisites (https://tauri.app/start/prerequisites/)
cd cardinal
npm run tauri dev -- --release --features devcd cardinal
npm run tauri build