How macOS actually works
Fuzzy is two different things, and file finders only implement the cheap one. Knowing which explains a lot of failed searches.
Subsequence matching. Your characters appear in the name, in order, not necessarily together. srcmgr matches SourceManager.swift because s, r, c, m, g, r occur in that sequence. This is what fzf does, what command palettes do, and what Cling and Everywhere both do.
Edit distance. The name is within a few insertions, deletions or transpositions of what you typed. recieve matches receive. This is spell-correction, and it is a different algorithm entirely.
Nearly every tool advertising "fuzzy search" means the first one.
Cost. Edit distance requires a dynamic-programming table per candidate. On a six-million file index that is several hundred million cell computations per keystroke, against a budget of a couple of milliseconds. It is not a matter of optimisation; the shape of the work does not fit.
Subsequence matching is one forward pass over the name with an early exit the moment a character cannot be found. That is affordable at any scale.
Transpositions and doubled letters often still work, because subsequence matching is forgiving in one direction. rodmap finds roadmap: r, o, d, m, a, p all appear in that order — the extra a in the filename is simply skipped.
What does not work is a *wrong* character. roadmpa fails, because p before a is not the order in roadmap. So does reciept against receipt.
The rule: missing characters are fine, out-of-order ones are not.
Once thousands of names match a short query, the ranking is what makes it usable. Good fuzzy scoring rewards consecutive characters, matches at word starts, and matches at camelCase humps, and penalises sprawling gaps — so smgr puts SourceManager above some file where those letters happen to be scattered across a long path.
That ranking, not the matching, is what makes a fuzzy finder feel like it read your mind.
Type the start of each word: pmr for project-manager-report. Word-start characters are the highest-scoring thing you can type, so you get the shortest query with the best rank.
Usually not. Fuzzy in file finders means subsequence matching — your characters in order. A wrong or out-of-order character breaks the match.
Subsequence matching skips extra characters in the filename but requires yours to be in order. rodmap is in order; roadmpa is not.
The first letters of each word. Word-start characters score highest, so a short query like pmr ranks project-manager-report at the top.
Everywhere keeps track of every file on your Mac — including the folders Spotlight hides and drives you have unplugged. Free for a day, then $19 once.
Download for MacVersion 2.14.3 · macOS 13+ · 3.8 MB · notarised