Espresso Help

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 typeFinds
report 2026names containing both words (AND)
jpg | pngeither word (OR). OR binds tighter than AND: a b|c = a and (b or c)
!draftnames without the word (NOT)
<report | invoice> 2026grouping with < >
"annual report"an exact phrase, spaces included
IMG_*.heic, file?.txtwildcards: * any text, ? one character. With wildcards the whole name must match
docs/invoicesa / searches the full path instead of the name
^IMG, final$name starts with / ends with
'reportexactly 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]*.jpgcharacter 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)

SyntaxMeaning
case:Reportmatch case (also nocase:)
wholeword:art, ww:artwhole words only
diacritics:café / nodiacritics:cafeaccents must match / are ignored
path:backupmatch against the full path
regex:^IMG_\d+\.jpg$regular expression (|, <, > are part of the pattern; quote it to include spaces)
startwith:IMG, endwith:finalname 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

SyntaxMeaning
parent:~/Desktopdirectly inside a folder
infolder:~/Projects, in:~/Projectsanywhere inside a folder
depth:2, depth:>5, parents:2depth from the disk root (items in the root have depth 1)
root:items in the root of a disk
disk:Backuponly disks whose name contains “Backup”
online: / offline:only connected / disconnected disks

What

SyntaxMeaning
file: / folder:only files / folders; folder:src = folders named like “src”
kind:file, kind:dir, kind:linkfiles, folders, symbolic links
ext:jpg;png;heic, ext:jpg,pngextensions
audio: video: pic: doc: zip: code: app: font:kinds (the Blends, also ⌘1…⌘9)
type:image,videothe same kinds by name (image, video, audio, doc, code, archive, font, app)
count:20, limit:20at most 20 results
hidden:hidden items
empty:empty folders
len:>100name 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:

FunctionExampleMatches
camera:camera:iphone, camera:"eos r6"Camera make and model, of photos and videos
lens:lens:50mm, lens:"ultra wide"Lens model
iso:iso:>=1600ISO sensitivity
aperture: (fnumber:)aperture:<=2.8, aperture:f/1.8f-number
shutter: (exposure:)shutter:<1/500, shutter:>=2sExposure time
focal:focal:24..35, focal:85mmFocal length, 35 mm equivalent when the camera records it
flash:flash:, !flash:The flash fired
gps: (located:)gps:Has a location
place:place:romaCity, region or country written into the photo
altitude: (elevation:)altitude:>2000, altitude:>=1kmMetres above sea level
rating: (stars:)rating:>=4Star rating (Lightroom, Photos, Bridge)
keyword: (keywords:)keyword:marePhoto and document keywords
description: (caption:, comment:)description:tramontoCaption or description
copyright:copyright:rossiCopyright notice
software:software:lightroom, software:wordThe app that made the file
codec:codec:hevc, codec:proresAudio and video codecs
fps: (framerate:)fps:>=60, fps:25Video frame rate
bitrate:bitrate:>=320, bitrate:>5mbpsBit rate, kbit/s unless you write mbps
samplerate:samplerate:96k, samplerate:44.1Audio sample rate (numbers under 1000 are kHz)
channels:channels:stereo, channels:>2Audio channels (mono, stereo, surround)
author: (artist:)author:RossiDocument author, music artist, photographer
title:, album:album:abbeyTitle, album
genre:, composer:genre:jazzMusic tags
year:year:1990..1999Release year

Inside files (Espresso Pro)

When turned on in Settings › Metadata › Inside files:

  • content:invoice, content:"lease agreement" (also grep:): 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 date taken:, “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 becomes about:; 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:

fsearchEspresso
regex:regular expression inside filesregular expression on names (use content: for text inside files)
path:regular expression on the paththe word must appear in the path (use regex:path:… for a regex)
plain wordsalways typo-tolerantexact unless Forgive Typos is on (⌥⌘F, or fuzzy:)

Not available: sym: (where a code symbol is defined) and git: (Git status).

Type to search every page of the guide.