A Photo Naming System That Still Works in 10 Years

A Photo Naming System That Still Works in 10 Years

Most photo naming advice assumes you'll keep using the same software forever. Then Picasa shuts down, or you switch from Windows to Mac, or a service exports your library as a folder of 0001.jpg through 0043829.jpg, and every bit of organization you built inside that software evaporates.

Filenames are the layer that survives. They work in every operating system, every program, every decade. A well-named file is legible to a person and a computer, today and in 2045.

Here's a convention that holds up, and — more usefully — the reasoning behind each rule so you can adapt it.

The convention


YYYY-MM-DD-subject-detail-##.jpg

Real examples:


2024-05-18-emma-graduation-stage-01.jpg
2024-05-18-emma-graduation-family-group-03.jpg
1952-approx-mchugh-grandma-front-porch-01.jpg
2024-03-12-etsy-lavender-candle-white-bg-02.jpg
2023-11-04-house-roof-damage-northwest-corner-01.jpg

That's the whole system. The rest of this article is why each piece is there.

Rule 1: Date first, always YYYY-MM-DD

This is the most important rule, and it does more work than everything else combined.

Why date first: it makes alphabetical sorting and chronological sorting the same thing. Open any folder in any file browser, sort by name, and you get a timeline. No software required, no database, no metadata support needed.

Why YYYY-MM-DD specifically: it's the only date format that sorts correctly as text.

Consider the alternatives:

  • May-18-2024 sorts next to May-3-1997, because alphabetical sorting sees "May" first
  • 05-18-2024 sorts next to 05-18-1998
  • 18-05-2024 is ambiguous to half the world
  • 2024-05-18 sorts after 2024-04-30 and before 2024-06-01, correctly, everywhere

This format is also an international standard (ISO 8601), which means it's unambiguous regardless of where the person reading it lives. May 6 or June 5? 2024-05-06 has exactly one meaning.

When you don't know the exact date:


2024-05-emma-graduation-01.jpg          (know month, not day)
1952-approx-mchugh-porch-01.jpg          (rough year)
1940s-unknown-wedding-couple-01.jpg      (rough decade)

Approximate is dramatically better than blank. A photo dated 1950s sorts into roughly the right place forever. A photo with no date sorts nowhere.

Rule 2: Subject before detail, general before specific

After the date, work from broad to narrow.


2024-05-18-emma-graduation-stage-01.jpg
             ^^^^  ^^^^^^^^^^  ^^^^^
             who   what        which part

This ordering means that sorting by name groups related photos together automatically. All the graduation photos sit next to each other; within them, all the stage shots sit together.

If you reverse it — stage-graduation-emma — you scatter related files across the folder.

For a family archive, putting the surname branch first is often the right call:


1952-approx-mchugh-grandma-rose-porch-01.jpg
1948-approx-lafrance-wedding-church-01.jpg

Now a sorted folder separates your mother's side from your father's, which is exactly how a future relative will want to browse it.

For business photos, put the project or product first:


2024-03-12-lavender-candle-white-bg-01.jpg
2024-03-12-lavender-candle-lifestyle-02.jpg
2024-03-12-cedar-candle-white-bg-01.jpg

Rule 3: Hyphens, lowercase, nothing exotic

Use hyphens, not spaces. Spaces work fine on modern desktops and break in a dozen other places: web URLs, command lines, some backup tools, some older systems, some servers. Hyphens work everywhere and are just as readable.

Use lowercase. Some systems treat Photo.jpg and photo.jpg as different files; others treat them as the same. That inconsistency causes genuine problems when moving between Mac, Windows, and Linux, or when uploading to a web server. Lowercase sidesteps it entirely.

Never use these characters: / \ : * ? " < > | # — all of them are reserved or problematic somewhere. Also avoid accented characters and non-Latin scripts in filenames if the archive might travel, however unfair that is.

Avoid leading zeros in years but use them everywhere else. 2024-05-08, not 2024-5-8. Consistent digit counts are what make sorting reliable.

Rule 4: End with a sequence number


2024-05-18-emma-graduation-stage-01.jpg
2024-05-18-emma-graduation-stage-02.jpg
2024-05-18-emma-graduation-stage-03.jpg

Two digits minimum, three if you might exceed 99 in a group. 01 not 1, because 10 sorts before 2 otherwise.

This prevents name collisions when you have several shots of the same thing, and it keeps them in the order you took them.

Rule 5: Plain words, no codes

The temptation is to compress: 2024-05-18-EG-ST-F-01.jpg. Resist it.

You will not remember what EG meant. Neither will anyone else. The whole point of a filename is that it's human-readable without a legend.

Modern filesystems allow long names — 255 characters on most systems. Use them. 2024-05-18-emma-graduation-walking-across-stage-01.jpg is fine and infinitely more useful than a code.

The one real limit worth knowing: Windows historically had trouble with full paths over 260 characters. If you have deeply nested folders and very long filenames, you can hit it. Keeping names under about 60 characters avoids any issue.

Rule 6: Never encode information that changes

Don't put status in filenames.


2024-05-18-emma-graduation-FINAL.jpg
2024-05-18-emma-graduation-FINAL-v2.jpg
2024-05-18-emma-graduation-FINAL-REAL-USE-THIS.jpg

Everyone recognizes this and everyone does it anyway. The problem is that "final" is a status, and statuses change while filenames persist.

Version and status belong in folder structure, not filenames:


2024-05-18 Emma Graduation/
  originals/
  edited/
  delivered/

Same for anything else in flux: who has a copy, whether it's been posted, what needs redoing. Filenames should describe the content, which never changes.

What this system does not do

Be clear about the limits.

Filenames are not a substitute for metadata. Captions, GPS coordinates, camera information, and full descriptions belong in the file's embedded metadata. Filenames are the fallback layer — the thing that still tells you something when the metadata gets stripped by a platform or an export.

The strongest approach is both: a good filename and good embedded metadata. They fail in different circumstances, so having both means you're rarely left with nothing.

You will not name every photo. Nobody names 40,000 files by hand. This convention is for:

  • Scanned and inherited photos
  • Photos of genuine significance
  • Business and product photos
  • Anything you'll need to find deliberately rather than by browsing

For the everyday flood of phone photos, leave the camera's names alone and let the year/month folder structure and your photo app's search do the work. Camera-generated names like IMG_20240518_142233.jpg already contain a date, which is most of the value.

Renaming in bulk

When you do need to rename a lot of files at once, don't do it by hand.

Both major operating systems have built-in bulk rename. On Mac, select multiple files in Finder, right-click, and choose Rename — you get find-and-replace, add-text, and sequential numbering. On Windows, selecting files and pressing F2 gives you basic sequential renaming; more capable free tools exist for anything complex.

What to look for in a rename tool:

  • Insert date from the file's metadata. This is the big one — it can read each photo's actual capture date and put it at the front of the filename automatically. That single feature can convert a folder of IMG_4471.jpg into properly dated names in one operation.
  • Sequential numbering with configurable digit count
  • Find and replace within existing names
  • A preview before it commits

Always preview before renaming, and work on a copy the first few times. A bulk rename applied with the wrong pattern to three thousand files is a genuinely bad afternoon.

Applying it to an existing mess

You don't need to fix everything. Work in priority order and stop wherever you like:

  1. Scanned and inherited photos first. These have no useful metadata and no camera-generated names. Every one you name is a photo rescued from anonymity.
  2. Business and product photos next. These get searched deliberately and often, so naming pays back immediately.
  3. Significant personal events. Weddings, births, funerals, milestones. Maybe a few hundred photos across your whole life.
  4. Everything else: leave it. Let folders and metadata handle the bulk. Renaming 40,000 vacation snapshots is a project with almost no payoff.

The test

A good naming system passes this check: hand the drive to a relative who has never seen it, and can they find a specific photo without asking you anything?


1952-approx-mchugh-grandma-rose-front-porch-01.jpg

Someone who has never met you can tell that's from around 1952, that it's the McHugh side, that it's a woman named Rose on a porch. They can sort a folder by name and read your family's chronology.

That's the whole goal. Not tidiness — legibility, to someone who isn't you, at a time when you're not there to explain.


Next in this series: How to Share Photo Albums With Family Without Endless Group Texts