Guide

How to sort photos into folders by date on a Mac

Turn one enormous folder into a dated structure — built from the date each photo was taken, with the undated ones set aside rather than misfiled.

Most large photo folders were never designed — they accumulated. A card dumped here, a download there, an old drive merged in one afternoon, and eventually a single directory holding fifteen thousand files that no one wants to open.

The obvious fix is folders by date. The obvious tools mostly cannot build them, or build them from the wrong date. Here is what each option actually does.

What “by date” should mean

There is more than one date attached to every photo, and they disagree more often than you would expect.

The capture date is the one your camera wrote inside the file when the shutter fired. It never changes, no matter how many times the file is copied. The file dates — created and modified — describe this copy of this file on this disk, and they are rewritten by ordinary things: copying, syncing, a tool touching the file to write metadata.

Sort by file date and a folder called 2019/07 will fill up with photos taken in 2014 that happened to be copied in July 2019. It looks organised, and it is wrong in a way you may not notice for years. Everything below is about sorting by the capture date instead.

Why Finder and Apple Photos can’t do it

Finder sorts, filters and groups by date beautifully — but it will not move files into dated folders for you, and the dates it knows are the file’s own. There is no Finder action for “put each of these into a folder named after the month it was taken.”

Apple Photos organises brilliantly by date, and does it from the capture date. The catch is that it does so inside its library. The Moments and Years views are a database, not a folder structure — your Finder folders are unchanged, and if you are keeping an archive on a drive rather than living inside Photos, Photos cannot help you build it.

This is the gap that sends people to Apple’s own support forums, and it is why so many of those threads end without a real answer.

Automator and Hazel: real options, with real costs

Automator can move files, and can be driven from a Shortcut or a folder action. Getting the capture date out of each file and turning it into a folder name means scripting it — usually a shell step calling ExifTool. It works. It is also a program you now maintain, with no preview and no undo, operating on files you cannot easily put back.

Hazel is the serious answer in this category: a well-made Mac app that watches folders and files things by rules, capture date included. If you want an unattended rule that files photos forever as they arrive, Hazel is genuinely the right tool and this guide will not pretend otherwise.

The difference is the shape of the job. Hazel is built for a standing rule that runs continuously. Sorting an existing fifteen-thousand-file backlog once, seeing exactly what is about to happen, and being able to undo it, is a different job — and it is the one Archyv is built for.

Sorting a folder by date with a transfer template

In Archyv the sorting is done by File Transfer, driven by a template that holds every decision about the transfer in one place. One of the four built-in templates, Organized by Date, does exactly this job with no configuration.

You select the files, pick a destination, choose the template, and run it. Archyv reads each file’s metadata and files it into a dated folder structure underneath the destination.

Date is not the only axis available. A template’s folder mode can Organize by Metadata on date, photographer, camera, location, rating, or keyword — so “by year, then by photographer” is the same mechanism, not a different feature. If the built-ins do not match how you work, you save your own on the Transfer Templates tab and it becomes a single choice on every future run.

The other two folder modes are worth knowing, because picking the wrong one is the easiest mistake here. Flatten puts everything in one directory. Preserve Structure mirrors the source hierarchy at the destination — the right answer when the existing folders already mean something and you are only relocating them.

Copy or move — decide before you run

Every template is either a Copy or a Move, and this is the single most consequential setting on this page.

Copy leaves the originals exactly where they are and builds the new structure alongside. Move relocates them, so the source is emptied as it goes — which is what you want when you are clearing a card or freeing a drive, and emphatically not what you want when you are experimenting.

The built-ins are named for their intent: Quick Copy and Full Archive copy; Photo Import and Organized by Date are import-shaped. Check the mode on the template before you press Start. If you are unsure at all, use a Copy template — you can delete a duplicate structure afterwards in seconds, and you cannot as easily reconstruct a source folder you have just emptied.

Photos with no usable date

Every real archive has files with no capture date: scans, exports that lost their metadata, files from a camera whose clock was never set.

Older versions of Archyv fell back to the file’s modification date for those — which is precisely the failure described at the top of this guide, quietly filing an undated photo under whatever month the file was last touched. That was changed in Archyv 1.3.4: files with no usable date are now put in a clearly-named Unknown Date folder instead.

That is a small thing that matters a lot for an archive. A folder called Unknown Date holding forty files is a to-do item. Forty photos scattered into the wrong months are a corruption you will never find.

Building the structure first, if you want a specific one

Sometimes the shape of the destination matters more than the dates — a project layout you use every time, with the same named folders inside each one.

Folder Generation builds that structure ahead of the files: you set how many levels deep it goes and name each level, and the names you give the lower levels repeat inside every parent. It can also read the names from the first column of a CSV, which turns a spreadsheet of clients, sites or photographers into a folder apiece. Then File Transfer moves the files into the structure you have already built.

Two limits to know: an existing top-level folder of the same name is never overwritten, and the total path is capped at 260 characters, so deep hierarchies with long names will complain.

Check it before, verify it after

Two things worth doing on a run this size.

Preview it. Turning on Simulation Mode in General Settings performs the whole run without changing anything and writes every intended move to the log. On a fifteen-thousand-file reorganisation, reading that log first is a few minutes well spent.

Verify it, if it is an archive. A template’s verification level controls how hard Archyv checks that what arrived matches what left — up to a SHA256 checksum of every file. It is slower, and for a working transfer you would leave it off. For the copy that becomes your archive of record, it is the difference between believing the files arrived intact and knowing it.

Two details make the run itself safer: file metadata is preserved through a move or copy, and each file is transferred whole, so an interrupted run leaves no half-written files behind.


Next: the File Transfer reference covers every template setting in full, and Transfer Templates walks through building your own. If the filenames need fixing too, rename them from the capture date before you sort — the names and the folders will then agree.