2026-04-30 · 4 min read
Batch naming strategies that survive contact with real projects
How to name image files so they sort correctly, stay findable years later, and do useful work for search engines and clients.
Filenames are the most durable metadata an image has. EXIF gets stripped by upload pipelines, captions live in a database somewhere else, but the filename travels with the file through email, cloud storage and re-downloads. It is worth five minutes of thought.
Sort order is decided by padding
Computers sort strings, not numbers. Without padding you get photo-1, photo-10, photo-11, photo-2 — an order that is technically correct and practically useless.
Pad to a fixed digit count and the problem disappears: photo-001, photo-002, photo-010. Three digits covers a batch up to 999; use four if you are numbering an archive. This single decision prevents more downstream annoyance than any other naming habit.
Dates belong at the front, in ISO order
If files should sort chronologically, start with the date and write it as YYYY-MM-DD. It is the only common format that sorts correctly as text, and it is unambiguous internationally in a way that 03-04-2026 is not.
2026-04-30-harbour-shoot-003.jpg tells you when, what and which, and lands in the right place in any file listing.
Describe the content, not the marketing
For anything published on the web, the filename becomes part of the URL and is read by search engines. oak-dining-table-side-view.jpg is genuinely useful. img_4021.jpg is not. Neither is oak-dining-table-buy-online-cheap-furniture-store.jpg, which no search engine rewards and which looks like exactly what it is.
Two to five words, hyphen-separated, describing what is in the frame.
Hyphens, lowercase, no spaces
Hyphens separate words in URLs; underscores are treated as part of a word by some crawlers. Spaces become %20 and break in scripts. Mixed case creates files that collide on Windows and do not collide on Linux, which produces bugs that are miserable to diagnose.
Lowercase, hyphens, ASCII where the files are destined for the web.
Patterns for common jobs
Product catalogues: sku-1042-front, sku-1042-side, sku-1042-detail. The SKU groups everything, the angle is human-readable, and bulk upload templates can reference the names predictably.
Client deliveries: client-project-YYYY-MM-DD-001. Distinguishes deliveries from the same client months apart.
Web content: descriptive-topic-words with the dimensions appended if you export several sizes, such as harbour-sunset-1600x1067.
Collisions
Two files with the same name in one export is not a hypothetical: it happens whenever two cameras produce IMG_0001 or two products share an angle description. Any batch tool worth using should append a suffix rather than silently overwriting, and it is worth checking that yours does before you trust it with an archive.
Do it once, at the end
Rename as part of the export step, not by hand afterwards. Hand-renaming is where inconsistency creeps in — a missed digit, a stray capital — and it is exactly the sort of mechanical work a batch tool exists to remove.
Characters that cause trouble
Filenames travel through filesystems, web servers, ZIP archives and other people's operating systems. Each has its own intolerances.
- Spaces become
%20in URLs and require quoting in shell commands. Hyphens instead. - Slashes, colons, asterisks, question marks, quotes, pipes and angle brackets are illegal on at least one major filesystem. Windows rejects all of them.
- Leading and trailing dots confuse some tools; a leading dot hides the file on Unix systems.
- Reserved Windows names —
CON,PRN,AUX,NUL,COM1throughCOM9,LPT1throughLPT9— cannot be used as filenames at all, with or without an extension.con.jpgwill fail on Windows and nowhere else, which makes it a memorable bug to encounter. - Case collisions.
Photo.jpgandphoto.jpgare two files on Linux and one on Windows and macOS. A ZIP containing both will silently lose one when extracted on the wrong platform.
Non-Latin scripts and emoji are a different matter. Modern filesystems handle them correctly, and a photographer working in Japanese has every reason to name files in Japanese. The caution applies only to files destined for URLs, where percent-encoding makes them unreadable in a way that undermines the point of a descriptive name.
Length
Most filesystems allow 255 characters per name, but total path length is the real constraint — Windows historically capped at 260 characters for the full path, and deeply nested project folders reach that faster than people expect.
Keep names under about 60 characters. Anything longer is usually a description that belongs in metadata or a caption rather than a filename.
Renaming without breaking things
If files are already published, renaming breaks every link to them. A rename after publication needs a redirect, and in some content systems it needs a re-upload and a manual reference update.
This is the argument for getting names right before the first upload, which in practice means making renaming part of the export step rather than a cleanup task. It is one of the few decisions in an image workflow that is genuinely expensive to reverse.
A test for a naming scheme
A good scheme answers three questions without opening the file: what is this, when was it made, and where does it belong in a sequence. If you can look at a filename in six months and answer all three, it works.
2026-04-30-harbour-shoot-003.jpg passes. final_v2_FINAL_edited.jpg fails all three, and is depressingly common.