Reference
Search syntax
Every operator, filter and search function, on one page. Type any of them in the search field, The Shot, the command line or Raycast.
Type anything: Espresso shows every file and folder whose name contains what you typed,
ignoring case and accents (cafe finds Café.png). Results update as you type.
The syntax below is compatible with Everything by voidtools.
Also in the app: Help › Search Syntax (The Menu).
Basics
| You type | Finds |
|---|---|
report 2026 | names containing both words (AND) |
jpg | png | either word (OR). OR binds tighter than AND: a b|c = a and (b or c) |
!draft | names without the word (NOT) |
<report | invoice> 2026 | grouping with < > |
"annual report" | an exact phrase, spaces included |
IMG_*.heic, file?.txt | wildcards: * any text, ? one character. With wildcards the whole name must match |
docs/invoices | a / searches the full path instead of the name |
^IMG, final$ | name starts with / ends with |
'report | exactly this text, never typo-forgiven (useful in fuzzy mode) |
*.{jpg,heic}, src/**/*.{c,h} | alternatives in braces; ** = any number of folders; a path glob matches anywhere on the disk |
IMG_[0-9]*.jpg | character classes in globs |
test/ | items inside a folder named exactly test (!test/ leaves them out) |
Toolbar options
Match Case · Match Whole Words · Match Path · Ignore Diacritics · Forgive Typos (fuzzy, ⌥⌘F) · Best Matches First · Barista mode (the whole search is one regular expression) · Lungo (include hidden files and the contents of apps and packages). Defaults are in Settings › Search.
Forgive Typos (fuzzy)
Off by default: Espresso matches exactly, like Everything. Turned on, each word of five letters or
more may have one mistake, eight or more two — a wrong, missing or extra letter, or two letters
swapped (mian.rs finds main.rs, presnetatoin finds presentation). Shorter words, case:,
ww:, wildcards, regular expressions and 'quoted words stay exact. Results are sorted best
first: words found in the name before words found only in the path, exact before forgiven,
at the start of the name or of a word, whole names, short names near the top of the disk,
outside app bundles and hidden folders, recent items. fuzzy:word / nofuzzy:word switch it
for one term.
Modifiers (apply to one term)
| Syntax | Meaning |
|---|---|
case:Report | match case (also nocase:) |
wholeword:art, ww:art | whole words only |
diacritics:café / nodiacritics:cafe | accents must match / are ignored |
path:backup | match against the full path |
regex:^IMG_\d+\.jpg$ | regular expression (|, <, > are part of the pattern; quote it to include spaces) |
startwith:IMG, endwith:final | name starts / ends with |
wfn:song.mp3, wholefilename: | the whole name, exactly (wildcards allowed) |
re:^img_\d+ | regular expression on names (fsearch’s spelling) |
fuzzy:presnetation, nofuzzy: | forgive typos in this term / never |
Modifiers chain: case:path:Projects, and apply to groups: case:<Foo \| Bar>.
Where
| Syntax | Meaning |
|---|---|
parent:~/Desktop | directly inside a folder |
infolder:~/Projects, in:~/Projects | anywhere inside a folder |
depth:2, depth:>5, parents:2 | depth from the disk root (items in the root have depth 1) |
root: | items in the root of a disk |
disk:Backup | only disks whose name contains “Backup” |
online: / offline: | only connected / disconnected disks |
What
| Syntax | Meaning |
|---|---|
file: / folder: | only files / folders; folder:src = folders named like “src” |
kind:file, kind:dir, kind:link | files, folders, symbolic links |
ext:jpg;png;heic, ext:jpg,png | extensions |
audio: video: pic: doc: zip: code: app: font: | kinds (the Blends, also ⌘1…⌘9) |
type:image,video | the same kinds by name (image, video, audio, doc, code, archive, font, app) |
count:20, limit:20 | at most 20 results |
hidden: | hidden items |
empty: | empty folders |
len:>100 | name length in characters |
tag:Red, tagged: | Finder tags |
Size
size:>100mb, size:<=10kb, size:10kb..2mb, size:1234. Units: b kb mb gb tb
(decimal, like Finder) and kib mib gib tib (binary). Presets: size:empty (0),
tiny (≤ 10 KB), small (≤ 100 KB), medium (≤ 1 MB), large (≤ 16 MB), huge (≤ 128 MB),
gigantic (> 128 MB). Folder sizes are the total of their contents.
Dates
dm: modified · dc: created · da: last opened (macOS updates this lazily).
Values: today, yesterday, thisweek, lastweek, thismonth, lastmonth, thisyear,
lastyear, last7days (also hours, weeks, months, years), 2026, 2026-03, 2026-03-18.
Comparisons and ranges: dm:>2025, dc:<=lastmonth, dm:2026-01-01..2026-03-31.
Ages: mtime:<7d changed in the last 7 days, mtime:>1y longer ago than a year,
mtime:2d..1w in between (ctime: created, atime: opened). Units s, min, h, d
(default), w, mo, y; dates work there too (mtime:2026-03).
Extended details
Read in the background for the kinds enabled in Settings › Metadata, also kept for offline disks. Espresso asks Spotlight first and then reads the file’s own headers (EXIF, IPTC, XMP, QuickTime, ID3) for whatever Spotlight left out, such as the lens of iPhone photos or the camera of a video.
width:>3000, height:1080, duration:>5m (also 90, 1:30, 2h), pages:>100,
taken:2024 (capture date of photos and videos; the same values as dm:, and ages:
taken:<30d).
With Espresso Pro:
| Function | Example | Matches |
|---|---|---|
camera: | camera:iphone, camera:"eos r6" | Camera make and model, of photos and videos |
lens: | lens:50mm, lens:"ultra wide" | Lens model |
iso: | iso:>=1600 | ISO sensitivity |
aperture: (fnumber:) | aperture:<=2.8, aperture:f/1.8 | f-number |
shutter: (exposure:) | shutter:<1/500, shutter:>=2s | Exposure time |
focal: | focal:24..35, focal:85mm | Focal length, 35 mm equivalent when the camera records it |
flash: | flash:, !flash: | The flash fired |
gps: (located:) | gps: | Has a location |
place: | place:roma | City, region or country written into the photo |
altitude: (elevation:) | altitude:>2000, altitude:>=1km | Metres above sea level |
rating: (stars:) | rating:>=4 | Star rating (Lightroom, Photos, Bridge) |
keyword: (keywords:) | keyword:mare | Photo and document keywords |
description: (caption:, comment:) | description:tramonto | Caption or description |
copyright: | copyright:rossi | Copyright notice |
software: | software:lightroom, software:word | The app that made the file |
codec: | codec:hevc, codec:prores | Audio and video codecs |
fps: (framerate:) | fps:>=60, fps:25 | Video frame rate |
bitrate: | bitrate:>=320, bitrate:>5mbps | Bit rate, kbit/s unless you write mbps |
samplerate: | samplerate:96k, samplerate:44.1 | Audio sample rate (numbers under 1000 are kHz) |
channels: | channels:stereo, channels:>2 | Audio channels (mono, stereo, surround) |
author: (artist:) | author:Rossi | Document author, music artist, photographer |
title:, album: | album:abbey | Title, album |
genre:, composer: | genre:jazz | Music tags |
year: | year:1990..1999 | Release year |
Inside files (Espresso Pro)
When turned on in Settings › Metadata › Inside files:
content:invoice,content:"lease agreement"(alsogrep:): words inside PDFs, text, Word/RTF/OpenDocument, HTML and code, and the text that photos show (receipts, signs, screenshots).looks:dog,looks:beach,looks:sunset: what photos show, recognized on the Mac. English labels; common Italian words work too (looks:cane,looks:spiaggia).
These match the exact words read. To search by meaning instead, see the next section.
By meaning: Ask the Barista (Espresso Pro)
Once Ask the Barista’s model is downloaded (Settings › Search › Ask the Barista; Apple silicon, macOS 15 or later):
about:"rental contract",about:bollette: items about a topic, in any language, best matches first. Compared by meaning with names, with the text read inside documents and with what photos show (when Inside files has read them); a name containing every word of the topic also counts, and so do the files inside a folder about it. Combine with any filter:pic: about:"cani al mare",ext:pdf dm:lastyear about:tasse.? photos of the dogs at the beach last summer: a question in your own words (also ⌘J or ✨ in the toolbar). Kinds, dates, sizes, places and disks become filters, and so do photo and music details: “taken on a Canon” →camera:canon(also Lumix, drone…), “taken/scattate” → the capture datetaken:, “col flash”/“without flash” →flash:/!flash:, “4 stars” →rating:>=4, “60 fps” →fps:59.5..60.5, “slow motion” →fps:>=100, “col 50mm” →focal:50, “grandangolo”/“telephoto” →focal:<=28/focal:>=70, “ISO alti” →iso:>=1600, “canzoni jazz” →genre:jazz, “anni 80”/“the 90s” →year:1980..1989. The rest becomesabout:; the status bar shows the result, e.g.pic: dm:2026-06..2026-08 about:"cani al mare".
Without the model, or from the command line while Espresso is closed, about: matches names
containing the topic’s words.
Double shots (duplicates)
dupe: keeps items whose name appears more than once among the results;
sizedupe: items whose size does. Combine them: dupe: ext:pdf. They apply to the whole search.
Macros
Settings › Search › Macros: projects → infolder:~/Projects !node_modules. Then type
projects: report. A value after the colon is added as a search term: projects:report.
Keyboard
⌥Space pull a shot · ⌘F or just type to search · ↩ open · ⌘↩ or ⌘R show in Finder · Space take a sip (Quick Look) · ⌘C copy file · ⌥⌘C copy path · ⌘⌫ move to Trash · ⌘I get info · ⌘1…⌘9 Blends · ⌘[ ⌘] back/forward · ⌘↑ enclosing folder · ⌘S save as Your usual · ⌘T new tab · ⌘N new window.
Mistakes
Espresso never refuses a search. Problems are underlined in the search field (hover for the explanation) and the rest of the query still runs.
Coming from fsearch or FinderSearch
Their operators work as they do there: 'exact, ^prefix, suffix$, !exclude, globs with
** and {a,b}, folder/, ext:, type:, kind:, in:, size:, mtime:, re:, grep:,
limit:. Where the two syntaxes disagree, Everything’s meaning wins:
| fsearch | Espresso | |
|---|---|---|
regex: | regular expression inside files | regular expression on names (use content: for text inside files) |
path: | regular expression on the path | the word must appear in the path (use regex:path:… for a regex) |
| plain words | always typo-tolerant | exact unless Forgive Typos is on (⌥⌘F, or fuzzy:) |
Not available: sym: (where a code symbol is defined) and git: (Git status).