
Almost every naming system a photographer invents works fine for about eight months, then quietly stops sorting in the right order and nobody notices until they are looking for a job from two years ago. The fix is not discipline. It is picking a format that a computer sorts correctly by accident. Here is that format, written out, with the mistakes that break it.
When you open a folder, a backup log, an FTP listing or a gallery upload queue, the software puts your files in order by comparing their names one character at a time, left to right. It looks at the first character of one name and the first character of the next. If those match it moves to the second character, and so on. It does not know that part of the name is a date, or a client, or a frame number. It is reading text.
Everything below comes from that single fact. If you want folders that fall into the right order without being told, you have to arrange the information so that a plain left to right text comparison happens to get it right. Get that wrong at the start and no amount of care later fixes it, because you end up fighting the sort on every job you shoot from then on.
So the name has three jobs, in this order: put the file in time order, say which job it belongs to, and say which frame it is. Three jobs, three fields, in that sequence. Anything else in a file name is decoration, and decoration is what makes systems collapse.
Write the date year first, then month, then day, each padded to its full width: 20260314. This is not a house style preference. It is the only ordering that sorts correctly, and the reason is the one from the last section. A text sort weighs the leftmost characters most heavily, so for character order to match time order, the most significant unit of time has to sit on the left. Year, then month, then day. That is exactly what the international date standard, ISO 8601, specifies, and it is why nearly every log file in the world timestamps that way.
It is easier to see than to argue about. Take three real jobs: an Alvarez wedding on March 14, 2026, a Chen portrait session on November 2, 2026, and a Bell wedding on January 5, 2027. Here is where each one lands in an alphabetical folder listing under each date format.
| Sorted with MM-DD-YYYY | Sorted with DD-MM-YYYY | Sorted with YYYYMMDD |
|---|---|---|
| 01-05-2027_bell | 02-11-2026_chen | 20260314_alvarez |
| 03-14-2026_alvarez | 05-01-2027_bell | 20261102_chen |
| 11-02-2026_chen | 14-03-2026_alvarez | 20270105_bell |
| Wrong. Next January leads the list, and every year is shuffled into every other. | Wrong. The order is close to random, because the day is doing the sorting. | Right. Character order is time order, permanently. |
The two wrong columns are not wrong because of anything you did. They are wrong because the most significant number is not on the left. And notice that both broken formats look completely fine when you have four jobs. They break silently, at volume, years later.
You can write the date as 20260314 or 2026-03-14. Both sort identically and correctly. I prefer no separators inside the date so the whole date reads as one solid token and the underscores stay meaningful as field dividers. Pick one and never mix them.
Here is the whole system, and it really is this short:
YYYYMMDD_client_shoottype_####.ext
Which gives you names like these:
Use the day the frame was shot, not the day you ingested it. It matters for anything that runs past midnight and for multi day events, where using the shoot date keeps a three day conference in the order it actually happened rather than collapsing it into one lump.
One token, lowercase, surname or business name only. No first names, no ampersands, no "and". The Alvarez wedding is alvarez, not maria-and-tom-alvarez. If you shoot two families with the same surname, add one initial: smith-j and smith-r. You do not need to worry about shooting the same client twice, because the date already separates those jobs.
This one has a rule that people skip and then regret: the value must come from a short fixed list you write down once. Mine is wedding, engagement, portrait, family, newborn, headshots, corporate, event, product, property, personal. Eleven words. The fixed list is the entire point, because the moment you type weddingday instead of wedding on a tired Sunday, every search you run afterward is quietly incomplete.
If someone else's frames land in the same job, give them their own field before the sequence: 20260314_alvarez_wedding_b_0001.cr3. You keep both cameras in one job folder, in one time order, while still being able to see at a glance whose frame is whose, which matters when you are checking coverage or paying someone. We go deeper on that handover in our guide to setting standards for second shooter photos.
Four digits, starting at 0001, renumbered across the whole job rather than carried over from the camera. Two bodies produce two sets of camera numbers that collide, and a card that rolls over from 9999 back to 0001 mid reception will do it at the worst possible moment. Renumbering at ingest solves both in one pass.
The zeros are not decoration. Without them, a folder of frames numbered 1 upward sorts as 1, then 10, then 100, then 1000, then 1001, and frame number 2 turns up more than a thousand rows further down the list. With four digits, 0001 through 0002 through 0010 through 0100 through 1000 sit in the order you expect, because every number now occupies the same number of character slots and the comparison stays honest.
The Finder on a Mac and File Explorer on Windows both use natural sorting, which is clever enough to read 2 and 10 as numbers and put them in the right order. So unpadded names look perfectly fine on your own desktop. The problem appears the first time the list is generated by something else: a backup report, a sync log, an upload queue, a script, a zip file a client opens on a different machine. Pad the numbers and you never have to know which tools are clever.
Four digits covers 9,999 frames, which is comfortably more than the 2,000 to 4,000 RAW frames a full wedding day typically produces. If you shoot multi day events with two bodies and genuinely pass ten thousand frames in one job, use five digits for everything. Consistency beats efficiency here. Never mix widths inside a library.
Every one of these looks harmless on the day you do it.
Notice the pattern. Nothing here is about being organized. Every single one is about whether a dumb text comparison, run by software you will never think about, arrives at the answer you meant.
A folder name is a file name, so it obeys everything above. The job folder is simply the file name minus the sequence:
The addition is inside the job folder, where alphabetical order and workflow order fight each other. Left alone, your stages sort as delivered, edits, picks, raw, which is precisely backwards. So number them:
Two digits again, because you will eventually want a stage between 01 and 02 and you will thank yourself for leaving room. If you want the fuller argument about hierarchy depth and where an archive should live, that is its own topic and we cover it in our photo folder structure guide and the broader RAW file management guide.
The renaming happens in the ingest tool, during the copy from card to drive, before any other application has seen the files. Photo Mechanic, Lightroom's import panel, and most ingest utilities all do templated renaming on copy. Set the template once, save it as a preset, and the naming stops being a decision you make and becomes something that happens to you. That step belongs in a fixed routine, which is why it sits at minute thirty of our first hour after the shoot checklist.
After that, treat names as final. A catalog stores the path and file name of every image it manages, so renaming files underneath Lightroom gives you a catalog full of question marks and an evening spent reconnecting folders. If a name genuinely has to change, change it from inside the catalog so the database follows along. And never rename a file a client has already downloaded, because their copy and your copy stop matching and every conversation after that gets harder.
The reason a name set at ingest is worth this much care is that it is the last time you get to choose. From that moment the same string travels through your backup workflow, your metadata, your gallery, your invoice and your archive. It is the one identifier every part of your business agrees on, from the card in the reader to the file you dig out four years later when a couple asks for a print, and it holds together across a whole shoot to delivery workflow.
This is also why it is worth checking what your other tools do to file names. Kepla is built on the opposite principle: it picks your best shots and marks them, and every original keeps the exact name you gave it, in the exact folder you put it in. The picking app for iPhone, iPad and Mac is still being built. The booking page is live and free today.
Date first in year month day order, then the client, then the shoot type, then a zero padded sequence number, all lowercase and joined with underscores. For example 20260314_alvarez_wedding_0001.cr3. It sorts chronologically in any piece of software, it survives being uploaded or scripted, and it tells you what a file is without opening it.
Because software sorts names by comparing characters from left to right, with no idea that any part of the name is a date. Putting the year first, then the month, then the day means character order and time order are the same thing. Any other arrangement sorts by whatever number happens to sit on the left, which is why day first and month first names shuffle years together.
Use both, for different jobs, and stay consistent. Underscores divide the fields of the name, and hyphens join words inside a single field, so you get 20260919_westbrook-studios_headshots_0112.nef. What matters far more than the choice is never mixing the two rules, and never using a space, which breaks gallery URLs and command lines.
Rename them. Camera numbering collides the moment you shoot two bodies or bring in a second shooter, and it rolls over from 9999 back to 0001 without warning. Renumbering the whole job from 0001 during ingest gives every frame one unique name for life. Do it in the ingest tool during the copy, before anything else opens the files.
It will if you rename them in the Finder or File Explorer, because the catalog stores each file's name and path and will show the images as missing. You can reconnect them, but it takes an evening. Rename from inside Lightroom instead, or better, rename during import so it only ever happens once and the catalog never sees the old name.
Four is right for almost everyone, since it covers 9,999 frames and a full wedding day typically runs 2,000 to 4,000 RAW frames. Use five if you regularly shoot multi day events with two bodies. The important part is the zero padding itself, because unpadded numbers sort 1, 10, 100, 2, and the same width everywhere keeps that from happening.
Kepla for Mac clears the obvious misses from a card, names the reason on every frame it sets aside, and leaves the choosing to you. Nothing is ever deleted, moved or renamed. Free through the private preview · the first hundred photographers keep it at $99 a year.