A while back I pulled a folder for a property I had inspected the previous spring. Four hundred and twelve files, IMG_3301 through IMG_3713, no subfolders. I knew I had shot the north gutter. I spent eleven minutes finding it. The homeowner was on the phone the whole time.
Organizing inspection photos is not filing. It is the difference between a record you can use and a pile you have to re-earn every time you open it.
Here is the standard I hold a folder to. Hand it to somebody who was not there, eighteen months after the visit, with no explanation from me. Can they tell what building this is, which wall each photo shows, and what order I walked it in?
If the answer is no, the photos are for me, not for anybody else, and photos that are only for me do not do the job I took them for.
Almost everything below is downstream of that one test.
A filename that does the work
The filename carries four things. When, where, what part of the building, and what in the sequence.
20260811_Ruiz412Oak_ELEV-N_GUTTER-DS_03.jpg
Date first, in year-month-day, with no separators. This is the whole reason to bother. Alphabetical sort and chronological sort become the same sort, on every device, in every program, forever. Write it 8-11-26 and you have made a folder that sorts by month across five different years.
Property identifier next. Surname plus street number and street name, no spaces. Two Smiths on your schedule this month is not a hypothetical.
Then the area code, then the subject, then a zero-padded sequence number. Pad it. Without padding, file 10 sorts before file 2, and the reading order of your carefully sequenced walk falls apart.
No spaces, no slashes, no colons. Slashes break paths outright, and dates written with them are the classic way people find that out. Underscores between fields, hyphens inside a field. That way you can split a filename on underscores and get four clean pieces back, which matters the day you want to bulk rename or hand a set to somebody's software.
The vocabulary is the whole trick
A naming scheme with a free-text field is not a naming scheme. The value comes from a fixed, small list of codes that you and everyone on your crew use identically.
Mine looks like this. Elevations are ELEV-N, ELEV-E, ELEV-S, ELEV-W. Roof slopes are ROOF-N and so on, plus ROOF-RIDGE, ROOF-VALLEY, ROOF-PEN for penetrations. Interior is INT- plus the room, so INT-KITCHEN, INT-HALL-UP. Then ATTIC, MECH, GRADE, GUTTER.
Subjects are equally short. SHINGLE, FLASH, BOOT, SOFFIT, FASCIA, DS for downspout, SILL, STAIN, METER.
Thirty codes covers most of what any of us shoot in a year. The list being short is a feature. Anything longer and people start inventing their own on a cold roof, which puts you right back where you started.
Write the list down once, tape it where the crew sees it, and change it never.
Folders, originals, and what nobody touches
Organizing inspection photos at the folder level is simpler than the filenames. One folder per address per visit, named with the same date-first convention. A second visit is a second folder, not more files dumped into the first. Merging visits is how you end up unable to say when something was true.
Inside that folder, originals go in and never come back out modified. No cropping, no rotating, no adjusting, no drawing arrows on the master file. If you need an annotated version, it is a copy in a subfolder, named the same with -MARKUP on the end. The unedited original is the thing that has any weight, and every edit you apply to it spends some of that.
A plain text file at the top of the folder earns its keep too. Date, address, who was on site, weather, which frame ranges cover what, and anything you looked at but could not access. Five lines. It is the fastest way to pass the eighteen-month test, because it tells the reader where to start.
If video is part of the visit, it lives in the same folder under the same convention, with the timestamps of anything worth finding written into that text file. A recorded walkthrough is only searchable if somebody noted where the useful parts are.
Never put a conclusion in a filename
ROOF-S_SHINGLE-CREASE_04 is a description. ROOF-S_HAIL-DAMAGE_04 is a conclusion, and it went into the record before anyone qualified had looked at it.
I do this for two reasons. The first is accuracy. Filenames get written on ladders with cold hands, and a guess baked into a filename outlives the guess by years and hardens into a fact nobody checks.
The second is that it is not my call. What a condition is, what caused it, what it is worth and whether anyone owes anything for it are questions for people with different licenses than mine. My filenames say where the camera was pointed and what is in the frame. Describing observed condition is squarely my job. Ruling on it is not.
The same restraint belongs in the text file. Neutral, factual, checkable.
Organizing inspection photos before the truck moves
Rename in the driveway. Ten minutes at the property while you still remember which wall was which, versus an hour on Friday guessing. Better still, build the convention into capture so the sequence you shoot is already the sequence you file, which is what the inspection photo checklist is really for.
Repair work is where this pays off most, since paired shots only stay paired if the names keep them adjacent, and the roof-specific area codes are worked through in roof inspection documentation.
Start with the naming pattern and the code list on your next job and run it exactly as written before you customize it. Organizing inspection photos gets easy the moment the decisions are already made and your only job on site is to follow them. There are more examples of how crews structure this across trades on the use cases page.
InspectStream records what an inspector observed. It is not a public adjusting service and does not prepare, negotiate, or advise on insurance claims.