What Finder tags are actually good for

Apple file management on a Mac looks simple from the outside. There are folders, there is a colour tag system, and there is Spotlight. The trouble starts a few months in, when the tags have stopped meaning anything, half the colours are unused, and finding last month's contract still means clicking through four folders. The feature set is not the problem. The problem is that folders, tags and search each answer a different question, and most setups use one of them for all three jobs.

This walks through what each layer is actually built to do, where tags survive and where they quietly disappear, and what to change first if the current arrangement has stopped holding up.

Three layers, three different questions

macOS gives three separate ways to find a file, and they do not overlap as much as they appear to.

Folders answer where something lives. A file exists in exactly one folder. That constraint is the whole value: there is a single correct answer to "where is it", and backups, sync and command line tools all agree on it.

Tags answer what state something is in. A file can carry several tags at once. That is the opposite constraint, and it is why tags are useful for things folders cannot express: a contract that lives in Clients/Acme can be tagged "awaiting signature" without moving.

Search answers what something contains. Spotlight indexes file contents, names and metadata, and it does not care about either of the first two layers.

Most broken setups collapse two of these into one. The common version is tags that duplicate the folder tree: a tag named after every client, next to a folder named after every client. Every new file then needs two decisions instead of one, and after a few weeks only the folder gets updated. The tag layer becomes half-populated and untrustworthy, which is worse than not having it.

The rule that keeps the layers apart is short. If the value never changes for the life of the file, it belongs in the folder path. If it changes as work progresses, it belongs in a tag. Client name, project, year: folder. Awaiting review, unpaid, this week: tag.

What a tag actually is, and where it disappears

A tag is not stored inside the file. It is an extended attribute on the filesystem, com.apple.metadata:_kMDItemUserTags, and it can be inspected from the terminal:

xattr -l ~/Documents/contract.pdf

That single fact predicts almost everything about tag behaviour.

Tags survive when a file moves between APFS or HFS Plus volumes on a Mac, and they survive a Time Machine restore. They also travel between devices signed into the same Apple ID through iCloud Drive.

Tags are at risk the moment the file leaves that world. Compressing a folder into a ZIP archive and sending it, copying to a FAT32 or exFAT USB stick, attaching to email, uploading through a browser: in these paths the extended attribute is commonly dropped. Third party sync clients vary, and the safe assumption is that a tag will not arrive at the other end.

The practical conclusion is firm. Tags are for the state of files on the machine in front of the reader, never for information a recipient needs to see. Anything the other side must know goes in the filename, the folder name, or the document itself. Teams that try to run shared workflow state through Finder tags rediscover this within a month, usually when someone insists a file was marked and nobody else can see the mark.

The same applies inside a Git repository. Extended attributes are not tracked, so a tag is a fine way to flag work in progress locally, and it will not exist for anyone who clones the repository.

Naming tags so they still make sense later

Colour is not meaning. Seven colours ship with macOS, and a setup that uses only colours becomes unreadable fast, because nothing records whether red meant urgent, blocked, or unpaid.

Names that last tend to share two properties: they describe a state rather than a category, and the state has a clear end.

Tag What it means When it comes off
Needs reply The ball is on this side After the reply is sent
Waiting on them The ball is on their side When the answer arrives
This week Touch it in the next few days Cleared every Friday
Sent Out of hand, kept for reference When the project is archived

Keep the total small. Around seven tags, matching the seven colours, means each colour maps to exactly one meaning and the whole set fits in the Finder sidebar. A hard cap works better than good intentions: to add a new tag, retire an existing one.

Short names matter more than they seem to. A name that gets truncated in the sidebar or the tag field costs a fraction of a second on every use, and that fraction is paid dozens of times a day.

Decide from the search side, not the tagging side

A tag only pays for itself when something reads it back. So the useful order is to design the query first and the tag second.

In Finder, the search field accepts tag: followed by the tag name. Saving that search produces a Smart Folder, which can sit permanently in the sidebar. That gives a fixed place to open for "everything that needs a reply", with no folder created and nothing moved.

The same index is available from the command line:

mdfind "kMDItemUserTags == 'Needs reply'"

Results come back one path per line, which means they pipe straight into xargs and into whatever comes next. Selecting by state and then acting on the selection in bulk becomes a two step operation rather than a manual pass through Finder. For writing tags from a script, the tag command is available through Homebrew.

This is the point where the setup usually splits across windows. One window lists the files, another runs the commands, a third holds whatever assistant is being asked to summarise or rename them. A file manager with a built in terminal removes at least one of those hops, because the list and the command share a window. How that compares with a plain Finder workflow and with the other managers in this category is laid out in the comparison.

Build the Smart Folder before the tag

Reversing the usual order is what makes tagging stick. Instead of inventing tags and then looking for uses, decide which lists need to exist and create only the tags those lists require.

Creating one takes a minute. In Finder, choose New Smart Folder from the File menu, enter the conditions, and save it. Conditions stack, so a list can be defined as files tagged "needs reply" that are also PDFs modified in the last thirty days. Dragging the saved search into the sidebar puts it in the same place as an ordinary folder, and it stays current without anything being moved.

The effect on habit is the point. When a list exists and is checked daily, forgetting to apply a tag is visible immediately, because the file is missing from a place that is actually looked at. When no list exists, applying a tag produces no observable result, and the practice stops within a couple of weeks.

Keep the number of lists small as well. Three is usually enough: what needs attention this week, what is blocked on someone else, and what arrived recently and has not been processed. One place to open in the morning beats a sidebar full of saved searches that each cover a narrow slice.

The order that fails

The common failing sequence is to create a tag for every category that seems interesting, apply them enthusiastically for a fortnight, then stop. Nothing was ever read back, so the effort produced no feedback. Half the library ends up tagged, which is worse than none of it, because a search that returns partial results teaches the reader not to trust the search.

Split what goes in the filename from what goes in a tag

Filenames compensate for the one thing tags cannot do, which is travel.

Information that must reach someone else, or survive a ZIP archive, belongs in the name. A date at the front in the form 20260904 sorts chronologically on every operating system and never breaks. The client or project name means the document is still identifiable after it leaves its folder. A version expressed as a date rather than as v2 or final keeps the ordering obvious months later.

Information that changes as work progresses belongs in a tag. States such as awaiting review or unpaid would otherwise force a rename every time the situation changes, and renaming breaks links, references and anything scripted against the path.

The dividing line is stability. Values fixed for the life of the file go in the name. Values that move go in a tag. Applied consistently, both stop needing maintenance.

For adjusting several names at once, Finder handles this without extra software: select the files, choose Rename Items from the context menu, and use find and replace, add text, or sequential numbering. Worth confirming before buying a dedicated batch renaming app.

Make the tag happen without a separate step

There are only three moments when a tag realistically gets applied.

The save dialog has a tag field. This is the cheapest of the three, because it happens inside a step that was going to occur anyway. Any workflow that depends on tagging things later will fail, since later does not arrive.

Right clicking in Finder works for small numbers, and dragging onto a sidebar tag is faster for batches.

Two things reduce the friction further. Keyboard shortcuts can be assigned per application in System Settings, under Keyboard Shortcuts, by naming the exact menu item. And for anything rule based, Shortcuts, Folder Actions or the tag command can apply tags automatically: everything landing in Downloads from a known sender gets flagged for review without a human deciding each time.

Automatic tagging is the version that survives busy weeks, because it does not compete with the work for attention.

What this looks like when the folder is the workspace

Once tags carry state and Smart Folders expose that state, the remaining cost is window switching. Checking what is outstanding, running a command against those files, then asking something to summarise the result is three contexts, and each switch is a few seconds plus the reload of attention that follows it.

Reducing the tag count helps here more than adding tags does. A cap of about seven means the decision of which tag to apply is instant, and the decision of where to look is equally short. Setups that grow past twenty tags spend the saved time on choosing between them.

The layout of the tools matters for the same reason. Where the folder view, the terminal and the assistant occupy one window, a Smart Folder result is already the input to the next command, and nothing has to be re-selected in a second application. For work that continues away from the desk, reading and continuing from an iPhone or iPad keeps the same state visible rather than starting a separate ad hoc system on the phone.

What to change first

Cap the tags at seven, give each one a state name with a clear ending, and move every tag decision into the save dialog. Then build one Smart Folder per tag so there is a reason to keep applying them. If the window switching between listing files and acting on them is what actually costs the time, look at Atriens and decide from there.

Frequently asked questions

Do Finder tags survive when a file is sent to someone else?

Usually not. Tags are extended attributes on the filesystem, so ZIP archives, exFAT drives, email attachments and browser uploads commonly drop them. iCloud Drive preserves them between devices on the same Apple ID, and behaviour with third party sync services varies. Anything the recipient must see belongs in the filename or the document itself.

How many tags is too many?

Around seven is a workable cap, matching the number of colours macOS provides, so each colour maps to one meaning and the full set fits in the sidebar. Past roughly twenty, choosing between tags starts costing more time than the tags save. A useful rule is to retire one tag before adding another.

Is there a way to search tags from the terminal?

Yes. mdfind "kMDItemUserTags == 'Needs reply'" queries the same Spotlight index Finder uses and prints one path per line, so results can be piped into other commands. Writing tags from a script is possible with the tag command, which is available through Homebrew.

Should tags replace folders entirely?

No. A file lives in exactly one folder, and that single location is what backups, sync and command line tools rely on. Tags add a second axis for information that changes over time, such as whether something is awaiting a reply. Values that never change for the life of the file belong in the folder path.

Back to all posts